I have followed the link : How to include OpenGapps in AOSP 12 build?
With Above steps i am able to prebuild all GAPPS, but it is showing "Device is not Play Protect certified." so few of the google apps does not work like play store.
So, after registering the GSF ID at https://www.google.com/android/uncertified/, all google apps started to work. and play protect pop up is no longer seen.
So, my question is: is there any way to bypass the play protect error without registering the GSF ID.
is there any way to bypass the play protect error without registering the GSF ID.
Related
After generate signed APK (Release Version 1.0) ,i tried to test it in my phone but i get this message
Play Protect doesn't recognize this app's developer. Apps from unknown developers can sometimes be unsafe.
i don't know why i get it , i have released to many apps without problem, but in this one i get this message , i tried to create a new key-store also i tried to create a new project with different package name but i still facing the same issue.
How can i fix this?
I think it is just because you tried to install your app directly from APK, and the device or Play Protect can't verify your developer's ID. You can try to upload your apk to Google Play Store then install it from there to see if the problem still persists or not.
Google Play protect recognizes the developer from the signing key the app is signed with. You can learn more about App Signing here. Google Play protect gets this information from the key used to publish the App in Google Play.
Most new apps are enrolled in Google Play App Signing (Help article). You don't say whether yours is or not, but I suspect it is. That is a good thing - it lets Google Help you if you lose your signing key or it gets compromised.
To see what the experience will be for your users, the best thing to do is use an Internal Testing Track when you publish your app during development. The release process is almost instant. And it lets you get the exact same experience your users will get, as the app is downloaded from Google Play, signed with the same key, etc.
You can find more about Internal Test Tracks here.
This question already has answers here:
Is my app or its dependencies violating the Android Advertising Id policy?
(19 answers)
Closed 4 years ago.
I received this email a few weeks ago:
Issue: Violation of Usage of Android Advertising ID policy and section
4.8 of the Developer Distribution Agreement
Google Play requires developers to provide a valid privacy policy when
the app requests or handles sensitive user or device information.
We’ve identified that your app collects and transmits the Android
advertising identifier, which is subject to a privacy policy
requirement. If your app collects the Android advertising ID, you must
provide a valid privacy policy in both the designated field in the
Play Console, and from within the app.
But the problem is that I have no access to the source code of the affected app because my laptop was stolen a few months ago and I did not back up the code for that app. So I have a few questions I need to ask.
Can I update the policy in the console alone without updating the app?
Can I just disable the AdMob ads completely without updating the app and will it get accepted?
If the above is not possible then Is there a way to recover my app's source code from the google play console or APK files ?
What else can I do to solve this problem?
Can I update the policy in the console alone without updating the app?
You can simply update the privacy policy URL from the Google Play Console.
You need to mention clearly that you don't collect any personally identifiable data and also mention about other data which may be collected by 3rd party libraries.
Can I just disable the AdMob ads completely without updating the app and will it get accepted?
You can disable ads from Admob's website. But since the Ad SDK is already packed into your app, doing so will not approve your app.
If the above is not possible then Is there a way to recover my app's source code from the google play console or APK files ?
You cannot fully recover the source code. But if you hadn't used proguard to obfuscate the source code, you might be able to get some part of it by decompiling the APK. You can use a tool called JADX to decompile the APK file.
What else can I do to solve this problem?
Apart from updating app without ads and updating privacy policy URL, you can create another similar app from scratch with same package name and signature. But I guess you don't have access to the Keystore, in that case updating privacy policy is your only option.
Google's instructions here say that if you want to use AdMob in your Android app via Google Play services you must ensure the user's device has the Google Play services APK installed. However, I'm having terrible trouble trying to get this working; and I've noticed that even if I uninstall the Google Play services updates on my phone (and don't bother checking if the services is available) my app is still perfectly able to retrieve and display ads! This is despite errors in LogCat like the following:
W/GooglePlayServicesUtil(26558): Google Play services out of date. Requires 4132500 but found 3159130
Presumably my phone still has the original version of Google Play services installed when it came out the factory. I'm just wondering whether I really need to check for Google Play services being available to use AdMob successfully. Right now it appears not. Please can someone tell me why I should bother having to make this check. Is it to handle case 4 at that Google link I gave above...?
The Google Play services APK is missing or disabled on the device, which might happen if the user explicitly uninstalls or disables it.
TL;DR - You do NOT need to check for Google Play services to use the Mobile Ads APIs.
The Google Mobile Ads offering in Google Play services is unique from most (all?) of the other libraries in Google Play services in that it CAN work without the service APK installed on the device.
If the APK installed on the device is a more recent version, the library will load the classes from the APK service and use these newer classes to request ads. Otherwise, the version of Google Play services that you compile in your app is sufficient to fetch ads.
The benefit here is that you effectively will always run against the latest version of the library when the device has the service installed. And in the case that your service version is older than the version you compiled your app against (ex: your example above) or in the case where there is no service on the device (ex: Kindle Fire), the library compiled with your app can still do the ad fetching, but you'll still have to pull in updates manually.
The logcat error you are getting is for either case 2 or 3.
Whether Admob craps out on case 4 is interesting. I suspect it will be ok because the old Admob classes ship with the GPS library so in worse case it could fall back to using their pathway.
I observed some applications in play store are showing Allow Automatic Updating option with check box at the time of installation,some don't why? are there any settings or permissions to be added for this in manifest file or this is something available for preloaded apps or apps which has vendor/manufacturer certificate? What I have to do to get Allow Automatic Updating feature for my application on play store as a normal developer. Below Image showing what I am referring too. Any Suggestions please, Thanks In Advance.
[EDIT] just for Info
As a normal developer we can't implement this feature. The reason is android.permission.INSTALL_PACKAGES is just ignored by Android system unless your app is signed with manufacturer certificate. If your app is certified with manufacturer certificate then your app is treated as part of firmware and it is eligible for silent installation of any packages.
I've published an application on Google Play and it has "Allow Automatic Update" checkbox.
I did not do anything special to make it available. If you have a sample of the application, which is published on Google Play and does not have this checkbox, please, let me know, since I haven't seen such an application yet.
I have built an application that we will be selling to customers through the Google Play store.
We also have individuals in house that will support outside customers, and also use it in house. They need to have the application running on their own device. If I distribute it to them via an .apk file, can they receive updates via Google Play? Or do they have to purchase it through Google Play to receive updates?
Secondary question: Is there a better solution to distributing to internal users?
As curious myself and not having official info on this, I just did a test:
On Google Play I have an App at version 1.3.2
I've installed via ADB the version 1.3.0 on my device.
Opened Google Play > My Apps.
The update to version 1.3.2 was available.
Did the update
All seems to work normally.
So my word on this is: Yes they will receive the update (the app has to have the same signature of course).
Maybe you might just have a look on term of services if this isn't breaking any rules.
On the second question, the "better" solution may wary based on the company infrastructure which we don't know.
If the version on Google Play is identical to the version you distributed, signed with the same signature, and it is available as a free app, then Google Play can be used to update the version distributed outside of Google Play.
I received the following in an email from a member of the Google Play Team:
"The side-loaded apps used by your internal users will not receive updates from Google Play. You will need to provide them with the new APK in order for them to access the new features/functionality. This is working as intended to ensure that only users who have purchased a paid app will receive notifications and updates."
So: Paid for apps cannot be updated via Google Play if they are "side-loaded" (installed outside of Google Play).