If you have trouble when publishing the Flutter to App Store or Google Play
Following solutions could save your days
Issue 8: Deep link issue [Android]
Deep links not working
Users will not go directly to your app from links associated with this path, but will see the app picker or be directed to the web browser. Once you have fixed these issues and published a new version, users need to update their app before the links will work.
You can ignore this issue, it will not affect your application. If not, you can refer to the solution below. But please note that when you open your website on a mobile phone, it will open the app instead of the browser.
- Get your Digital Asset Links JSON on Google Play Console and put this content into a JSON file
assetlinks.json
(Recommend)
- Or create a JSON file
assetlinks.json
like the following example and replacepackage_name
andsha256_cert_fingerprints
with your one - If you are using Play App Signing, please find your SHA-256 key here on Google Play Console (Recommend)
- Or if you are Self-signing Your Application, please refer to this guide to get SHA-256 from your KeyStore file Authenticating Your Client | Google Play services | Google for Developers
[ { "relation": [ "delegate_permission/common.handle_all_urls" ], "target": { "namespace": "android_app", "package_name": "[your-bundle-id]", "sha256_cert_fingerprints": [ "[your-SHA-256]" ] } } ]
- Then upload and publish this JSON file to this location on your website
https://[your-website]/.well-known/assetlinks.json
. Please make sure Google can access this link without any restrictions and redirect
- Go to your Google Play Console again and press
Recheck verification
button
You can refer to Google document: Verify Android App Links | Android Developers
Issue 7: Android crash on Google Pre-Release report [Android]
Flutter app crashes on /lib/arm64 - couldn't find "libflutter.so"
If you're getting the error above from a pre-release report or any testing phrases, don't worry, you will still be able to fully publish your app.
This seems to be a bug from one of google's test virtual machines and is related to flutter because Flutter does not currently support building for x86 Android (source)
So, please ignore this error and continue to the production release.
You can refer to this issue from Flutter team
Android crash: Fatal Exception: java.lang.RuntimeException java.util.concurrent.ExecutionException: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/system/framework/android.test.runner.jar", zip file "/system/framework/org.apache.http.legacy.boot.jar"........
Updated Sep 1, 2024
Issue 6: Advertising ID declaration (gms.permission.AD_ID) [Android]
Because we use Firebase Analytics in the project so Google can reject the app with this issue
Solution: Set your app to use advertising ID.
Issue 5: Unicode App name issue
When using the release v3.3.0, there may have an issue with the App name if using a Unicode Character, for example, Arabic or Vietnamese language.
Solution: Update file android/app/src/main/AndroidManifest.xml
and replace ${appName} by your new App name
Issue 4: Why does the new version require Privacy [iOS]
Your app contains NSUserTrackingUsageDescription, which indicates that it has to request permission to track users. To update this information on your app's product page, you must indicate what types of data track users. If not, update your app binary file and upload a new build to App Store Connect.
Why does the new version require Privacy - Tracking Usage Description permission?
Solution/Answer
- This permission is require on latest iOS 14.x when submitting on Appstore, the FluxStore is using Google Mobile Ads that user for display Ads and require the this permission Ref: https://pub.dev/packages/google_mobile_ads
Solution 1: Update App Privacy
- Login to App Dashboard on Apple > Select App Privacy
- Update the Data Collection to Yes
- Update the Usage Data, enable the option Analytics
Solution 1.1: Update App Privacy
Follow the instructions in the image below:
Solution 2: Remove google_mobile_ads
google analytic and flutter_facebook_auth
- Comment or remove the google_mobile_ads - file pubspec.yaml
- Comment or remove the whole file lib/modules/advertisement/google_advertisement.dart
- Comment or remove the code as screenshot on file lib/modules/advertisement/advertisement_mixin.dart
- Similar for flutter_facebook_auth, search flutter_facebook_auth.dart and remove the
Issue 3: QUERY_ALL_PACKAGES permission and Data safety [Android]
If you get the warning from Google Play about the QUERY_ALL_PACKAGE policy issue
Solution:
To resolve this issue, please make sure that you're using our latest source code (version 3.10.5 or later) to build your application (apk or abb file).
Once you've done that, you'll need to create new releases to replace the old versions on Google Play. Don't forget to increase the version number of your app as well.
In addition, please double-check the other tracks Internal Testing, Closed Testing, and Open Testing (if one of them has the old version of your app). Deactivate any old versions that may be using QUERY_ALL_PACKAGES by creating a new release and uploading the latest file there, as shown in this image: https://take.ms/06VmB2
Issue 2: Invalid Data safety section [Android]
The FluxStore app content the advertisement feature
google_mobile_ads
Detail issue
Issue: Invalid Data safety section We reviewed your app's Data safety section in Play Console and found discrepancies between it and how the app collects and shares user data. All apps are required to complete an accurate Data safety section that discloses their data collection and sharing practices - this is a requirement even if your app does not collect any user data. We detected user data transmitted off device that you have not disclosed in your app's Data safety section as user data collected. Issue details We found an issue in the following area(s): Policy Declaration for Play Safety Label: Location Data Type - Precise Location Starting in February 2022, Data safety sections reviewed and approved will start appearing to users; make any changes needed by then. Starting April 2022, your app must be in compliance with this policy or app updates will be rejected. If your app continues to be non-compliant beyond April 2022 your app may face additional enforcement actions in the future. Please make changes to align your app's Data safety section with the app's behavior. This can be done by either: Updating your form in Play Console to declare collection of Data Types noted below; or Removing unwanted functionality and attributable code that collects this user data from your app or libraries used in your app, and when applicable to deactivate all non-compliant APKs. To deactivate non-compliant APKS, you can create a new release and upload a compliant APK to each track containing the non-compliant APKs. Be sure to increment the APK version code. If using staged rollout, be sure to set the release to 100% rollout.
Solution 1: Open Google Play Console
→ App content and Start the Data safety form
- Overview click next
- Answer the questions (then next):
- Does your app collect or share any of the required user data types? = yes
- Is all of the user data collected by your app encrypted in transit? = yes
- Do you provide a way for users to request that their data is deleted? = yes
- go to
Device or other IDs
/Precise location
and check it thennext
Precise Location
About the Data safety section in Google Play User Data policy
- check
Device or other IDs
/Precise location
and manage it
- answer the questions
- Is this data collected, shared, or both? = Collected
- Is this data processed ephemerally? = yes
- Is this data required for your app, or can users choose whether it's collected? = Users can choose whether this data is collected
- Why is this user data collected? = check
App functionality
- then save
- click next and save and app will review and approved by play store team
Examples screenshots
Solution 2: Remove the google_mobile_ads
library
- Comment
google_mobile_ads
from lib/pubspec.yaml
- Comment follow code from
lib/modules/advertisement/advertisement_mixin.dart
Issue 1: Invalid Meta Data
You app may be rejected by violations the App naming policies from Google Play Store.
① ALL CAPS although not part of brand name
② Special character sequences that are irrelevant to the app
③ Use of emojis, emoticons(including kaomojis), and special characters
④ Misleading symbol
⑤ Misleading text