Im Manifest nicht hinzugefügt android.permission.READ_PHONE_STATE. Genehmigung.
Warum ein Fehler auftritt, wenn ich eine neue apk-Version hochlade, ist unten aufgeführt.
Ihre App hat eine apk mit Versionscode 1, die die folgenden Berechtigungen anfordert: android.permission.READ_PHONE_STATE. Für Apps, die diese Berechtigungen in einem APK verwenden, muss eine Datenschutzrichtlinie festgelegt sein.
Ich habe einen Screenshot meines Google Play Store-Kontos angehängt.
meine Manifestdatei.
<?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>
Antworten:
Die manifest.xml Ihrer App verfügt über diese Berechtigung, auf Informationen von Ihrem Gerät aus zuzugreifen, aber Sie haben beim Senden im Play Store keinen Link zu Datenschutzrichtlinien. Sie erhalten also diese Warnung.
Benötigen Sie Datenschutzbestimmungen für die App? Wenn Ihre App mit persönlichen oder sensiblen Benutzerdaten umgeht
Durch Hinzufügen einer Datenschutzrichtlinie zur Store-Liste Ihrer App erhalten Sie Transparenz darüber, wie Sie sensible Benutzer- und Gerätedaten behandeln.
****** Update
Die Einstellung der Datenschutzrichtlinie in Google Play Console hat den Speicherort geändert.
Wählen Sie in der Google Play Console
Store-Präsenz> App-Inhalt aus.
Unter "Datenschutzerklärung".
quelle
Versuchen Sie einfach, diese Zeile zu Ihrer Manifestdatei hinzuzufügen:
<uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" />
und fügen Sie
xmlns:tools="http://schemas.android.com/tools"
Ihrem<manifest>
Tag ein Attribut hinzu , um Namespace-Tools zu definierenAus der Dokumentation für
tools:node="remove"
:quelle
Die Abhängigkeiten, die Sie in Ihrem Projekt haben, fügen ihre eigenen Berechtigungen hinzu. Bitte gehen Sie wie folgt vor, um herauszufinden, woher "READ_PHONE_STATE" kommt.
quelle
Wenn du benutzt
React Native
Dieses Problem wurde hier vollständig gelöst
https://facebook.github.io/react-native/docs/removing-default-permissions
quelle
Sie müssen die
min
undtarget sdk
-Version in der Manifestdatei angeben .Wenn nicht,
android.permission.READ_PHONE_STATE
wird das beim Exportieren Ihrer APK-Datei automatisch hinzugefügt.<uses-sdk android:minSdkVersion="9" android:targetSdkVersion="19" />
quelle
Dies kann an einer Drittanbieter-Bibliothek liegen, die diese Berechtigung enthält. Aus meiner Erfahrung in diesem Bereich müssen Sie die Datenschutzrichtlinie zu diesen bestimmten Informationen hinzufügen. Wenn Sie in Ihrer App nach der Berechtigung für Konten fragen, müssen Sie dies deklarieren Mit Ihrer Datenschutzrichtlinie verwenden wir diese Daten, z. B. die E-Mail-Adresse oder was auch immer, mit Gründen, um sich bei Google Play anzumelden.
Kann das auch
<uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" />
Hoffe, dies wird Ihnen helfen, was Sie für diese Warnung tun können. Erstellen Sie Datenschutzrichtlinien für Ihre App und fügen Sie diese der Store-Liste bei .
quelle
Es ist eine Drittanbieter-Bibliothek. Sie können den Täter in finden
build/outputs/logs/manifest-merger-release-report.txt
quelle
Derzeit haben einige
12.0.0
Benutzer das gleiche Problem, da sie die Version von AdMob lib verwenden.Aktualisieren Sie es auf
12.0.1
. Dies sollte das Problem beheben. Sie können mehr lesen hierquelle
Wenn Sie Ihre App auf einem Gerät> Android 6.0 testen, müssen Sie den Benutzer auch ausdrücklich bitten, die Berechtigung zu erteilen.
Wie Sie hier sehen können ,
READ_PHONE_STATE
haben Sie ein gefährliches Niveau.Wenn eine Berechtigung eine gefährliche Stufe hat, muss der Benutzer diese Berechtigung manuell akzeptieren oder nicht. Sie haben keine andere Wahl haben, Sie muss dies tun
Führen Sie dazu in Ihrer Aktivität den folgenden Code aus:
Wenn der Benutzer Android M verwendet und die Berechtigung noch nicht erteilt hat, wird er danach gefragt.
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); }
dann überschreiben Sie
onRequestPermissionsResult
in Ihrer Aktivität@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 } } } }
Sie sollten diesen Artikel lesen , um mehr darüber zu erfahren
quelle
ODER
Hinzufügen
<uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" />
zu Ihrer Manifestdatei.
quelle
Verwenden Sie AdSense oder andere Anzeigen in Ihrer App oder möglicherweise Google Analytics? Ich denke, wenn Sie dies tun, wird dies von der Anzeigenbibliothek hinzugefügt, auch wenn Sie das android.permission.READ_PHONE_STATE nicht in Ihrem Manifest haben.
Es gibt kostenlose Vorlagen, mit denen Sie möglicherweise eine Datenschutzrichtlinie erstellen.
Dies ist die E-Mail, die ich von Google darüber erhalten habe:
quelle
Sie sollten die
android.permission.READ_PHONE_STATE
Erlaubnis fallen lassen . Fügen Sie dies Ihrer Manifestdatei hinzu:<uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" />
quelle
1.Sie müssen eine Datenschutzrichtlinie auf Ihrer Website erstellen und Ihre Datenschutzrichtlinie für die von Ihnen angeforderten Berechtigungen aktualisieren.
2. Aktualisieren Sie das neue SDK, entfernen Sie unerwünschte Berechtigungen und senden Sie die App erneut.
quelle
Ich habe diese kostenlose Website gefunden, die für Sie die Richtlinien erstellt UND sie hostet:
https://www.freeprivacypolicy.com/
Fügen Sie es dann zum Play Store unter "Store Listing" hinzu. Fügen Sie unten den öffentlichen Link für die Richtlinie hinzu, die Sie von https://www.freeprivacypolicy.com/ erhalten haben.
quelle
Möglicherweise müssen Sie Ihre Datenschutzrichtlinie hinzufügen oder aktualisieren. Mit dieser Vorlage können Sie ganz einfach eine Datenschutzrichtlinie erstellen
https://app-privacy-policy-generator.firebaseapp.com/
quelle
Update 2018:
Für AdMob-Benutzer führt dies zu AdMob Version 12.0.0 (derzeit letzte Version). Es wird fälschlicherweise die READ_PHONE_STATE-Berechtigung angefordert. Selbst wenn Ihre App im Manifest keine READ_PHONE_STATE-Berechtigung benötigt, können Sie Ihre App in der Google Play Console nicht aktualisieren (Sie werden aufgefordert, eine Datenschutzrichtlinie für Ihre App zu erstellen. weil Ihre App diese Erlaubnis benötigt).
Siehe hierzu: https://developers.google.com/android/guides/releases#march_20_2018_-_version_1200
Außerdem haben sie geschrieben, dass sie bald ein Update auf 12.0.1 veröffentlichen werden, um dies zu beheben.
quelle
Ich hatte das gleiche Problem und bekam den Fehler beim Hochladen von apk auf Google Play. Ich habe Anzeigen in meiner App verwendet und in meiner Manifestdatei wurde nicht einmal die Berechtigung READ_PHONE_STATE erwähnt. aber dennoch habe ich diesen Fehler bekommen. Dann ändere ich die Abhängigkeiten für Anzeigen in der Datei build.gradle. und dann löste es mein Problem. Sie haben dieses Problem in 12.0.1 gelöst.
compile 'com.google.android.gms:play-services-ads:12.0.1'
quelle
Wenn Sie Schritt für Schritt sehen, werden Sie verstehen
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; }
quelle
Wenn Sie das Paket device_id verwenden , um die eindeutige Geräte-ID abzurufen , wird
android.permission.READ_PHONE_STATE
ohne Ihr Wissen eine hinzugefügt, die schließlich zur Play Store-Warnung führt.Stattdessen können Sie das Paket device_info für denselben Zweck verwenden, ohne die zusätzliche Berechtigung zu benötigen. Überprüfen Sie diesen SO-Thread
quelle
Wenn Sie die Nachricht sorgfältig lesen, werden Sie feststellen, dass Sie die Berechtigungen wie Kamera, Mikrofon, Kontakte, Speicher und Telefon usw. verwenden und keine Datenschutzrichtlinie angeben. In diesem Fall müssen Sie eine Datenschutzrichtlinie angeben. Weitere Informationen zur Android-Datenschutzrichtlinie finden Sie auf Google
So fügen Sie die In-Play-Konsole für Datenschutzrichtlinien hinzu:
Suchen Sie alle Apps und wählen Sie sie aus .
Wählen Sie die Anwendung aus, zu der Sie Ihre Datenschutzrichtlinie hinzufügen möchten.
Suchen Sie die Richtlinie am Ende der Seite.
Klicken Sie auf App-Inhalt , um die Liste für Ihre App zu bearbeiten.
Suchen Sie das Feld mit der Bezeichnung Datenschutzrichtlinie und geben Sie die URL der Seite Ihrer Datenschutzrichtlinie ein
Klicken Sie auf Speichern und los geht's.
Hinweis: Sie benötigen eine öffentliche Webseite, um Ihre Datenschutzrichtlinie zu hosten. Der Google Play Store hostet die Richtlinie nicht für Sie.
quelle