B4A Library Library AppStorePlus. Easy access to app data from Google Play / Apple iTunes / Windows Phone Store

Hi all.
This Library is different about Library AppStore for many reason.
1) AppStorePlus ( this library ) you can reading information Play Store, Apple Store, Windows Store
2) Library AppStorePlus you can know for any app:
price, name, package, platform, version, versioncode, data release, bytes size, title, description, screenshot size and url, url movie, privacy policy url, Permission, Supported Devices, icon information and url, Star Rating, Average Rating, User Rating, information Development, etc..
3) This service you have light plan for month or you can buy this service. For information about your token and another information . CLICK HERE

This is library for easy access to app data from Google Play / Apple iTunes / Windows Phone Store

Is very simple:

AppStorePlus
Author:
Devil-App
Version: 1
  • appstoreplus
    Methods:
    • IsInitialized As Boolean
      Tests whether the object has been initialized.
    • Initialize (package_name As String, store As String, token As String, Module As Object, EventName As String) As String

      B4X:
      'Easy access to app data from Google Play / Apple iTunes / Windows Phone Store:
      'You have 3 parameters:
      'Initialize(package_name As String, astore As String, token As String, Me, "check_short")
      'package_name --> Play Store: "com.devil.app.antispy"  : AppStore: "6018" : WindowsPhoneStore "34343"
      'store -->
      '"gplay" if you want search this in Play Store
      '"itunes" if you want search this in AppStore
      '"winstore" if you want search in Windows Phone Store
      'Example:
      'Dim store As appstoreplus
      'Dim token As String = "e2fbecb6a52bd9acccc88eeb828b358ba8279326f32c98a7ed87631f5be339df"
      'Dim astore As String =  "gplay"
      'Dim istore As String = "itunes"
      'Dim wstore As String = "winstore"
      'store.Initialize("com.devil.app.antispy", astore , token, Me, "check_value")
      '.....
      'Sub check_value(valore As typeLevel)
      ' Log("Price: " & valore.price)
      ' Log("Currency: " & valore.currency)
      ' Log("Platform: " & valore.platform)
      ' Log("Name Pkg: " & valore.androidPackage)
      ' Log("Version: " & valore.versionstring)
      ' Log("Version Code: " & valore.versionCode)
      ' Log("Major Version Number: " & valore.majorVersionNumber)
      ' Log("Release Data: " & valore.releasedata)
      ' Log("Size App: " & valore.installationSyzeBytes)
      ' Log("Title App: " & valore.title)
      ' Log("Description: " & valore.description)
      ' Log("Share Url: " & valore.shareUrl)
      ' Log("Privacy Policy Url: " & valore.privacyPolicyUrl)
      '
      ' 'Permission App
      ' Dim p1 As Int
      ' For p1 = 0 To valore.permissions.Size - 1
      ' Log("Permission: " & valore.permissions.Get(p1))
      ' Next
      '
      ' 'SupportedDevicesTypes
      ' Dim d1 As Int
      ' For d1 = 0 To valore.supportedDevicesTypes.Size - 1
      ' Log("Supported Devices Types: " & valore.supportedDevicesTypes.Get(0))
      ' Next
      '
      ''Screenshots App
      'Dim s1 As Int
      'For s1 = 0 To valore.screenshots.Size - 1
      ' Log("Height: " & valore.img_height(s1))
      ' Log("Width: " & valore.img_width(s1))
      ' Log("Device Type: " & valore.img_deviceType(s1))
      ' Log("Img Url: " & valore.img_url(s1))
      'Next
      '
      ''Icons App
      'Dim i1 As Int
      'For i1 = 0 To valore.icons.Size - 1
      ' Log("Height Icons: " & valore.icon_height(s1))
      ' Log("Width Icons: " & valore.icon_width(s1))
      ' Log("Icons Url: " & valore.icon_url(s1))
      'Next
      '
      ''Video App
      ' Log("Video Height: " & valore.video_height)
      ' Log("Video Width: " & valore.video_width)
      ' Log("Video Preview: " & valore.video_preview)
      ' Log("Video Url: " & valore.video_url)
      '
      ' 'Star Retings
      ' Log("One Start: " & valore.oneStarRatings)
      ' Log("Two Star: " & valore.twoStarRatings)
      ' Log("Three Star : " & valore.threeStarRatings)
      ' Log("Four Star: " & valore.fourStarRatings)
      ' Log("Five Star: " & valore.fiveStarRatings)
      ' Log("User Rating Count: " & valore.userRatingCount)
      ' Log("Average User Rating: " & valore.averageUserRating)
      '
      ' 'Developer App
      ' Log("Dev. Badges: " & valore.develop_badges)
      ' Log("Dev. Email: " & valore.develop_email)
      ' Log("Dev. WebSite: " & valore.develop_website)
      ' Log("Dev. Name: " & valore.develop_name)
      'End Sub
      '******

      Screenshot 2015-07-31 15.34.17.png


      This is Result:

      Screenshot 2015-07-31 15.37.19.png



      **************
      FOR GET YOUR KEY, INFORMATION PRICE SERVICE AND ANOTHER INFORMATION ABOUT SERVICE YOU GO HERE

      **************

      LIBRARY
      - Unzip the attached file ( AppStorePlus-Lib.zip ) and copy AppStorePlus.jar and AppStorePlus.xml to the libraries folder
      - AppStorePlus-Example.zip is simple B4A
 

Attachments

  • AppStorePlus-Lib.zip
    7.7 KB · Views: 370
  • AppStorePlus-Example.zip
    9.5 KB · Views: 382
Last edited:

cambopad

Active Member
Licensed User
Longtime User
Wow! Awesome! I will surely try this very soon! Thanks for your hard work!
 

Peter van Hoof

Member
Licensed User
Longtime User
Is there a way to get the package_name from the app store? Is this library only intended to check on your own apps?

Peter
 

MarcoRome

Expert
Licensed User
Longtime User
Is there a way to get the package_name from the app store? Is this library only intended to check on your own apps?

Peter
Answer:
1) ' Log("Name Pkg: " & valore.androidPackage) ( look #1 Post )
2) No this library check all apps in Store. Read #1 Post.
 

Robert Valentino

Well-Known Member
Licensed User
Longtime User
When I try the example code I get this error:

B4X:
java.lang.NoClassDefFoundError: anywheresoftware.b4a.http.HttpClientWrapper
   at anywheresoftware.b4a.samples.httputils2.httputils2service._process_globals(httputils2service.java:137)
   at appstoreplus.example.main.initializeProcessGlobals(main.java:318)
   at appstoreplus.example.main.afterFirstLayout(main.java:98)
   at appstoreplus.example.main.access$000(main.java:17)
   at appstoreplus.example.main$WaitForLayout.run(main.java:80)
   at android.os.Handler.handleCallback(Handler.java:733)
   at android.os.Handler.dispatchMessage(Handler.java:95)
   at android.os.Looper.loop(Looper.java:146)
   at android.app.ActivityThread.main(ActivityThread.java:5598)
   at java.lang.reflect.Method.invokeNative(Native Method)
   at java.lang.reflect.Method.invoke(Method.java:515)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
   at dalvik.system.NativeStart.main(Native Method)

Using B4A 5.80

Bob
 

Robert Valentino

Well-Known Member
Licensed User
Longtime User
I added this
B4X:
  Dim job1 As HttpJob
  job1.Initialize("Job1", Me)

and added the OkHttp library and now get this

B4X:
Installing file.
PackageAdded: package:appstoreplus.example
java.lang.NoClassDefFoundError: anywheresoftware.b4a.http.HttpClientWrapper
   at anywheresoftware.b4a.samples.httputils2.httputils2service._process_globals(httputils2service.java:137)
   at appstoreplus.example.main.initializeProcessGlobals(main.java:318)
   at appstoreplus.example.main.afterFirstLayout(main.java:98)
   at appstoreplus.example.main.access$000(main.java:17)
   at appstoreplus.example.main$WaitForLayout.run(main.java:80)
   at android.os.Handler.handleCallback(Handler.java:733)
   at android.os.Handler.dispatchMessage(Handler.java:95)
   at android.os.Looper.loop(Looper.java:146)
   at android.app.ActivityThread.main(ActivityThread.java:5598)
   at java.lang.reflect.Method.invokeNative(Native Method)
   at java.lang.reflect.Method.invoke(Method.java:515)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
   at dalvik.system.NativeStart.main(Native Method)

Why do I always feel so lame when using OPC - I guess just old age

ON another note: Macro uses this
B4X:
'Dim token As String = "e2fbecb6a52bd9acccc88eeb828b358ba8279326f32c98a7ed87631f5be339df"

is the Token string my Google License / Billing Key?


BobVal
 

Robert Valentino

Well-Known Member
Licensed User
Longtime User
Yes that library works - but the site you point us to for getting a key cost too much (after the free 14 days) not making any money right now.

SO I will have to find another way to get this info (I only need the google play info)

Thanks

BobVal
 

MarcoRome

Expert
Licensed User
Longtime User
Yes that library works - but the site you point us to for getting a key cost too much (after the free 14 days) not making any money right now.

SO I will have to find another way to get this info (I only need the google play info)

Thanks

BobVal
Robert we have not understood. I explain better.
1 ) This link ( http://api.mevvy.com/ ) dont work, you can try in simple way in your browser. This lib take information cross this link. For this dont work, isnt problem about key.
2) If you need only get info about play store you can use another library THIS
Bye
Marco
 

Robert Valentino

Well-Known Member
Licensed User
Longtime User
Thanks.

But for some reason I cannot get to the api.mevvy.com
I can get to mevvy.com

So strange. Will keep trying.
 
Top