واجهة برمجة تطبيقات JavaScript للمراسلة والخصوصية

مقدمة

توفّر واجهة برمجة التطبيقات هذه أدوات للتفاعل مع الرسائل التي تقدّمها إدارة الخصوصية علامة التبويب "المراسلة". وباستخدام هذه الخدمة، يمكنك:

  • إيقاف المراسلة لأي مستخدم معيّن
  • طلب البحث عن حالة حظر الإعلانات لأحد المستخدمين
  • السماح للمستخدم بإبطال الموافقة (إذا كان ذلك منطبقًا)

يمكنك أيضًا استخدام هذه الأدوات لجمع موافقات المستخدمين باستخدام بعض المعايير المتّبعة في المجال. البروتوكولات:

وفي هذه الحالات، يتم الإعلان عن حالة الموافقة من خلال واجهات برمجة التطبيقات هذه.

ويمكنك تفعيل وظيفة مراسلة المستخدمين هذه على موقعك الإلكتروني الطرق:

  1. وفي معظم الحالات، لن يكون عليك إعادة وضع العلامات على الإطلاق، لأنّ حسابك الحالي الناشر العلامة أو نشر علامة AdSense رسائل المستخدم بمجرد نشر الرسالة في المنتج ذي الصلة.
  2. إذا كنت تستخدم رسالة الاستجابة لحظر الإعلانات، عليك إضافة الإعلان العلامة إلى صفحتك بشكل صريح. عرض الإعلان المدير وضع العلامات في AdSense تعليمات لمزيد من المعلومات.

googlefc هي مساحة الاسم العامة التي تستخدمها وظيفة المراسلة لدى المستخدم لواجهة برمجة التطبيقات الخاصة به على Window في JavaScript.

ملخّصات عن الملاعب

الاسم النوع التعريف
googlefc.controlledMessagingFunction function(!Object) دالة تحدد ما إذا كان يجب متابعة أي مراسلة. تتوافق هذه الوظيفة مع جميع أنواع الرسائل.
googlefc.callbackQueue !Array<!Object<string, function()>> | !Array&lt;function()&gt; | !googlefc.CallbackQueue الرجوع إلى قائمة انتظار معاودة الاتصال للتنفيذ غير المتزامن لطلبات بحث مراسلة المستخدم.
googlefc.CallbackQueue !Object نوع عنصر قائمة انتظار معاودة الاتصال.
googlefc.AdBlockerStatusEnum !Object<string, number> تعداد لتمثيل حالة أداة حظر الإعلانات لدى المستخدم
googlefc.AllowAdsStatusEnum !Object<string, number> تعداد يمثّل حالة السماح بالإعلانات للمستخدم
googlefc.ccpa.InitialCcpaStatusEnum !Object<string, number> تعداد يمثّل حالة المستخدِم الأولية بموجب "قانون حقوق الخصوصية في كاليفورنيا" (CPRA)
googlefc.ccpa.overrideDnsLink غير معروف|منطقي قيمة منطقية يمكن ضبطها على "صحيح" لاستخدام رابط "عدم بيع" مخصّص.

ملخّصات الطرق

الاسم نوع الإرجاع التعريف
googlefc.showRevocationMessage() غير محدّدة يؤدي ذلك إلى محو سجلّ الموافقة وإعادة تحميل نص googlefc البرمجي لعرض رسالة الموافقة التي تنطبق على المستخدم.
googlefc.getAdBlockerStatus() الرقم تعرض قيمة في AdBlockerStatusEnum بناءً على حالة حظر الإعلانات للمستخدم.
googlefc.getAllowAdsStatus() الرقم تعرض قيمة في AllowAdsStatusEnum استنادًا إلى حالة السماح بعرض الإعلانات لدى المستخدم.
googlefc.ccpa.getInitialCcpaStatus() الرقم تعرض قيمة في InitialCcpaStatusEnum استنادًا إلى الحالة الأولية المتعلّقة بقانون حقوق الخصوصية في كاليفورنيا (CPRA) للمستخدم.
googlefc.ccpa.openConfirmationDialog(function(boolean)) غير محدّدة يفتح مربّع حوار تأكيد طلب موافقة المستخدمين بموجب "قانون حقوق الخصوصية في كاليفورنيا" في حال إلغاء رابط "عدم البيع" التلقائي.

الاختبار وتصحيح الأخطاء على موقعك الإلكتروني

الخصوصية توفر المراسلة وظيفة تصحيح الأخطاء والاختبار التي تتيح لك معرفة شكل رسائل محددة (أو مجموعات رسائل) في موقعك.

المتطلبات الأساسية:

  • يجب نشر الرسائل التي تريد معاينتها ضمن الموقع الإلكتروني الذي تتصفّحه. الاختبار مقابل

يمكنك الاطّلاع على معاينة مباشرة على موقعك الإلكتروني باستخدام عنوان URL التالي لتصحيح الأخطاء. المَعلمات:

معلّمة تصحيح الأخطاء القيم المسموح بها
fc alwaysshow (لتفعيل وضع تصحيح الأخطاء/المعاينة)
fctype ab (رسائل حظر الإعلانات)، ccpa (رسائل إيقاف مشاركة البيانات بموجب "قانون حقوق الخصوصية في كاليفورنيا")، gdpr (رسائل طلب الموافقة بموجب GDPR)، monetization (رسائل Offerwall)

إليك بعض الأمثلة على كيفية استخدام هذه الصفحة لمعاينة المحتوى على موقعك الإلكتروني (foo.com):

  • اختبار رسائل طلب موافقة المستخدِمين بموجب "قانون حقوق الخصوصية في كاليفورنيا" -- http://foo.com/?fc=alwaysshow&fctype=ccpa
  • اختبار رسائل طلب موافقة المستخدِمين بموجب "اللائحة العامّة لحماية البيانات" -- http://foo.com/?fc=alwaysshow&fctype=gdpr

الحقول: التفسيرات والأمثلة

googlefc.controlledMessagingFunction {function(!Object)}

يشير ذلك المصطلح إلى دالة تحدِّد ما إذا كان يجب عرض الرسائل أم لا. يمكن أن تكون تُستخدم لحظر عرض الرسالة وفقًا للشروط التي يحددها الناشر، مثل حالة المشترك أو عنوان URL للصفحة.

عند تحديد googlefc.controlledMessagingFunction على النافذة قبل يتم تحميل نصوص برمجية أخرى، لا يتم عرض الرسائل إلى أن تتصل message.proceed(boolean) يسمح الاتصال بالرقم message.proceed(true) للمراسلة إلى المتابعة كالمعتاد، بينما يمنع الاتصال بالرقم message.proceed(false) أي رسائل من الظهور لمشاهدة الصفحة

مثال: لنفترض أن لديك هذا النص البرمجي على الصفحة الذي يعرّف حالة الدالة determineIfUserIsSubscriber() التي تتحقّق مما إذا كان المستخدم الذي سجّل الدخول مشترِك.

<head>
  <script>
    window.isSubscriber = undefined;
    function determineIfUserIsSubscriber() {
      if (isSubscriber !== undefined) {
        return isSubscriber;
      }
      return new Promise(resolve => {
        setTimeout(() => {
          // Change this to true if you want to test what subscribers would see.
          window.isSubscriber = false;
          resolve(window.isSubscriber);
        }, 1000);
      });
    }
  </script>
</head>

هذا مثال على كيفية استخدام دالة الرسم googlefc.controlledMessagingFunction لعرض الرسالة فقط على وغير المشتركين

<head>
  <script>
    // Define googlefc and the controlled messaging function on the Window.
    window.googlefc = window.googlefc || {};
    googlefc.controlledMessagingFunction = async (message) => {
      // Determine if the user is a subscriber asynchronously.
      const isSubscriber = await determineIfUserIsSubscriber();

      if (isSubscriber) {
        // If the user is a subscriber, don't show any messages.
        message.proceed(false);
      } else {
        // Otherwise, show messages as usual.
        message.proceed(true);
      }
    }
  </script>
</head>

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

يتم تطبيق المراسلة التي يتحكّم فيها عنصر Offerwall من خلال ضبط إلى message.proceed()، وهو Array من النوع googlefc.MessageTypeEnum.

مثال: هذا مثال على استخدام الدالة googlefc.controlledMessagingFunction من أجل إيقاف عرض رسائل Offerwall للمشتركين فقط أنواع الرسائل:

<head>
  <script>
    // Define googlefc and the controlled messaging function on the Window.
    window.googlefc = window.googlefc || {};
    googlefc.controlledMessagingFunction = async (message) => {
     // Determine if the Offerwall should display or not.
     const shouldDisplayOfferwall = await determineIfUserIsSubscriber();
     const applicableMessageTypes = [];

     if (!shouldDisplayOfferwall) {
       // Do not show the Offerwall, but allow other message types to display.
       applicableMessageTypes.push(window.googlefc.MessageTypeEnum.OFFERWALL);
       message.proceed(false, applicableMessageTypes);
     } else {
       // Otherwise, show messages as usual.
       message.proceed(true);
     }
    }
  </script>
</head>

googlefc.callbackQueue {!Array<!Object<string, function()>> | !Array<function()> | !googlefc.CallbackQueue}

الرجوع إلى قائمة انتظار معاودة الاتصال العامة للتنفيذ غير المتزامن المكالمات المتعلقة بالمراسلة. الطريقة الوحيدة المدعومة لاستدعاء أي دالة هي وإضافته إلى callbackQueue.

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

المفاتيح المتوافقة:

اسم المفتاح الاستخدام وقت الاستجابة النسبي
CONSENT_API_READY يتم تنفيذ الدوال التي تم إرسالها إلى قائمة انتظار معاودة الاتصال باستخدام مفتاح CONSENT_API_READY عندما يتم تحديد واجهات برمجة التطبيقات لأُطر عمل الموافقة المتوافقة وإمكانية طلبها. من الآن فصاعدًا، يصبح تنفيذ أي دوال مستندة إلى CONSENT_API_READY مُضافة لاحقًا متزامنًا. راجِع الأقسام الخاصة بأُطر عمل IAB للحصول على تفاصيل خاصة بإطار العمل. منخفض
CONSENT_DATA_READY يتم تنفيذ الدوال التي تم إرسالها إلى قائمة انتظار معاودة الاتصال باستخدام مفتاح CONSENT_DATA_READY عندما تكون موافقة المستخدم المجمّعة ضمن إطار موافقة متوافق معروفة (إما من عملية تنفيذ سابقة أو بعد تفاعل المستخدم مع رسالة طلب الموافقة). من الآن فصاعدًا، يصبح تنفيذ أي دوال مستندة إلى CONSENT_DATA_READY مُضافة لاحقًا متزامنًا. عالٍ
AD_BLOCK_DATA_READY يتمّ تنفيذ الدوال التي تم إرسالها إلى قائمة انتظار معاودة الاتصال باستخدام المفتاح AD_BLOCK_DATA_READY عندما تتوفّر بيانات حظر الإعلانات في العملية. من الآن فصاعدًا، يصبح تنفيذ أي دوال مستندة إلى AD_BLOCK_DATA_READY مُضافة لاحقًا متزامنة. عالٍ
INITIAL_CCPA_DATA_READY يتم تنفيذ الدوال التي تم إرسالها إلى قائمة انتظار معاودة الاتصال باستخدام INITIAL_CCPA_DATA_READY عندما تتوفّر بيانات طلب موافقة المستخدمين بموجب "قانون حقوق الخصوصية في كاليفورنيا" في التدفق. يُرجى العِلم أنّه يجب الحصول على أي طلب لاحق للحصول على بيانات بموجب "قانون حقوق الخصوصية في كاليفورنيا" من خلال الاتصال مباشرةً بواجهة برمجة تطبيقات الخصوصية في الولايات المتحدة (__uspapi). الوسيط

googlefc.CallbackQueue {!Object}

ملخّص الطريقة:

الاسم النوع المعلمة نوع الإرجاع الدور
push(data) الرقم data: زوج المفتاح/القيمة مع المفتاح كإحدى البيانات أنواع مدى التوفّر والقيمة كدالة JavaScript مطلوب تنفيذها. المفاتيح المقبولة لتوفُّر البيانات هي CONSENT_API_READY، CONSENT_DATA_READY وAD_BLOCK_DATA_READY و INITIAL_CCPA_DATA_READY عدد الطلبات التي تمت إضافتها حتى الآن يُرجع ذلك الطول الحالي للصفيف. لتنفيذ الدالة تم تمريرها، بالترتيب الذي تصبح به البيانات المتاحة، ثم حسب ترتيب إضافة هذه الدوال إلى قائمة الانتظار.

مثال:

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.ccpa = window.googlefc.ccpa || {}
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

  // Queue the callback on the callbackQueue.
  googlefc.callbackQueue.push({
    'AD_BLOCK_DATA_READY':
    () => {
      if (googlefc.getAdBlockerStatus() == googlefc.AdBlockerStatusEnum.NO_AD_BLOCKER) {
        // Handle a non-ad blocking user.
      }
    }
  });
</script>

googlefc.AdBlockerStatusEnum {!Object<string, number>}

تمثّل هذه السمة حالات حظر الإعلانات المختلفة للمستخدم. الولايات المختلفة هي:

googlefc.AdBlockerStatusEnum = {
  // Something failed, in an unknown state.
  UNKNOWN: 0,
  // The user was running an extension level ad blocker.
  EXTENSION_AD_BLOCKER: 1,
  // The user was running a network level ad blocker.
  NETWORK_LEVEL_AD_BLOCKER: 2,
  // The user was not blocking ads.
  NO_AD_BLOCKER: 3,
};

googlefc.AllowAdsStatusEnum {!Object<string, number>}

تمثّل هذه السمة الحالات المختلفة التي سمح فيها المستخدم بعرض الإعلانات في أداة حظر الإعلانات. مختلف الحالات هي:

googlefc.AllowAdsStatusEnum = {
  // Something failed, in an unknown state.
  UNKNOWN: 0,
  // User is currently using an ad blocker, was never using an ad blocker, or
  // allowed ads, but not because they saw the Privacy & messaging message.
  ADS_NOT_ALLOWED: 1,
  // User is no longer using an ad blocker after seeing the ad blocking message.
  ADS_ALLOWED: 2,
};

googlefc.ccpa.InitialCcpaStatusEnum{!Object<string, number>}

تمثّل هذه السمة الحالات المختلفة التي سمح فيها المستخدم بعرض الإعلانات في أداة حظر الإعلانات. مختلف الحالات هي:

googlefc.ccpa.InitialCcpaStatusEnum = {
  // Something failed, in an unknown state.
  UNKNOWN: 0,
  // CPRA does not apply to this user.
  CCPA_DOES_NOT_APPLY: 1,
  // CPPA applies to this user, and the user has not opted out yet.
  NOT_OPTED_OUT: 2,
  // CPPA applies to this user, and the user has opted out.
  OPTED_OUT: 3,
};

googlefc.ccpa.overrideDnsLink{undefined|boolean}

يمكنك ضبط هذا الحقل على "صحيح" لإخفاء رابط "عدم البيع" التلقائي واستخدام رابط "عدم البيع" المخصص

مثال:

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.ccpa = window.googlefc.ccpa || {}
  // Signals that the default DNS link will be overridden.
  googlefc.ccpa.overrideDnsLink = true;
</script>

الطرق: التفسيرات والأمثلة

googlefc.getConsentStatus(): {number}


googlefc.getConsentedProviderIds(): {!Array<string>}

  1. تُرجع هذه الطريقة دائمًا قائمة فارغة عند استدعائها.

googlefc.showRevocationMessage(): {undefined}

يؤدي ذلك إلى محو سجلّ الموافقة الحالي وعرض رسالة طلب الموافقة سارٍ على هذا المستخدم. المفتاح الذي يجب تحديده لهذه الدالة هو CONSENT_DATA_READY

مثال:

<button type="button" onclick="googlefc.callbackQueue.push({'CONSENT_DATA_READY': () => googlefc.showRevocationMessage()});">
  Click here to revoke
</button>

googlefc.getAdBlockerStatus(): {number}

عرض قيمة في AdBlockerStatusEnum استنادًا إلى حالة حظر الإعلانات للمستخدم. المفتاح الذي يجب تحديده لهذه الدالة هو AD_BLOCK_DATA_READY

مثال:

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.ccpa = window.googlefc.ccpa || {}
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

  // Queue the callback on the callbackQueue.
  googlefc.callbackQueue.push({
    'AD_BLOCK_DATA_READY':
    () => {
      switch (googlefc.getAdBlockerStatus()) {
          case googlefc.AdBlockerStatusEnum.EXTENSION_LEVEL_AD_BLOCKER:
          case googlefc.AdBlockerStatusEnum.NETWORK_LEVEL_AD_BLOCKER:
            // Insert handling for cases where the user is blocking ads.
            break;
          case googlefc.AdBlockerStatusEnum.NO_AD_BLOCKER:
            // Insert handling for cases where the user is not blocking ads.
            break;
          case googlefc.AdBlockerStatusEnum.UNKNOWN:
            // Insert handling for unknown cases.
            break;
      }
    }
  });
</script>

googlefc.getAllowAdsStatus(): {number}

عرض قيمة في AllowAdsStatusEnum استنادًا إلى حالة "السماح بالإعلانات" المستخدم. المفتاح الذي يجب تحديده لهذه الدالة هو AD_BLOCK_DATA_READY

مثال:

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.ccpa = window.googlefc.ccpa || {}
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

  // Queue the callback on the callbackQueue.
  googlefc.callbackQueue.push({
    'AD_BLOCK_DATA_READY':
    () => {
      switch (googlefc.getAllowAdsStatus()) {
        case googlefc.AllowAdsStatusEnum.ADS_NOT_ALLOWED:
          // Insert handling for cases where the user has not allowed ads.
          // The user may have never been an ad blocker.
          break;
        case googlefc.AllowAdsStatusEnum.ADS_ALLOWED:
          // Insert handling for cases where the user saw the ad blocking
          // message and allowed ads on the site.
          break;
        case googlefc.AllowAdsStatusEnum.UNKNOWN:
          // Insert handling for unknown cases.
          break;
      }
    }
  });
</script>

googlefc.ccpa.getInitialCcpaStatus(): {number}

تعرض قيمة في InitialCcpaStatusEnum استنادًا إلى حالة "قانون حقوق الخصوصية في كاليفورنيا" (CPRA) المستخدم. المفتاح الذي يجب تحديده لهذه الدالة هو INITIAL_CCPA_DATA_READY يُرجى العِلم أنّ أي طلب لاحق للحصول على بيانات "قانون حقوق الخصوصية في كاليفورنيا" (CPRA) يجب أن من خلال طلب البيانات مباشرةً من واجهة برمجة تطبيقات الخصوصية في الولايات المتحدة (__uspapi)

مثال:

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.ccpa = window.googlefc.ccpa || {}
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

  // Queue the callback on the callbackQueue.
  googlefc.callbackQueue.push({
    'INITIAL_CCPA_DATA_READY':
    () => {
      switch (googlefc.ccpa.getInitialCcpaStatus()) {
        case googlefc.ccpa.InitialCcpaStatusEnum.CCPA_DOES_NOT_APPLY:
          // Insert handling for cases where the user is not CPRA eligible.
          break;
        case googlefc.ccpa.InitialCcpaStatusEnum.NOT_OPTED_OUT:
          // Insert handling for cases where the user is CPRA eligible and has
          // not opted out.
          break;
        case googlefc.ccpa.InitialCcpaStatusEnum.OPTED_OUT:
          // Insert handling for cases where the user is CPRA eligible and has
          // opted out.
          break;
      }
    }
  });
</script>

googlefc.ccpa.openConfirmationDialog(function(boolean)): {undefined}

يفتح مربّع حوار تأكيد طلب موافقة المستخدمين بموجب "قانون حقوق الخصوصية في كاليفورنيا" في حال كان رابط "عدم البيع" التلقائي هو تم تجاوزه. وبمجرد أن يتفاعل المستخدم مع مربع حوار التأكيد، يتم استدعاء دالة رد الاتصال مع true إذا قرر المستخدم إيقاف ذلك false بخلاف ذلك.

مثال:

<script>
// This callback will be called with the user CPRA decision.
const ccpaCompletionCallback = (userOptedOut) => {
  // Insert handling for user opt-out status here.
}
// Invoke the CPRA confirmation dialog when the user clicks the link.
document.getElementById("your-custom-ccpa-do-not-sell-link").addEventListener(
  "click", () => googlefc.ccpa.openConfirmationDialog(ccpaCompletionCallback));
</script>

في حال استخدام حلول إدارة الموافقات من Google للحصول على موافقة المستخدمين بموجب "اللائحة العامة لحماية البيانات" (GDPR). ضمن إطار عمل الإصدار الثاني من إطار الشفافية والموافقة الصادر عن مكتب IAB، عليك استخدام الإصدار الثاني من إطار الشفافية والموافقة الصادر عن مكتب IAB. API.

يمكنك استخدام CONSENT_API_READY. للتأكد من أنه يتم استدعاء عمليات الاسترداد المقابلة فقط عند يتم تحديد واجهة برمجة التطبيقات للإصدار 2 من إطار الشفافية والموافقة الصادر عن IAB على الصفحة. يجب استخدام هذه السمة مع مع 'addEventListener' الخاص بـ IAB TCF v2 API.

مثال:

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

  // Queue the callback using the CONSENT_API_READY key on the callbackQueue.
  window.googlefc.callbackQueue.push({
    'CONSENT_API_READY':
    () => __tcfapi('addEventListener', 2.2, (data, success) => {
      // Do something with consent data value; this callback may be invoked
      // multiple times as user completes consent flow.
    })
  });
</script>

يمكنك استخدام CONSENT_DATA_READY مفتاح قائمة انتظار معاودة الاتصال لضمان استدعاء عمليات الاسترداد المقابلة فقط عندما يتم جمع موافقات المستخدمين والوصول إليها باستخدام الإصدار 2 من TCF TCF API لمكتب IAB. ويمكن استخدام ذلك مع 'addEventListener' - البيانات المتوفرة في الاستدعاء الأول لمعاودة الاتصال التي قدمتها على اختيارات موافقة المستخدم (ما دام الإصدار 2 من إطار الشفافية والموافقة ينطبق على ذلك مستخدم). تجدر الإشارة إلى أنّه مع إطلاق الإصدار 2.2 من إطار الشفافية والموافقة، لن 'getTCData' الأمر متوقف الآن.

مثال:

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

  // Queue the callback using the CONSENT_DATA_READY key on the callbackQueue.
  window.googlefc.callbackQueue.push({
    'CONSENT_DATA_READY':
    () => __tcfapi('addEventListener', 2.2, (data, success) => {
      // Do something with consent data value; this callback may be invoked
      // multiple times if user consent selections change.
    })
  });
</script>

استخدام حلول إدارة الموافقات من Google مع إطار عمل GPP الصادر عن مكتب IAB بشأن "قانون حقوق الخصوصية في كاليفورنيا" (CPRA)

في حال استخدام حلول إدارة الموافقات من Google لجمع بيانات إيقاف مشاركة البيانات بموجب "قانون حقوق الخصوصية في كاليفورنيا" (CPRA) ضمن إطار عمل GPP لمكتب IAB، عليك استخدام إطار عمل GPP من IAB. API.

نظرًا لطبيعة الإيقاف التي تنصّ عليها لائحة "قانون حقوق الخصوصية في كاليفورنيا"، يمكنك استخدام CONSENT_API_READY أو معاودة الاتصال CONSENT_DATA_READY مفتاح الانتظار للتأكّد من أنّ واجهة IAB GPP API قابلة للاستدعاء وتعرض بيانات الموافقة وقت استدعاء هذه العمليات.

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.ccpa = window.googlefc.ccpa || {}
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

  // Queue the callback on the callbackQueue.
  window.googlefc.callbackQueue.push({
    'CONSENT_DATA_READY':
    () => __uspapi('getUSPData', 1, (data, success) => {
      // Do something with consent data value.
    })
  });
</script>

استخدام حلول إدارة الموافقات من Google مع إطار عمل GPP الصادر عن مكتب IAB بشأن "قانون حقوق الخصوصية في كاليفورنيا" (CPRA) مع رابط "عدم بيع" مخصّص

في حال استخدام حلول إدارة الموافقات من Google لجمع بيانات إيقاف مشاركة البيانات بموجب "قانون حقوق الخصوصية في كاليفورنيا" (CPRA) ضمن إطار عمل GPP الصادر عن مكتب IAB، من الممكن توفير رابط "عدم بيع" مخصّص من خلال ضبط علامة googlefc.ccpa.overrideDnsLink على true.

<script>
  // Make sure that the properties exist on the window.
  window.googlefc = window.googlefc || {};
  window.googlefc.ccpa = window.googlefc.ccpa || {}
  window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];

  // Signals that the default DNS link will be overridden.
  window.googlefc.ccpa.overrideDnsLink = true;

  // Register the callback for the initial CPRA data.
  window.googlefc.callbackQueue.push({
      'INITIAL_CCPA_DATA_READY': () => {
        if (googlefc.ccpa.getInitialCcpaStatus() ===
            googlefc.ccpa.InitialCcpaStatusEnum.NOT_OPTED_OUT) {
          // TODO: Display custom CPRA Do Not Sell link here.
        }
      }
    });
</script>

ويضمن ذلك عدم عرض رابط "عدم البيع" التلقائي. لاحظ أنه تقع على عاتقك مسؤولية عرض رابط "عدم البيع" الخاص بك لتحقيق الامتثال. بموجب "قانون حقوق الخصوصية في كاليفورنيا" (CPRA) بعد ذلك، ستحتاج إلى التعامل مع تفاعل المستخدم من خلال زر Do Not المخصّص بيع الرابط من خلال استدعاء مربّع حوار تأكيد "قانون حقوق الخصوصية في كاليفورنيا" (CPRA)

<script>
// This callback will be called with the user CPRA decision.
const ccpaCompletionCallback = (userOptedOut) => {
  if (userOptedOut) {
    // TODO: Hide custom CPRA Do Not Sell link here.
  }
}
// Invoke the CPRA confirmation dialog when the user clicks the link.
document.getElementById("your-custom-ccpa-do-not-sell-link").addEventListener(
  "click", () => googlefc.ccpa.openConfirmationDialog(ccpaCompletionCallback));
</script>