Google Play Store: Your app includes non compliant SDK version (com.stripe:stripe-android:10.4.6)
See original GitHub issueThe problem
Google’s Play Store now shows the following warning about my app and the included version of com.stripe:stripe-android:10.4.6.
Your app com.company.app version code 70 includes SDK com.stripe:stripe-android, 10.4.6 which facilitates the transmission or collection of personal and sensitive information. Such behavior must comply with Google Play’s Prominent Disclosure & Consent Requirements and applicable privacy policy requirements as described in the User Data policy. Starting from July 12, 2021 midnight (UTC), new app releases containing this SDK version that do not meet the Prominent Disclosure & Consent Requirements per the User Data policy will be rejected. You may consider upgrading to 16.9.0, which the SDK provider has recommended for use instead. Please consult the SDK provider for further information.
Environment
tipsi-stripe
version: 9.0.0
Issue Analytics
- State:
- Created 2 years ago
- Comments:5
Top GitHub Comments
Ok, so I finally managed to find a solution.
Once you have added the dependancy for stripe android 16.10.0 you will get errors about google play services at run time.
here are the steps we followed to resolve them:
Step 1 (optional). smash head on wall.
Step 2 (also optional). Cry for mommy.
Step 3. Go to https://developers.google.com/android/guides/google-services-plugin#introduction and follow the instructions.
Step 4. it still wont work. If you add the the dependancies for the google play services gradle plugin you will get a new error at build time. Something along the lines of "couldn’t find file “google-services.json”. This is progress. As it turns out, you need to register your app with firebase for google services to work correctly. This is pretty simple to do, its free and only took me about 5 minutes or less. However google does not make it obvious. Under the section of the above link called “troubleshooting”, there is a link to firebase where you can register your app and download your json file. I’m at a complete loss as to why a critical step is only to be found under “troubleshooting” as if they want you to suffer for your success first, but thats another discussion.
Step 5. Create you JSON file here: https://console.firebase.google.com/
Click on Add project and follow the steps. You will end up at a dashboard screen that very cryptically invites you add firebase to your app. Not a nice clear message like “click here to get the *^%&$ file you’ve been trying to find for hours and we didn’t bother to explain”. So click on the Android Icon in the middle of the main dashboard screen. That will open the process to generate your google-services.json and give you the rest of the instructions you need except one.
Step 6. In our case, when we created the json file it prompted us to enter the package name like this “com.companyname.appname”. However this resulted in a very consistent build time error of “package not found for “com.appname””. So in the end we had to change the package name in our json file to ‘com.appname’ from ‘com.companyname.appname’ and then it worked perfectly. After running the build it went to the play store no problem and ran on the test device without any problems. (ok, without the play services issues. we still have bugs lol)
Hope this long winded slightly cynical and hopefully mildly comical explanation helps!
I encountered this issue on tuesday, and the dirrect solution is to explicitly declare that package as a dependancy in you app/build.gradle:
implementation 'com.stripe:stripe-android:16.10.0'
However that results in a bunch of very cryptic runtime errors that we are still working to resolve that relate to google play services dependancies that are required seemingly by stripe-android:16.10.0. Very irritatingly these missing dependancies don’t cause a build failure, but the app will crash at runtime. I’ll update this when I find a fix to the playservices stuff.