web-dev-qa-db-ja.com

あなたのAPKがプライバシーポリシーを必要とするアクセス許可を使用しているという警告:(Android.permission.READ_PHONE_STATE)

マニフェストではAndroid.permission.READ_PHONE_STATEは追加されていません。許可。

私は新しいapkバージョンのエラーをアップロードするときエラーがなぜ下に来るのですか。

あなたのアプリには、Android.permission.READ_PHONE_STATEの許可を要求するバージョンコード1のapkがあります。 APKでこれらの権限を使用するアプリには、プライバシーポリシーを設定する必要があります。

Google Playストアアカウントのスクリーンショットを添付しました。 enter image description here

私のマニフェストファイル.

<?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>
65
Jiks

あなたのアプリのmanifest.xmlはあなたのデバイスから情報にアクセスするためのこれらの許可を持っていますが、Playストアに送信している間あなたはプライバシーポリシーのリンクを持っていません。だからあなたはこの警告を受けます。

アプリが個人情報または機密ユーザーデータを処理する場合は、そのアプリのプライバシーポリシーが必要です

アプリのストアリストにプライバシーポリシーを追加すると、機密ユーザーとデバイスのデータをどのように扱うかについて透明性を持たせることができます。

37
Deva

マニフェストファイルに次の行を追加してください。

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

そしてxmlns:tools="http://schemas.Android.com/tools"タグに属性<manifest>を追加して名前空間ツールを定義します。

tools:node="remove"ドキュメント から:

マージされたマニフェストからこの要素を削除してください。代わりにこの要素を削除するだけのようですが、マージされたマニフェストで不要な要素が見つかった場合はこれを使用する必要があります。インポートされたライブラリとして).

24
Radi

React Nativeを使うなら

この問題はここで完全に解決されました

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

6

あなたがあなたのプロジェクトに持っている依存関係は、それら自身の許可を追加するでしょう。 「READ_PHONE_STATE」がどこから来ているのかを見つけるには、以下を実行してください。

  1. Androidアプリケーションを再構築する
  2. Androidスタジオで "Ctrl + Shift + F"を押します(基本的にあなたの好みのエディタで全て検索します)。
  3. "READ_PHONE_STATE"を検索すると、再生成されたマニフェストファイル(最初に作成したものではありません)でエントリが見つかります。そのパスによって、どの依存関係からパーミッションが追加されているのかを知ることができます。 enter image description here
5

マニフェストファイルでmintarget sdkのバージョンを指定する必要があります。
そうでない場合、あなたのapkファイルをエクスポートする際にAndroid.permission.READ_PHONE_STATEが自動的に追加されます。

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

現在、AdMob libの12.0.0バージョンを使用しているため、同じ問題に直面している人がいます。

それを12.0.1に更新します。これで解決するはずです。もっと読むことができます ここ

3
Parvesh

それはこの分野での私の経験からその許可を含むかもしれない第三者libのためかもしれませんあなたがそれを宣言する必要があるよりあなたがあなたのアプリでアカウントの取得許可を求める場合あなたのプライバシーポリシーファイルでは、Google Playゲームにログインするのが好きな理由でそのデータ、すなわちEメールアドレスなどを使用します。

これもできます

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

この警告であなたができることを願っていますアプリのプライバシーポリシーを作成し、ストアの一覧に添付してください

3
Ajay Pandya

アプリでAdSenseや他の広告を使用していますか。それともGoogle Analyticsですか。マニフェストにAndroid.permission.READ_PHONE_STATEがなくても、広告ライブラリによって追加されると思います。

あなたがプライバシーポリシーを作成するのを助けるかもしれない無料のテンプレートがあります。

これは私がそれについてGoogleから受け取ったEメールです:

Google Play Developerさん、こんにちはの記録によると、パッケージ名xxxのあなたのアプリxxxは、現在、個人情報および機密情報に関するユーザーデータポリシーに違反しています。ポリシーの問題:Google Playでは、アプリが機密ユーザーまたはデバイス情報を要求または処理するときに、開発者に有効なプライバシーポリシーを提供する必要があります。あなたのアプリは機密性の高い許可(カメラ、マイク、アカウント、連絡先、電話など)またはユーザーデータを要求しますが、有効なプライバシーポリシーは含まれていません。必要なアクション:アプリの[Store Listing]ページおよびアプリ内に有効なプライバシーポリシーへのリンクを含めます。あなたは私たちのヘルプセンターでより多くの情報を見つけることができます。あるいは、機密アクセス権またはユーザーデータに対する要求を削除することで、この要件を除外することもできます。カタログに追加のアプリがある場合は、それらが当社の著名な開示要件に準拠していることを確認してください。 2017年3月15日までにこの問題を解決してください。そうしないと、Playストアからの削除までを含めて、アプリの可視性を制限するための管理上の措置が取られます。 Google Playユーザーに明確で透明なエクスペリエンスを提供していただきありがとうございます。よろしく、Google Playチーム

2

Android.permission.READ_PHONE_STATE権限を削除する必要があります。これをマニフェストファイルに追加します。

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

Android 6.0以上のデバイスでアプリをテストしている場合は、明示的にユーザーに許可を与えるように依頼する必要があります。

ご覧のとおり ここREAD_PHONE_STATEには危険なレベルがあります。

許可に危険なレベルがある場合、ユーザーはこの許可を手動で受け入れるかどうかを指定する必要があります。あなたには選択肢がありません、あなたは必ずこれをしてください

あなたの活動からこれを行うには、次のコードを実行します。

ユーザーがAndroid Mを使用していて、まだ許可を与えていない場合は、要求します。

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);
        }

それからあなたの活動の中でonRequestPermissionsResultをオーバーライドしてください

@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
                }
            }
        }
    }

あなたはそれについての詳細を知るために この記事 を読むべきです

2
agonist_
  1. おそらくあなたはバージョン9.6.0のPlayServicesを使っています。それを更新する必要があります、それはライブラリのバグです。詳しい情報 はこちら

OR

  1. 追加する

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

あなたのマニフェストファイルに。

2

私はあなたに方針を作り、それを主催するこの無料のウェブサイトを見つけました:

https://www.freeprivacypolicy.com/

それからストアリストの下のPlayストアにそれを追加してください - 一番下にあなたが得たポリシーのパブリックリンクを追加してください。 https://www.freeprivacypolicy.com/

1
Nimitack

Step by stepを見ればわかるでしょう

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.あなたのウェブサイトにプライバシーポリシーページを作成し、あなたが求めている許可のためにあなたのプライバシーポリシーを更新する必要があります。

2.新しいSDKを更新して、不要な権限を削除してアプリを再送信します。

1
Kin Patel

私は同じ問題に直面していたし、Google Playにapkをアップロード中にエラーが発生しました。私は自分のアプリで広告を使用しましたが、マニフェストファイルにREAD_PHONE_STATE権限も記載されていませんでした。しかし、まだ私はこのエラーを得ました。それから私はbuild.gradleファイルの広告の依存関係を変更します。それからそれは私の問題を解決しました。彼らは12.0.1でこの問題を解決しました。

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

2018年更新日:

AdMobユーザーの場合、これによりAdMobバージョン12.0.0(現在の最後のバージョン)が発生します。誤ってREAD_PHONE_STATE権限を要求しているため、マニフェストでREAD_PHONE_STATE権限が必要でない場合でも、Google Playコンソールでアプリを更新することはできません(アプリのプライバシーポリシーページを作成するように指示されます)。アプリにはこの権限が必要です。

これを参照してください。 https://developers.google.com/Android/guides/releases#march_20_2018_-_version_1200

また、彼らは12.0.1へのアップデートを発行し、これを直ぐに修正すると書いています。

0
BlackJack

それは第三者の図書館です。あなたはbuild/outputs/logs/manifest-merger-release-report.txtに犯人を見つけることができます

0