إعداد وضع الموافقة للتطبيقات

هذه الصفحة مخصّصة للمطوّرين الذين يستخدِمون حزمة تطوير البرامج (SDK) لخدمة "إحصاءات Google لبرنامج Firebase" في تطبيقاتهم ويريدون دمج "وضع الموافقة". للاطّلاع على مقدمة عن "وضع الموافقة"، يُرجى الاطّلاع على نظرة عامة على "وضع الموافقة".

توفّر "إحصاءات Google" ميزة "وضع الموافقة" لتعديل سلوك حزمة تطوير البرامج (SDK) استنادًا إلى حالة الموافقة للمستخدمين. يمكنك تنفيذ "وضع الموافقة" بطريقة أساسية أو متقدّمة إذا لم تكن متأكّدًا من تطبيق "وضع الموافقة" الأساسي أو المتقدّم، اطّلِع على مزيد من المعلومات حول وضع الموافقة الأساسي مقارنةً بوضع الموافقة المتقدّم وراجع إرشادات شركتك.

قبل البدء

قبل أن تتمكّن من إدارة موافقة المستخدمين، عليك تنفيذ ما يلي:

لإعداد "وضع الموافقة"، عليك:

  1. ضبط حالة الموافقة التلقائية

لا يتم ضبط قيم "وضع الموافقة" تلقائيًا. لضبط حالة الموافقة التلقائية لتطبيقك:

  1. افتح ملف AndroidManifest.xml الخاص بتطبيقك.
  2. أضِف أزواج المفتاح/القيمة لميزة "وضع الموافقة". يصف المفتاح نوع الموافقة وتشير القيمة إلى حالة الموافقة. يمكن أن تكون القيم true، ما يعني أنّه تم منح الموافقة، أو false، ما يعني أنّه تم رفض الموافقة. اضبط ما يلي:

    • google_analytics_default_allow_analytics_storage
    • google_analytics_default_allow_ad_storage
    • google_analytics_default_allow_ad_user_data
    • google_analytics_default_allow_ad_personalization_signals
  3. احفظ التغييرات. بعد ذلك، يجب تنفيذ آلية تعديل قيم الموافقة.

على سبيل المثال، لضبط كل موافقات المنح على جميع المَعلمات تلقائيًا:

<meta-data android:name="google_analytics_default_allow_analytics_storage" android:value="true" />
<meta-data android:name="google_analytics_default_allow_ad_storage" android:value="true" />
<meta-data android:name="google_analytics_default_allow_ad_user_data" android:value="true" />
<meta-data android:name="google_analytics_default_allow_ad_personalization_signals" android:value="true" />

لتعديل قيم الموافقة بعد إطلاق التطبيق، يمكنك طلب الطريقة setConsent.

تلغي القيمة التي تحدّدها طريقة setConsent الإعداد التلقائي وتستمر في جميع عمليات تنفيذ التطبيقات. وتظل القيمة كما هي حتى يتم طلب setConsent مرة أخرى، حتى إذا أغلق المستخدم التطبيق وأعاد فتحه. لا يعدّل setConsent سوى المَعلمات التي تحدِّدها.

إذا سحب أحد المستخدمين موافقته السابقة التي قدّمها بشأن "إحصاءات Google" أو "مساحة تخزين الإعلانات"، ستحذف "إحصاءات Google" جميع خصائص المستخدمين، بما في ذلك الموافقة على ad_personalization. للحفاظ على خيار موافقة المستخدم المتعلّق بتخصيص الإعلانات، عليك استعادة القيمة السابقة لتخصيص الإعلانات باستخدام setConsent (Kotlin+KTX | Java) .

يوضّح المثال التالي طريقة setConsent التي تعدّل قيم الموافقة المختلفة إلى granted:

Java

// Set consent types.
Map<ConsentType, ConsentStatus> consentMap = new EnumMap<>(ConsentType.class);
consentMap.put(ConsentType.ANALYTICS_STORAGE, ConsentStatus.GRANTED);
consentMap.put(ConsentType.AD_STORAGE, ConsentStatus.GRANTED);
consentMap.put(ConsentType.AD_USER_DATA, ConsentStatus.GRANTED);
consentMap.put(ConsentType.AD_PERSONALIZATION, ConsentStatus.GRANTED);

mFirebaseAnalytics.setConsent(consentMap);

Kotlin

Firebase.analytics.setConsent {
  analyticsStorage(ConsentStatus.GRANTED)
  adStorage(ConsentStatus.GRANTED)
  adUserData(ConsentStatus.GRANTED)
  adPersonalization(ConsentStatus.GRANTED)
}