Avertissements Votre Apk utilise des permissions nécessitant une politique de confidentialité: (android.permission.READ_PHONE_STATE)

En manifeste non ajouté android.permission.READ_PHONE_STATE. autorisation.

Pourquoi l’erreur vient quand je télécharge une nouvelle erreur de version apk ci-dessous.

Votre application a un apk avec le code de version 1 qui demande les permissions suivantes: android.permission.READ_PHONE_STATE. Les applications utilisant ces permissions dans un APK doivent disposer d’un ensemble de règles de confidentialité.

J’ai attaché une capture d’écran à mon compte Google Play Store. entrer la description de l'image ici

mon fichier manifeste.

               

Le fichier manifest.xml de votre application ayant la permission d’accéder aux informations de votre appareil, mais vous n’avez pas de lien de politique de confidentialité lors de la soumission sur le Play Store. alors vous obtenez cet avertissement.

Besoin de politique de confidentialité pour l’application Si votre application gère des données personnelles ou sensibles

L’ajout d’une politique de confidentialité à la liste des magasins de votre application consortingbue à assurer la transparence sur la manière dont vous traitez les données sensibles des utilisateurs et des appareils.

Essayez simplement d’append cette ligne à votre fichier manifeste:

  

De la documentation pour les tools:node="remove" :

Supprimez cet élément du manifeste fusionné. Bien qu’il semble que vous deviez simplement supprimer cet élément, cela est nécessaire lorsque vous découvrez un élément dont vous n’avez pas besoin dans votre manifeste fusionné, et que cet élément a été fourni par un fichier de manifeste de moindre priorité qui est hors de votre contrôle ( en tant que bibliothèque imscope).

Les dépendances que vous avez dans votre projet appendont leurs propres permissions. S’il vous plaît faire le ci-dessous pour trouver d’où “READ_PHONE_STATE” vient.

  1. Reconstruisez votre application Android
  2. Appuyez sur “Ctrl + Maj + F” dans le studio Android (faites essentiellement une recherche tout dans l’éditeur de votre choix).
  3. Recherchez “READ_PHONE_STATE”, vous trouverez l’entrée dans un fichier manifeste régénéré (pas celui que vous avez créé à l’origine). Par son chemin, vous pouvez savoir à partir de quelle dépendance l’autorisation est ajoutée. entrer la description de l'image ici

vous devez spécifier la version target sdk min et target sdk dans le fichier manifeste.
Sinon, android.permission.READ_PHONE_STATE sera ajouté automatiquement lors de l’exportation de votre fichier apk.

  

Actuellement, certaines personnes rencontrent le même problème en raison de l’utilisation de la version 12.0.0 AdMob.

Mettez-le à jour à 12.0.1 . Cela devrait le réparer. Vous pouvez en lire plus ici

C’est peut-être à cause d’une librairie tierce qui peut inclure cette permission de mon expérience dans ce domaine. Vous devez append la politique de confidentialité relative à cette information particulière si vous demandez l’autorisation d’obtenir des comptes dans votre application. Avec votre fichier de politique de confidentialité, nous utilisons ces données, c’est-à-dire une adresse e-mail ou autre pour des raisons de connexion à Google Play.

Aussi peut le faire

  

J’espère que cela vous guidera Ce que vous pouvez faire pour cet avertissement créer une politique de confidentialité pour votre application et la joindre à la liste des magasins .

Si vous testez votre application sur un appareil> Android 6.0, vous devez également demander explicitement à l’utilisateur d’accorder l’autorisation.

Comme vous pouvez le voir ici, READ_PHONE_STATE a un niveau dangereux.

Si une autorisation a un niveau dangereux, l’utilisateur doit accepter ou non cette autorisation manuellement. Vous n’avez pas le choix, vous devez le faire

Pour ce faire, à partir de votre activité, exécutez le code suivant:

si l’utilisateur utilise Android M et n’accorde pas la permission, il le demandera.

 public static final int READ_PHONE_STATE_PERMISSION = 100; if (Build.VERSION.SDK_INT > Build.VERSION_CODES.M && checkSelfPermission(Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) { requestPermissions(new Ssortingng[]{Manifest.permission.READ_PHONE_STATE}, READ_PHONE_STATE_PERMISSION); } 

puis écraser onRequestPermissionsResult dans votre activité

 @Override public void onRequestPermissionsResult(int requestCode, @NonNull Ssortingng[] permissions, @NonNull int[] grantResults) { switch (requestCode){ case READ_PHONE_STATE_PERMISSION: { if (grantResults[0] == PackageManager.PERMISSION_GRANTED){ //Permission granted do what you want from this point }else { //Permission denied, manage this usecase } } } } 

Vous devriez lire cet article pour en savoir plus

  1. Vous utilisez probablement PlayServices de la version 9.6.0. Ensuite, vous devriez le mettre à jour, c’est le bogue de la bibliothèque. Plus d’infos ici .

OU

  1. Ajouter

à votre fichier manifeste.

Utilisez-vous AdSense ou d’autres annonces dans votre application, ou peut-être Google Analytics? Je pense que si vous le faites, même si vous n’avez pas le fichier android.permission.READ_PHONE_STATE dans votre manifeste, cela est ajouté par la bibliothèque des annonces.

Il existe des modèles gratuits qui peuvent vous aider à créer une politique de confidentialité.

Voici le courriel que j’ai reçu de Google à ce sujet:

Bonjour Google Play Developer, Nos dossiers montrent que votre application, xxx, avec le nom de package xxx, viole actuellement notre politique de données utilisateur concernant les informations personnelles et sensibles. Problème de stratégie: Google Play exige que les développeurs fournissent une politique de confidentialité valide lorsque l’application demande ou gère des informations sensibles sur l’utilisateur ou l’appareil. Votre application demande des permissions sensibles (p. Ex. Appareil photo, microphone, comptes, contacts ou téléphone) ou des données utilisateur, mais n’inclut pas de politique de confidentialité valide. Action requirejse: inclure un lien vers une politique de confidentialité valide sur la page Store List de votre application et dans votre application. Vous pouvez trouver plus d’informations dans notre centre d’aide. Vous pouvez également vous désinscrire de cette exigence en supprimant toute demande d’permissions sensibles ou de données utilisateur. Si vous avez des applications supplémentaires dans votre catalogue, veuillez vous assurer qu’elles sont conformes à nos exigences de divulgation de premier plan. Veuillez résoudre ce problème avant le 15 mars 2017 ou des mesures administratives seront sockets pour limiter la visibilité de votre application, y compris la suppression du Play Store. Merci de nous aider à fournir une expérience claire et transparente aux utilisateurs de Google Play. Cordialement, L’équipe Google Play

Vous devez supprimer la permission android.permission.READ_PHONE_STATE . Ajoutez ceci à votre fichier manifeste:

  

Si vous utilisez React Native

Ce problème a été complètement résolu ici

https://facebook.github.io/react-native/docs/removing-default-permissions

1.Vous devez créer une page de politique de confidentialité sur votre site Web et mettre à jour votre politique de confidentialité pour les permissions que vous demandez.

2.Mettre à jour le nouveau SDK supprime les permissions non souhaitées et renvoie l’application.

J’ai trouvé ce site web gratuit qui fera de vous la politique ET l’héberger:

https://www.freeprivacypolicy.com/

Ensuite, ajoutez-le au magasin de jeux sous Liste de magasins – en bas, ajoutez le lien public pour la politique que vous avez obtenue depuis https://www.freeprivacypolicy.com/

Voir steb par étape et vous comprendrez

 public static Ssortingng getVideoTitle(Ssortingng youtubeVideoUrl) { Log.e(youtubeVideoUrl.toSsortingng() + " In GetVideoTitle Menu".toSsortingng() ,"hiii" ); try { if (youtubeVideoUrl != null) { URL embededURL = new URL("https://www.youtube.com/oembed?url=" + youtubeVideoUrl + "&format=json" ); Log.e(youtubeVideoUrl.toSsortingng() + " In EmbedJson Try Function ".toSsortingng() ,"hiii" ); Log.e(embededURL.toSsortingng() + " In EmbedJson Retrn value ".toSsortingng() ,"hiii" ); Log.e(new JSONObject(IOUtils.toSsortingng(embededURL)).getSsortingng("provider_name").toSsortingng() + " In EmbedJson Retrn value ".toSsortingng() ,"hiii" ); return new JSONObject(IOUtils.toSsortingng(embededURL)).getSsortingng("provider_name").toSsortingng(); } } catch (Exception e) { Log.e(" In catch Function ".toSsortingng() ,"hiii" ); e.printStackTrace(); } return null; } 

Mise à jour 2018:

Pour les utilisateurs AdMob, la version 12.0.0 d’AdMob (dernière version actuelle) est générée. Il demande à tort l’autorisation READ_PHONE_STATE. Même si votre application ne nécessite pas l’autorisation READ_PHONE_STATE dans le manifeste, vous ne pourrez pas mettre à jour votre application dans la console Google Play (cela vous demandera de créer une page de politique de confidentialité pour votre application). parce que votre application nécessite cette autorisation).

Voir ceci: https://developers.google.com/android/guides/releases#march_20_2018_-_version_1200

En outre, ils ont écrit qu’ils publieraient une mise à jour vers la version 12.0.1 en corrigeant cela bientôt.

Je faisais face au même problème et j’ai eu l’erreur lors du téléchargement apk sur Google play. J’ai utilisé des annonces dans mon application et je n’ai même pas mentionné l’autorisation READ_PHONE_STATE dans mon fichier manifeste. mais j’ai pourtant cette erreur. Ensuite, je change les dépendances pour les annonces dans le fichier build.gradle. et puis cela a résolu mon problème. Ils ont résolu ce problème dans 12.0.1.

 comstack 'com.google.android.gms:play-services-ads:12.0.1' 

C’est une bibliothèque tierce. Vous pouvez trouver le coupable dans build/outputs/logs/manifest-merger-release-report.txt