Google Play Policy for Package Visibility for pre-android 11 - java

I read this link and this question here but there is something I don't understand.
I have this line of code in my app packageManager.getInstalledPackages(flag), However i'm not using the QUERY_ALL_PACKAGES permission which is understandable that I will not be able to receive the user installed packages, that's not an issue as of now for me. However, The first link stated that:
The inventory of installed apps queried from a device are regarded as personal and sensitive user data
So will using this method packageManager.getInstalledPackages(flag) consider a violation and cause my app to be removed from the play store?
Thanks for your time and input.

Using the following method
packageManager.getInstalledPackages(flag)
will not be considered as violations. However this in android 11 will only give you list of packages of open apps to user.

Related

If your app supports account creation, you must also offer account deletion within the Android app available on Play Store/Play Console?

If your app supports account creation, you must also offer account deletion within the app. Is it compulsory to provide account deletion option for Android Apps on Play Store/Play Console ?
I am sure that AppStore(Apple Store) makes its compulsory to provided account deletion option within the app.
I am not sure whether this applies for Google Play Console/Google Play Store.
Please suggest a link where I can clarify my doubt.
Searched for multiple google play console policies but didn't find any clue regarding this issue. Expecting a link to clarify my doubt.

Android permissions: asking options guide

I apologize in advance for my language and if this thread is a duplicate.
I would like to ask for a 'mini-guide' on android permission asking for 6.0+. The problem that I am personally having is some applications I recently released require permissions like internet and external storage. But the only way I could 'help' the user from going manually to settings -> app settings etc, is launching an intent on button press for the app setting page.
So what I am asking is:
For newest versions of Android (assuming it will work on most older versions too),
is there a way to:
Ask for every permission you need to be accepted before downloading on Play Store and then enabled by default?
Ask on first time app launch to give permanent permissions to app and on positive response, programmatically enable them?
Ask the user for a one-time, dynamic, TEMPORARY, permission request. For example, app1 does not have permission to write to an external storage. On button1 press, ask temporary permission to write to a file in the external storage. If the user clicks button1 again, permission will be asked again.
Again, apologies if this question has been asked before. I want to assure you I did a lot of research, and most of the answers I found didn't seem to work...
Thanks
1) I think its not possible to enable all permissions by default since its a major update in Android 6+ devices to enable users to control runtime permissions the app needed.
For 2 & 3)
For my project I have written a static java class to request android runtime permissions. You can use that if you want. You have to add other permissions as you need in the same pattern as described in the class.
I have provided the Github link below
Github

'Authentication is required. You must sign into your Google account' when testing IAB

I have been developing a simple game for android and I have run into a number of issues while using in app billing. To perform IAB, I use the utility classes provided in the TrivialDriveExample here. I have copied and modified accordingly the code in the MainActivity class provided in this example to use IAB. I have also followed the documents on the android developer page describing how to set up IAB on the developer console.
However, when trying to test the purchase the product in the app using the following code, I get the error described in the title of the question.
helper.launchPurchaseFlow(game.getActivity(), sku, RC_REQUEST, getPurchaseListener(game));
(where helper is an instance of the IabHelper class provided in the google code link above and RC_REQUEST is a constant set to 10001 as shown in the MainActivity in the trivial drive example, and where sku is the sku of the product - as seen in the developer console). Here, getPurchaseListener returns an instance of an IabHelper.OnIabPurchaseFinishedListener (provided in the util package of the example code).
What I am certain of:
The sku is correct and exactly the same as the one provided on the developer console.
The APK that has been uploaded to the developer console as alpha is identical to the one installed on the device (and is signed with my developer key not the debug key).
My account and all used testing accounts are in both the google group registered for alpha testing and the list of accounts that receive the LICENSED response from the developer console.
Every object used in the code != null
I can test Google Play game services on my app (achievements & leaderboards).
It is to do with the app I am developing as IAB works for other apps (tested with Clash of Clans and Infectanator).
What I have tried:
Removing my developer google account from my device, leaving only a test account (+waiting overnight without my developer account installed on my device and then testing it in the morning with my test account).
Clearing all google play data and caches.
Restarting my device/reinstalling the application.
I also get another error when trying to use android's test purchases (using the sku 'android.test.purchase'). I get this:
Error while retrieving information from server [DF-DFERH-01]
As mention above, I have cleared google play data, removed my account and added it again, restarted my device and reinstalled the app. Again, this happens only on my app currently in development and not in any other apps with IAB.
EDIT
Just to note, I have looked through other people's questions regarding this error and tried the solutions provided to no avail.
The application with IAB integrated has to be Published for Play Store to enable the billing for it, it won't work so long as it's in Draft -- documentation seems to not be very clear about this.
So, make sure you actually publish the app (don't worry, if you've only got the alpha and/or beta version, it won't be listed in Play Store for simple mortals) and, as usual, allow some time for Play Store to absorb it.
Same answer here

Updating android APK not via play store

First of all, I'm sorry I don't speak very good english. I have a thesis project to make android app similiar like logo quiz using java. Basicaly, I have to make the admin site of this app or make it updatable not via play store. I'm going to put the newest APK version in a website host. Does anyone here know how to make it work like that? Or maybe you have another idea to make the admin site? please tell me
The update also must be installed. The user will check is there any newest version. Then user will download it and the downloaded APK will be automaticaly installed
This is not easy to do. The only option you have is to write some server side code to let a client know what the latest version is. The client can trigger a local notification and alert the user that a new version is available.
Facebook managed to do what you're asking but I'm sure a lot of engineering effort went into it.
[EDIT]
Google has updated their policy to forbid dynamic updates.
“An app downloaded from Google Play may not modify, replace or update
its own APK binary code using any method other than Google Play's
update mechanism.”
FYI Without uploading on play store, user will never come to know about the updates of your app.
Or
There must be some kind of notification you should implement in your admin and send to your users using the app, and through that notification you should ask user to download updated APK from your web.

Android LVL Signature Verification Failed

I am trying to implement the APK Expansion Downloader Library into my application, but I am struggling to get past the LVL verification check.
Everytime I run up the application, I get a "Signature verification failed" message back from the LicenseValidator class. The application is signed in release mode, with a proper Keystore.
I have checked maybe 10+ times that the PUBLIC_KEY I am using inside of the application is the same as on the developer account, yet its still not working. I have also uploaded the application to the Play Store, with the expansion file (correctly named), and even added in my account as a Test account on the developer console. I have also tried adding the publisher account onto my device, and its still not working.
I do not know what to do next, I need this to work and cannot find any help on the internet as to how to fix this.
Thanks
Adam
you had several versions of file extansion? Because I had the same problem as the api sent me the name of an old file ... as a workaround in the verification code I just replaces the version number ... It's not terrible, but the bug does not come from me ...
Fixed. Via "Manage apps" I stopped the Google Play Store app, cleared its data (not the cache, which was zero bytes), then restarted my licensed app - licensing now works.

Categories

Resources