web-dev-qa-db-fra.com

Avertissements Votre Apk utilise des autorisations qui nécessitent une politique de confidentialité: (Android.permission.READ_PHONE_STATE)

Manifeste non ajouté Android.permission.READ_PHONE_STATE. autorisation.

Pourquoi une erreur survient-elle lorsque je télécharge une nouvelle erreur de version d'apk?.

Votre application a un apk avec le code de version 1 qui demande la/les permission (s) suivante (s): Android.permission.READ_PHONE_STATE. Les applications utilisant ces autorisations dans un APK doivent disposer d'un ensemble de règles de confidentialité.

J'ai joint une capture d'écran de mon compte Google Play Store. enter image description here

mon fichier manifeste.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
    package="com.my.package.name">

    <uses-permission Android:name="Android.permission.INTERNET" />

    <application
        Android:name=".utils.PreferenceManager"
        Android:allowBackup="true"
        Android:icon="@mipmap/ic_launcher"
        Android:label="@string/app_name"
        Android:largeHeap="true"
        Android:supportsRtl="true"
        Android:theme="@style/AppTheme">
        <activity
            Android:name=".SplashScreen"
            Android:screenOrientation="portrait">
            <intent-filter>
                <action Android:name="Android.intent.action.MAIN" />

                <category Android:name="Android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity
            Android:name=".MainActivity"
            Android:screenOrientation="portrait" />

        <activity
            Android:name=".CategoryListActivity"
            Android:screenOrientation="portrait" />
        <activity
            Android:name=".ImagesActivity"
            Android:screenOrientation="portrait" />

    </application>

</manifest>
67
Jiks

Le fichier manifest.xml de votre application ayant ces droits d'accès aux informations de votre appareil, mais vous ne disposez pas du lien de la politique de confidentialité lors de la soumission sur le Play Store. donc vous obtenez cet avertissement.

Besoin d'une politique de confidentialité pour l'application si votre application traite des données utilisateur personnelles ou sensibles

L'ajout d'une politique de confidentialité à la liste du magasin de votre application permet de fournir une transparence sur la manière dont vous traitez les données sensibles des utilisateurs et des appareils.

37
Deva

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

<uses-permission Android:name="Android.permission.READ_PHONE_STATE" tools:node="remove" />

et ajoutez l'attribut xmlns:tools="http://schemas.Android.com/tools" à votre balise <manifest> pour définir les outils d'espace de nom.

À partir de la documentation pour tools:node="remove":

Supprimez cet élément du manifeste fusionné. Bien que vous ayez plutôt l’impression que vous deviez plutôt supprimer cet élément, il est nécessaire de le faire lorsque vous découvrez un élément dont vous n’avez pas besoin dans votre manifeste fusionné et qui a été fourni par un fichier manifeste de priorité inférieure échappant à votre contrôle (tel que en tant que bibliothèque importée).

24
Radi

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

6
Mahdi Bashirpour

Les dépendances que vous avez dans votre projet ajouteront leurs propres autorisations. Veuillez faire ce qui suit pour trouver d'où "READ_PHONE_STATE" vient.

  1. Reconstruisez votre application Android
  2. Appuyez sur "Ctrl + Maj + F" dans Android studio (effectuez une recherche dans l'éditeur de votre choix).
  3. En recherchant "READ_PHONE_STATE", vous trouverez l'entrée dans un fichier manifeste régénéré (et non celui que vous avez créé à l'origine). Par son chemin, vous pouvez savoir à partir de quelle dépendance l’autorisation est ajoutée. enter image description here
5
Lalit Singh Rana

C’est peut-être à cause de toute bibliothèque tierce qui peut inclure cette autorisation, alors, de par mon expérience dans ce domaine, vous devez ajouter la politique de confidentialité relative à ces informations, cela signifie que si vous demandez l’autorisation d’obtenir un compte dans votre application, vous devez déclarer que avec votre fichier de politique de confidentialité, nous utilisons ces données, c’est-à-dire une adresse e-mail ou autre chose pour des raisons telles que la connexion à Google Play.

Aussi peut faire cela

<uses-permission Android:name="Android.permission.READ_PHONE_STATE" tools:node="remove" />

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.

4
Ajay Pandya

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

<uses-sdk
        Android:minSdkVersion="9"
        Android:targetSdkVersion="19" />
4
user3262030

Actuellement, certaines personnes sont confrontées au même problème en raison de l'utilisation de la version 12.0.0 de AdMob lib.

Mettez-le à jour en 12.0.1. Cela devrait résoudre le problème. Vous pouvez en lire plus ici

3
Parvesh

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 Android.permission.READ_PHONE_STATE dans votre manifeste, il est ajouté par la bibliothèque d'annonces.

Certains modèles gratuits peuvent vous aider à créer une politique de confidentialité.

Voici le courrier électronique que j'ai reçu de Google à ce sujet:

Bonjour développeur Google Play, Nos enregistrements montrent que votre application, xxx, portant le nom de package xxx, enfreint actuellement notre politique relative aux données de l'utilisateur concernant les informations personnelles et sensibles. Problème de stratégie: Google Play demande aux développeurs de fournir une stratégie de confidentialité valide lorsque l'application demande ou gère des informations confidentielles sur l'utilisateur ou le périphérique. Votre application demande des autorisations sensibles (par exemple, une caméra, un microphone, des comptes, des contacts ou un téléphone) ou des données utilisateur, mais n'inclut pas de stratégie de confidentialité valide. Action requise: incluez un lien vers une politique de confidentialité valide sur la page de liste des boutiques de votre application et dans celle-ci. Vous pouvez trouver plus d'informations dans notre centre d'aide. Vous pouvez également désactiver cette exigence en supprimant toute demande d'autorisation sensible ou de données utilisateur. Si vous avez d'autres applications dans votre catalogue, assurez-vous qu'elles sont conformes à nos exigences en matière de divulgation. Veuillez résoudre ce problème avant le 15 mars 2017, sinon des mesures administratives seront prises pour limiter la visibilité de votre application, pouvant aller jusqu'au retrait du Play Store. Merci de nous aider à fournir une expérience claire et transparente aux utilisateurs de Google Play. Cordialement, L'équipe Google Play

2
Sebastiano Tognacci

Vous devez abandonner l'autorisation Android.permission.READ_PHONE_STATE. Ajoutez ceci à votre fichier manifeste:

<uses-permission
    Android:name="Android.permission.READ_PHONE_STATE"
    tools:node="remove" />
2
GIRIRAJ NAGAR

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

Comme vous pouvez le voir iciREAD_PHONE_STATE a un niveau dangereux.

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

Pour faire cela depuis votre activité, exécutez le code suivant:

si l'utilisateur utilise Android M et n'a pas encore accordé l'autorisation, il vous 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 String[]{Manifest.permission.READ_PHONE_STATE}, READ_PHONE_STATE_PERMISSION);
        }

puis remplacez onRequestPermissionsResult dans votre activité

@Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] 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

2
agonist_
  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 .

OR

  1. Ajouter

    <uses-permission Android:name="Android.permission.READ_PHONE_STATE" tools:node="remove" />

dans votre fichier manifeste.

2
Alexander Marochko

J'ai trouvé ce site gratuit qui fera pour vous la politique ET l'hébergez:

https://www.freeprivacypolicy.com/

Ajoutez-le ensuite au Play Store sous Liste de magasins - en bas, ajoutez le lien public vers la politique que vous avez obtenue https://www.freeprivacypolicy.com/

1
Nimitack

Voir steb par étape et vous comprendrez

public static String getVideoTitle(String youtubeVideoUrl) {
        Log.e(youtubeVideoUrl.toString() + " In GetVideoTitle Menu".toString() ,"hiii" );
        try {

            if (youtubeVideoUrl != null) {
                URL embededURL = new URL("https://www.youtube.com/oembed?url=" +
                        youtubeVideoUrl + "&format=json"
                );
                Log.e(youtubeVideoUrl.toString() + " In EmbedJson Try Function ".toString() ,"hiii" );
                Log.e(embededURL.toString() + " In EmbedJson Retrn value ".toString() ,"hiii" );
                Log.e(new JSONObject(IOUtils.toString(embededURL)).getString("provider_name").toString() + " In EmbedJson Retrn value ".toString() ,"hiii" );

                return new JSONObject(IOUtils.toString(embededURL)).getString("provider_name").toString();
            }
        } catch (Exception e) {
            Log.e(" In catch Function ".toString() ,"hiii" );

            e.printStackTrace();
        }
        return null;
    }
1
Nilesh Varchand

1.Vous devez créer une page de politique de confidentialité sur votre site Web et mettre à jour votre politique de confidentialité pour les autorisations demandées.

2.Mettez à jour le nouveau SDK, supprimez les autorisations non souhaitées et soumettez à nouveau l'application.

1
Kin Patel

Je faisais face au même problème et j'ai eu l'erreur lors du téléchargement d'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 pourtant j'ai eu 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.

compile 'com.google.Android.gms:play-services-ads:12.0.1'
0
Aditya Vyas-Lakhan

Mise à jour 2018:

Pour les utilisateurs d'AdMob, cela entraîne la version 12.0.0 d'AdMob (actuellement la dernière version). Il demande à tort l’autorisation READ_PHONE_STATE. Ainsi, 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 (elle vous demandera de créer une page de règles 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_12

En outre, ils ont écrit qu'ils publieraient bientôt une mise à jour de la version 12.0.1.

0
BlackJack

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

0