it-swarm.asia

تحذيرات Apk تستخدم أذونات تتطلب سياسة خصوصية: (Android.permission.READ_PHONE_STATE)

في البيان لم تتم إضافة Android.permission.READ_PHONE_STATE. الإذن.

لماذا يأتي الخطأ عندما أقوم بتحميل خطأ في إصدار apk جديد أدناه.

يحتوي تطبيقك على apk مع رمز الإصدار 1 الذي يطلب الإذن (المرات) التالية: Android.permission.READ_PHONE_STATE. يجب أن تحتوي التطبيقات التي تستخدم هذه الأذونات في APK على مجموعة سياسة خصوصية.

لقد أرفقت الشاشة بالرصاص حساب google Play Store.  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>
64
Jiks

لدى manifest.xml تطبيقك هذه الإذن للوصول إلى المعلومات من جهازك ولكن ليس لديك رابط سياسة الخصوصية أثناء الإرسال في متجر Play. حتى تحصل على هذا التحذير.

تحتاج إلى سياسة الخصوصية للتطبيق إذا كان تطبيقك يتعامل مع بيانات المستخدم الشخصية أو الحساسة

تساعد إضافة سياسة خصوصية في قائمة متاجر التطبيق على توفير شفافية حول كيفية تعاملك مع بيانات المستخدم والجهاز الحساسة.

36
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
Mahdi Bashirpour

ستضيف التبعيات الموجودة لديك في مشروعك أذوناتها الخاصة. الرجاء تنفيذ ما يلي للعثور على من أين "READ_PHONE_STATE" قادم.

  1. إعادة بناء تطبيق Android الخاص بك
  2. اضغط على "Ctrl + Shift + F" في استوديو Android (قم بالبحث بشكل أساسي في محرر تفضيلاتك).
  3. ابحث عن "READ_PHONE_STATE" ، ستجد الإدخال في ملف بيان مجدد (وليس الملف الذي أنشأته في الأصل). من خلال ذلك يمكنك أن تعرف ، من أي التبعية يتم إضافة الإذن.  enter image description here
5
Lalit Singh Rana

تحتاج إلى تحديد الإصدار min و target sdk في ملف البيان.
إذا لم يكن الأمر كذلك ، فسيتم إضافة Android.permission.READ_PHONE_STATE تلقائيًا أثناء تصدير ملف apk.

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

يواجه بعض الأشخاص حاليًا نفس المشكلة بسبب استخدام 12.0.0 إصدار AdMob lib.

قم بتحديثه إلى 12.0.1. هذا ينبغي اصلاحها. يمكنك قراءة المزيد هنا

3
Parvesh

قد يكون السبب في ذلك هو وجود أي ترخيص تابع لجهة خارجية والذي قد يتضمن هذا التصريح ، وذلك من خلال تجربتي في هذا الحقل ، يجب عليك إضافة سياسة الخصوصية المتعلقة بهذه المعلومات المعينة ، فهذا يعني إذا طلبت الحصول على إذن حسابات في تطبيقك مما يجب عليك الإعلان عنه. باستخدام ملف سياسة الخصوصية الخاص بك ، نستخدم تلك البيانات ، أي عنوان البريد الإلكتروني أو أيًا كان لأسباب تتعلق بتسجيل الدخول في لعبة google play.

كما يمكن القيام بذلك

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

نأمل أن يرشدك هذا ما يمكنك القيام به لهذا التحذير قم بإنشاء سياسة خصوصية لتطبيقك وإرفاقه بقائمة المتاجر .

3
Ajay Pandya

هل تستخدم AdSense أو إعلانات أخرى في تطبيقك ، أو ربما Google Analytics؟ أعتقد أنه إذا قمت بذلك ، حتى لو لم يكن لديك Android.permission.READ_PHONE_STATE في بيانك ، فسيتم إضافته بواسطة مكتبة الإعلانات.

هناك قوالب مجانية قد تساعدك في إنشاء سياسة خصوصية.

هذه هي الرسالة الإلكترونية التي تلقيتها من Google حول هذا الموضوع:

مرحبًا ، Google Play Developer ، توضح سجلاتنا أن تطبيقك ، xxx ، مع اسم الحزمة xxx ، ينتهك حاليًا سياسة بيانات المستخدم الخاصة بنا فيما يتعلق بالمعلومات الشخصية والحساسة. مشكلة السياسة: يتطلب Google Play من المطورين توفير سياسة خصوصية صالحة عندما يطلب التطبيق أو يتعامل مع معلومات المستخدم أو الجهاز الحساسة. يطلب تطبيقك أذونات حساسة (مثل الكاميرا أو الميكروفون أو الحسابات أو جهات الاتصال أو الهاتف) أو بيانات المستخدم ، ولكنه لا يتضمن سياسة خصوصية صالحة. الإجراء المطلوب: قم بتضمين رابط لسياسة خصوصية صالحة في صفحة "سرد المتجر" في تطبيقك وداخل تطبيقك. يمكنك العثور على مزيد من المعلومات في مركز المساعدة الخاص بنا. بدلاً من ذلك ، يمكنك إلغاء الاشتراك في هذا المطلب عن طريق إزالة أي طلبات للحصول على أذونات حساسة أو بيانات المستخدم. إذا كان لديك تطبيقات إضافية في الكتالوج ، فيرجى التأكد من أنها متوافقة مع متطلبات الإفصاح البارز. يرجى حل هذه المشكلة بحلول 15 مارس 2017 ، أو سيتم اتخاذ إجراء إداري لتقييد رؤية تطبيقك ، بما في ذلك إزالته من متجر Play. شكرًا لمساعدتنا في تقديم تجربة واضحة وشفافة لمستخدمي Google Play. التحيات ، فريق Google Play

2
Sebastiano Tognacci

يجب إسقاط إذن 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. ربما كنت تستخدم PlayServices من الإصدار 9.6.0. ثم يجب عليك تحديثه ، إنه خطأ في المكتبة. مزيد من المعلومات هنا .

OR

  1. إضافة

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

إلى ملف البيان الخاص بك.

2
Alexander Marochko

لقد وجدت هذا الموقع المجاني الذي سيجعل لك السياسة واستضافته:

https://www.freeprivacypolicy.com/

ثم أضفه إلى متجر Play ضمن قائمة Store - في الجزء السفلي ، أضف الرابط العام للسياسة التي حصلت عليها من https://www.freeprivacypolicy.com/

1
Nimitack

رؤية خطوة بخطوة وسوف تفهم

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.Update SDK الجديد إزالة الأذونات غير المرغوب فيها وإعادة إرسال التطبيق.

1
Kin Patel

كنت أواجه نفس المشكلة وحصلت على الخطأ أثناء تحميل apk إلى Google play. استخدمت الإعلانات في تطبيقي ، ولم أذكر إذن إذن READ_PHONE_STATE في ملف البيان. ولكن حتى الآن حصلت على هذا الخطأ. ثم أقوم بتغيير التبعيات للإعلانات في ملف build.gradle. وبعد ذلك حل مشكلتي. لقد حلوا هذه المشكلة في 12.0.1.

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

2018 تحديث:

لمستخدمي AdMob ، يؤدي هذا إلى إصدار AdMob 12.0.0 (الإصدار الأخير حاليًا). يطلب عن طريق الخطأ إذن READ_PHONE_STATE ، لذلك حتى إذا كان التطبيق الخاص بك لا يحتاج إلى إذن READ_PHONE_STATE في البيان ، فلن تكون قادرًا على تحديث تطبيقك في Google Play Console (سيخبرك بإنشاء صفحة سياسة خصوصية لتطبيقك ، لأن تطبيقك يتطلب هذا الإذن).

شاهد هذا: 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
Mateusz Kaflowski