يوضِّح هذا المستند طريقة حلّ المشاكل الشائعة عند إعداد سياسة الخصوصية. "وضع الحماية" على Android. إذا رأيت خطأً لم يتم العثور عليه في هذا الدليل، يُرجى إعلامنا بذلك.
هناك عدة أسباب محتملة لظهور بعض الأخطاء. في ما يلي بعض الأخطاء الأكثر شيوعًا وإصلاحاتها، ولكن من الممكن أن تواجه نفس رسالة الخطأ لسبب مختلف.
قبل استكشاف الأخطاء وإصلاحها
إيقاف تحديثات إعدادات الجهاز
عند تحديد وحلّ أي مشاكل تواجهها في "مبادرة حماية الخصوصية" الاختبار، يجب أن تكون الخطوة الأولى هي إيقاف تحديثات تهيئة جهازك. هذا النمط يضمن عدم استرجاع جهازك للإعدادات المعدَّلة من الخادم وإيقاف "مبادرة حماية الخصوصية" بدون قصد على جهاز الاختبار
يمكنك إيقاف تحديثات إعدادات الجهاز باستخدام الأمر التالي:
adb shell device_config set_sync_disabled_for_tests persistent
إذا أردت إعادة تفعيل تحديثات إعدادات الجهاز بعد الاختبار، يمكنك إجراء ما يلي: لذلك باستخدام هذا الأمر:
adb shell device_config set_sync_disabled_for_tests none
تفعيل التسجيل المطوَّل للخدمات الإعلانية
يوفِّر التسجيل المطوَّل من الخدمات الإعلانية مزيدًا من السياق حول الأخطاء. التي تشاهدها. لتفعيل هذه الميزة، استخدِم الأمر التالي:
adb shell setprop log.tag.adservices VERBOSE
تأكَّد من ضبط جهازك بشكل صحيح.
إذا كنت قد عطّلت للتو تحديثات تهيئة جهازك، نوصي بتشغيل هذه مرة أخرى للتأكد من تهيئة جهازك بشكل صحيح وبقاء بهذه الطريقة خلال مدة الاختبار.
- تفعيل PPAPIs باستخدام أوامر adb القابلة للتطبيق.
- عليك تسجيل جهازك أو إيقاف عملية التسجيل وفقًا لأهدافك.
التحقّق من الرمز البرمجي للتأكّد من توفّر PPAPIs
يمكنك إضافة عمليات تحقّق إلى قاعدة الرموز للتأكّد من أنّ جهازك والنُسخ الصحيحة التي تحتاج إليها من أجل "مبادرة حماية الخصوصية"
إذا كنت تستخدم إصدارًا تجريبيًا من خلال إضافات حِزم تطوير البرامج (SDK)، ابحث عن الإصدار الصحيح وإصدار إضافة حزمة تطوير البرامج (SDK):
إذا كنت تستخدم إصدارًا تجريبيًا من خلال مكتبات Jetpack،
تعرض الدالة null
إذا لم تكن "مبادرة حماية الخصوصية" متوفّرة على
الخاص بك. على سبيل المثال:
بالنسبة إلى أي إصدار، تحقَّق من "خدمات Google Play":
استثناءات الأمان
عادةً ما تظهر أخطاء استثناء الأمان عندما يفتقر شيء ما إلى إذن الوصول إلى مرجع "مبادرة حماية الخصوصية"
لم يتم طلب الإذن
الخطأ:
Failed to get Ad ID: java.lang.SecurityException: Caller is not authorized to
call this API. Permission was not requested
.
السبب المحتمل:
يجب الإفصاح عن إذن للوصول إلى رقم تعريف الإعلان.
الحل:
يُرجى تقديم بيان الإذن في AndroidManifest.xml
:
<uses-permission android:name="android.permission.ACCESS_ADSERVICES_AD_ID" />
المتصل غير مسموح له
الخطأ:
Failed to find resolveInfo for adServices service. Intent action:
android.adservices.adid.AdIdProviderService
Failed to find AdServices services
Caller not authorized
السبب المحتمل:
لم يتم تسجيل جهازك بشكل صحيح. تأكد من اتباع جميع تعليمات التسجيل، بما في ذلك ما بعد التسجيل لإعداد جهازك.
السبب المحتمل:
عنوانا URL للتسجيل غير متطابقَين.
الحل:
- يمكنك الاطّلاع على بيانات التسجيل لمعرفة ما إذا كانت هناك اختلافات بين
عنوان URL الذي تستخدمه في رمزك وعنوان URL الذي سجّلته في سياسة الخصوصية
وضع الحماية على سبيل المثال، ربما تستخدمين
https://adtech.example.com/source
. لكن عنوان URL المسجّل كانhttps://adtech.example.com/register_source
- عدِّل الرمز لتتطابق مع عنوان URL المسجَّل. على سبيل المثال، يمكنك تعديل السطر في نموذج التطبيق لإلحاق " /register_source" إلى عنوان URL بدلاً من ذلك من "/source".
في حال استمرار ظهور هذا الخطأ:
قد لا تكون شركتك مدرجة في قائمة التسجيل، أو أن الشركة مسجّلة ولكن غير مدرَجة في القائمة المسموح بها في بيان التطبيق التأكُّد من تسجيل مؤسستك بشأن "مبادرة حماية الخصوصية" من خلال التواصل مع android-ps-support@google.com
المتصل غير مسموح به
الخطأ:
Failed to get Ad ID: java.lang.SecurityException: Caller is not authorized to
call this API. Caller is not allowed. Package [package name] is not allowed to
call the API
.
السبب المحتمل:
اسم الحزمة غير مُدرَج في القائمة المسموح بها.
الحل:
السماح بجميع أسماء الحِزم في القائمة المسموح بها:
في حال استخدام adb Shell مباشرةً:
تعمل الأوامر المدرجة سابقًا مع bash وغيرها من واجهات برمجة التطبيقات، ولكن إذا بدأت استخدام adb واجهة الأوامر مباشرة ومحاولة تشغيل الأوامر، فلا يُفترض أن تهرب من الاقتباسات. بدلاً من ذلك، شغِّل الأوامر على النحو التالي:
الحل:
أضِف اسم الحزمة إلى القائمة المسموح بها:
adb shell device_config put adservices ppapi_app_allow_list [package name]
تأكَّد من أنّ اسم الحِزمة مُدرَج في القائمة المسموح بها:
adb shell device_config get adservices ppapi_app_allow_list
إذا لزم الأمر، يمكنك حذف القائمة المسموح بها باستخدام الأمر التالي:
adb shell device_config delete adservices ppapi_app_allow_list
استثناءات الدولة غير القانونية
تشير استثناءات الحالة غير القانونية إلى أنه قد تم استدعاء طريقة في مسار وقت غير مناسب، حيث لا تكون البيئة أو التطبيق داخل الحالة المناسبة للعملية المطلوبة.
استثناءات الحالة غير القانونية: الخدمة غير متاحة
الخطأ:
com.example.measurement.sampleapp E Failed binding to measurement service:
java.lang.IllegalStateException: Service is not available
السبب المحتمل:
يجب إيقاف مفتاح الإغلاق.
الحل:
يمكنك إيقاف مفتاح الإغلاق باستخدام الأمر التالي:
adb shell 'device_config put adservices global_kill_switch false'
السبب المحتمل:
لم يتم منح موافقة المستخدم.
الحل:
يمكنك تنفيذ ما يلي:
adb shell am start -n com.google.android.adservices.api/com.android.adservices.ui.settings.activities.AdServicesSettingsMainActivity
بعد اكتمال الأمر السابق، فعِّل الخيار "تفعيل مبادرة حماية الخصوصية" التفضيل إلى "تشغيل".
أخطاء في أوامر adb
تعذّر العثور على الوظيفة
الخطأ:
Could not find job 14 in package com.google.android.adservices.api/ user 0
السبب المحتمل:
لم يتم تشغيل واجهات برمجة تطبيقات "مبادرة حماية الخصوصية".
الحل: قبل تنفيذ هذه المهمة، عليك طلب إحدى واجهات برمجة تطبيقات "مبادرة حماية الخصوصية"، مثل
registerSource()
أو getTopics()
أو selectAds()
يُتوقَّع حدوث هذه المكالمة
فشل، ولكنه مطلوب لتنشيط واجهة برمجة التطبيقات. بعد ذلك، يجب إعادة تشغيل jobscheduler 14
.
الأمر.
السبب المحتمل:
يجب تحديث "متجر Google Play".
الحل:
- سجِّل الدخول إلى جهازك أو المحاكي باستخدام حسابك على Google.
- انتقِل إلى متجر Google Play > رمز الملف الشخصي > الإعدادات > لمحة عامة ضِمن العنوان إصدار "متجر Play"، انقر على تحديث "متجر Play".
تقديم طلب دعم
إذا لم تنجح هذه الخطوات في حلّ الخطأ، يمكنك تقديم طلب دعم تضمين المعلومات التالية:
- ما هو الإصدار الذي تستخدمه، معاينة المطوِّر أو الإصدار التجريبي؟ ما هو الإصدار؟ في؟ يمكنك العثور على رمز الإصدار في الإعدادات > لمحة عن الهاتف > رقم الإصدار:
- إذا كنت تستخدم إصدارًا تجريبيًا، شغِّل
adb shell getprop | grep build.version.extensions
وأدرِج النتائج في طلب الدعم. - ما هو إصدار "خدمات Google Play" المثبَّت على جهازك؟ شغِّل
adb shell dumpsys package com.google.android.gms | grep versionName
وأدرِج نتائج هذا الأمر في طلب الدعم. - تضمين تقرير خطأ كامل. يمكنك الحصول على تقرير خطأ كامل من خلال تشغيل
adb bugreport
أو من خلال باتّباع التعليمات.