دليل تحديد المشاكل وحلّها في "مبادرة حماية الخصوصية" على نظام التشغيل Android

يوضِّح هذا المستند طريقة حلّ المشاكل الشائعة عند إعداد سياسة الخصوصية. "وضع الحماية" على 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 للتسجيل غير متطابقَين.

الحل:

  1. يمكنك الاطّلاع على بيانات التسجيل لمعرفة ما إذا كانت هناك اختلافات بين عنوان URL الذي تستخدمه في رمزك وعنوان URL الذي سجّلته في سياسة الخصوصية وضع الحماية على سبيل المثال، ربما تستخدمين https://adtech.example.com/source. لكن عنوان URL المسجّل كان https://adtech.example.com/register_source
  2. عدِّل الرمز لتتطابق مع عنوان 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".

الحل:

  1. سجِّل الدخول إلى جهازك أو المحاكي باستخدام حسابك على Google.
  2. انتقِل إلى متجر Google Play > رمز الملف الشخصي > الإعدادات > لمحة عامة ضِمن العنوان إصدار "متجر Play"، انقر على تحديث "متجر Play".

تقديم طلب دعم

إذا لم تنجح هذه الخطوات في حلّ الخطأ، يمكنك تقديم طلب دعم تضمين المعلومات التالية:

  1. ما هو الإصدار الذي تستخدمه، معاينة المطوِّر أو الإصدار التجريبي؟ ما هو الإصدار؟ في؟ يمكنك العثور على رمز الإصدار في الإعدادات > لمحة عن الهاتف > رقم الإصدار:
  2. إذا كنت تستخدم إصدارًا تجريبيًا، شغِّل adb shell getprop | grep build.version.extensions وأدرِج النتائج في طلب الدعم.
  3. ما هو إصدار "خدمات Google Play" المثبَّت على جهازك؟ شغِّل adb shell dumpsys package com.google.android.gms | grep versionName وأدرِج نتائج هذا الأمر في طلب الدعم.
  4. تضمين تقرير خطأ كامل. يمكنك الحصول على تقرير خطأ كامل من خلال تشغيل adb bugreport أو من خلال باتّباع التعليمات.