מבוא
ה-API הזה מספק כלים לאינטראקציה עם הודעות שמוצעות בכלי 'פרטיות' בכרטיסייה 'העברת הודעות'. באמצעותה תוכלו:
- הסתרת הודעות לכל משתמש נתון
- לשלוח שאילתה על סטטוס חסימת המודעות של משתמש
- לאפשר למשתמש לבטל את ההסכמה (אם רלוונטי)
אפשר גם להשתמש בכלים האלה כדי לקבל הסכמה מהמשתמשים בעזרת כמה התקנים המקובלים בתחום. פרוטוקולים:
- הסכמה בהתאם ל-GDPR באמצעות המפרט של IAB TCF בגרסה 2
- ביטול ההסכמה לפי חוק CPRA לפי מפרט של IAB GPP CPRA
במקרים כאלה, סטטוס ההסכמה מועבר באמצעות ממשקי ה-API האלה.
אפשר לפרוס באתר את הפונקציונליות הזו של העברת הודעות למשתמשים בכמה דרכים:
- ברוב המקרים, אין צורך לתייג מחדש כלל - חשבון Google בעל תוכן דיגיטלי תיוג או פריסה של תג AdSense הודעות למשתמשים אחרי שההודעה מתפרסמת במוצר הרלוונטי.
- אם אתם משתמשים בהודעה למשתמשים עם חסימת מודעות, עליכם להוסיף את המודעה חוסם את התג באופן מפורש בדף שלך. הצגת המודעה ניהול וגם תיוג של AdSense לקבלת מידע נוסף.
googlefc
הוא מרחב השמות הגלובלי שבו משתמשת הפונקציונליות של העברת הודעות של משתמשים
ל-API שלה ב-JavaScript Window
.
סיכומי שדות
שם | סוג | הגדרה |
---|---|---|
googlefc.controlledMessagingFunction
|
פונקציה(!Object) | פונקציה שקובעת אם להמשיך עם הודעות כלשהן. הפונקציונליות הזו נתמכת בכל סוגי ההודעות. |
googlefc.callbackQueue
|
!Array<!Object<string, function()>> | !Array<function()> | !googlefc.CallbackQueue | הפניה לתור הקריאה החוזרת לצורך ביצוע אסינכרוני של שאילתות שליחת הודעות למשתמשים. |
googlefc.CallbackQueue
|
!Object | סוג האובייקט של תור הקריאה החוזרת (callback). |
googlefc.AdBlockerStatusEnum
|
!Object<string, number> | 'טיפוסים בני מנייה (enum)' לייצוג מצב חסימת המודעות של המשתמש. |
googlefc.AllowAdsStatusEnum
|
!Object<string, number> | enum שמייצג את המצב של אישור המודעות של המשתמש. |
googlefc.ccpa.InitialCcpaStatusEnum
|
!Object<string, number> | enum שמייצג את סטטוס ה-CPRA הראשוני של המשתמש. |
googlefc.ccpa.overrideDnsLink
|
לא מוגדר|בוליאני | ערך בוליאני שאפשר להגדיר כ-True כדי להשתמש בקישור מותאם אישית של 'לא למכור'. |
סיכומי שיטות
שם | סוג הערך המוחזר | הגדרה |
---|---|---|
googlefc.showRevocationMessage()
|
לא מוגדר |
הפעולה הזו מוחקת את רשומת ההסכמה וטוענת מחדש את הסקריפט googlefc כדי להציג את ההודעה לבקשת הסכמה שרלוונטית למשתמש.
|
googlefc.getAdBlockerStatus()
|
number |
מחזירה ערך ב-AdBlockerStatusEnum בהתאם לסטטוס חסימת המודעות של המשתמש.
|
googlefc.getAllowAdsStatus()
|
number |
הפונקציה מחזירה ערך ב-AllowAdsStatusEnum בהתאם לסטטוס המותר להצגת מודעות של המשתמש.
|
googlefc.ccpa.getInitialCcpaStatus()
|
number |
הפונקציה מחזירה ערך ב-InitialCcpaStatusEnum בהתאם לסטטוס ה-CPRA הראשוני של המשתמש.
|
googlefc.ccpa.openConfirmationDialog(function(boolean))
|
לא מוגדר | תיפתח תיבת הדו-שיח לאישור לפי חוק CPRA אם קישור ברירת המחדל 'לא למכור' בוטל. |
בדיקה וניפוי באגים באתר
פרטיות העברת הודעות מספקת פונקציונליות של ניפוי באגים ובדיקה, שמאפשרת לראות איך נראות הודעות ספציפיות (או שילובי הודעות) באתר עצמו.
דרישות מוקדמות:
- ההודעות שרוצים להציג בתצוגה מקדימה חייבות להתפרסם באתר הרלוונטי. בדיקה מול
אפשר לראות תצוגה מקדימה פעילה באתר באמצעות כתובת ה-URL הבאה לניפוי באגים :
פרמטר של ניפוי באגים | ערכים מותרים |
---|---|
fc |
alwaysshow (כדי להפעיל מצב ניפוי באגים/תצוגה מקדימה) |
fctype |
ab (הודעות בנושא חסימת מודעות), ccpa (הודעות לביטול הסכמה לפי חוק CPRA), gdpr (הודעות בנושא הסכמה בהתאם ל-GDPR), monetization (הודעות Offerwall) |
כמה דוגמאות לשימוש בתצוגה מקדימה באתר (foo.com):
- בדיקה של העברת הודעות לפי חוק CPRA –
http://foo.com/?fc=alwaysshow&fctype=ccpa
- בדיקה של העברת ההודעות לבקשת הסכמה בהתאם ל-GDPR –
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>
הפניה לתור הגלובלי של קריאה חוזרת לביצוע אסינכרוני של
שיחות שקשורות להעברת הודעות. הדרך הנתמכת היחידה להפעיל פונקציה כלשהי היא באמצעות
להוסיף אותו אל callbackQueue
.
מכיוון שסוגים שונים של נתונים הופכים לזמינים בזמנים שונים, פונקציה כמפה, עם אחת מהמחרוזות הבאות כמפתח, שצריך להריץ בתור הערך.
מפתחות נתמכים:
שם מפתח | שימוש | זמן אחזור יחסי |
---|---|---|
CONSENT_API_READY
|
פונקציות שנדחפות לתור הקריאה החוזרת עם המפתח CONSENT_API_READY מתבצעות כאשר ממשקי ה-API למסגרות הסכמה נתמכות מוגדרים וניתן לקרוא אותם. מנקודה זו ואילך, ההפעלה של הפונקציות עם קידוד CONSENT_API_READY שנוספו לאחר מכן היא סינכרונית. פרטים ספציפיים על ה-framework זמינים בקטעים על frameworks של 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 מתבצעות כשנתוני CPRA הופכים לזמינים בתהליך. חשוב לדעת: כל בקשה נוספת לקבלת נתוני CPRA צריכה להתקבל באמצעות קריאה ישירה ל-US Privacy API (__uspapi ).
|
בינונית |
googlefc.CallbackQueue {!Object}
סיכום השיטה:
שם | סוג | פרמטר | סוג הערך המוחזר | תפקיד |
---|---|---|---|---|
push(data)
|
number |
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}
יש להגדיר את השדה הזה כ-TRUE כדי להסתיר את קישור ברירת המחדל 'לא למכור' ולהשתמש ב- קישור 'לא למכור' בהתאמה אישית.
דוגמה:
<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>}
- עכשיו הפונקציה הזו תמיד מחזירה רשימה ריקה כשמתבצעת קריאה.
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 צריכה להופיע
לקבל באמצעות קריאה ישירה ל-US Privacy API (__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}
תיפתח תיבת הדו-שיח לאישור לפי חוק CPRA אם קישור ברירת המחדל 'לא למכור' הוא
בוטלה. לאחר שהמשתמש מקיים אינטראקציה עם תיבת הדו-שיח לאישור,
מתבצעת קריאה לפונקציית הקריאה החוזרת עם הערך 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 לניהול הסכמה עם TCF גרסה 2 של IAB ביחס ל-GDPR
אם אתם משתמשים בפתרונות של Google לניהול הסכמה כדי לאסוף אישורי הסכמה ל-GDPR במסגרת TCF גרסה 2 של IAB, יש להשתמש ב-IAB TCF גרסה 2 API.
אפשר להשתמש בCONSENT_API_READY
מפתח תור לקריאה חוזרת (callback) כדי לוודא שהקריאות החוזרות המתאימות מופעלות רק כאשר
גרסה 2 API של IAB TCF מוגדרת בדף. יש להשתמש בתנאי הזה בשילוב
עם
'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
מפתח תור לקריאה חוזרת (callback) כדי לוודא שהקריאות החוזרות המתאימות מופעלות
רק במקרים שבהם מתקבלת הסכמה מהמשתמשים באמצעות TCF גרסה 2 של IAB ואפשר לגשת אליה.
אפשר להשתמש במדיניות הזו בשילוב עם
'addEventListener'
הפקודה – הנתונים שסופקו בהפעלה הראשונה של הקריאה החוזרת (callback) שסיפקתם
יכללו את הבחירות של המשתמש בנושא פרטיות (בתנאי שגרסה 2 של TCF חלה על
משתמש). שימו לב: לאחר ההשקה של גרסה 2.2 של TCF,
'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, צריך להשתמש ב-IAB GPP API.
בשל אופי ביטול ההסכמה של תקנת CPRA, אפשר להשתמש
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. לאחר מכן תצטרכו לטפל באינטראקציה של המשתמשים עם כדי למכור את הקישור, צריך להפעיל את תיבת הדו-שיח לאישור לפי חוק 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>