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.
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>
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
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).
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
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.
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.
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" />
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
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
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" />
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
OR
Ajouter
<uses-permission Android:name="Android.permission.READ_PHONE_STATE" tools:node="remove" />
dans votre fichier manifeste.
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/
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.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.
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'
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.
C'est une bibliothèque tierce. Vous pouvez trouver le coupable dans build/outputs/logs/manifest-merger-release-report.txt