Giới thiệu
API này cung cấp các công cụ để tương tác với thông báo do thẻ Quyền riêng tư và thông báo cung cấp. Nhờ vậy, bạn có thể:
- chặn thông báo cho bất kỳ người dùng cụ thể nào
- truy vấn trạng thái chặn quảng cáo của người dùng
- cho phép người dùng thu hồi sự đồng ý (nếu có)
Bạn cũng có thể sử dụng các công cụ sau để thu thập sự đồng ý của người dùng bằng một số giao thức tiêu chuẩn trong ngành:
- Sự đồng ý theo GDPR theo quy cách TCF phiên bản 2 của IAB
- Chọn không tham gia CPRA theo quy cách CPRA GPP của IAB
Trong những trường hợp này, trạng thái đồng ý được thông báo qua các API đó.
Bạn có thể triển khai chức năng thông báo cho người dùng này trên trang web của mình theo một số cách:
- Đối với hầu hết các trường hợp, bạn không cần phải gắn thẻ lại. Thẻ nhà xuất bản của Google hoặc thẻ AdSense hiện có sẽ triển khai thông báo của người dùng sau khi thông báo được xuất bản trong sản phẩm có liên quan.
- Nếu đang sử dụng thông báo khôi phục quảng cáo bị chặn, bạn cần thêm thẻ chặn quảng cáo vào trang một cách rõ ràng. Hãy xem hướng dẫn gắn thẻ Ad Manager và AdSense để biết thêm thông tin.
googlefc
là không gian tên chung mà chức năng thông báo cho người dùng sử dụng cho API của thuộc tính đó trên JavaScript Window
.
Tóm tắt các trường
Tên | Loại | Định nghĩa |
---|---|---|
googlefc.controlledMessagingFunction
|
hàm(!Object) | Một hàm xác định liệu có tiếp tục nhắn tin hay không. Chức năng này được hỗ trợ cho tất cả các loại thông báo. |
googlefc.callbackQueue
|
!Array<!Object<string, function()>> | !Array<function()> | !googlefc.CallbackQueue | Tham chiếu đến hàng đợi gọi lại để thực thi không đồng bộ các truy vấn thông báo cho người dùng. |
googlefc.CallbackQueue
|
!Đối tượng | Loại đối tượng của hàng đợi gọi lại. |
googlefc.AdBlockerStatusEnum
|
!Đối tượng<chuỗi, số> | Một giá trị enum biểu thị trạng thái của trình chặn quảng cáo của người dùng. |
googlefc.AllowAdsStatusEnum
|
!Đối tượng<chuỗi, số> | Một giá trị enum thể hiện trạng thái cho phép quảng cáo của người dùng. |
googlefc.ccpa.InitialCcpaStatusEnum
|
!Đối tượng<chuỗi, số> | Một giá trị enum thể hiện trạng thái ban đầu của người dùng theo CPRA. |
googlefc.ccpa.overrideDnsLink
|
undefined|boolean | Một giá trị boolean có thể được đặt thành đúng để sử dụng đường liên kết Không bán tuỳ chỉnh. |
Tóm tắt phương pháp
Tên | Kiểu dữ liệu trả về | Định nghĩa |
---|---|---|
googlefc.showRevocationMessage()
|
chưa xác định |
Xoá bản ghi về sự đồng ý và tải lại tập lệnh googlefc để hiển thị thông báo yêu cầu đồng ý áp dụng cho người dùng.
|
googlefc.getAdBlockerStatus()
|
number |
Trả về một giá trị trong AdBlockerStatusEnum tuỳ thuộc vào trạng thái chặn quảng cáo của người dùng.
|
googlefc.getAllowAdsStatus()
|
number |
Trả về một giá trị trong AllowAdsStatusEnum tuỳ thuộc vào trạng thái cho phép quảng cáo của người dùng.
|
googlefc.ccpa.getInitialCcpaStatus()
|
number |
Trả về một giá trị trong InitialCcpaStatusEnum tuỳ thuộc vào trạng thái CPRA ban đầu của người dùng.
|
googlefc.ccpa.openConfirmationDialog(function(boolean))
|
chưa xác định | Mở hộp thoại xác nhận theo CPRA nếu đường liên kết Không bán mặc định bị ghi đè. |
Kiểm thử và gỡ lỗi trên trang web của bạn
Quyền riêng tư và thông báo cung cấp chức năng gỡ lỗi và kiểm thử cho phép bạn xem hình thức hiển thị của các thông báo cụ thể (hoặc các tổ hợp thông báo) trên trang web thực tế của mình.
Điều kiện tiên quyết:
- (Các) thông báo mà bạn muốn xem trước phải được xuất bản trên trang web mà bạn đang kiểm thử
Bạn có thể xem bản xem trước trực tiếp trên trang web của mình bằng cách sử dụng các tham số URL gỡ lỗi sau:
Thông số gỡ lỗi | Giá trị được phép |
---|---|
fc |
alwaysshow (để kích hoạt chế độ gỡ lỗi/xem trước) |
fctype |
ab (Thông báo chặn quảng cáo), ccpa (thông báo chọn từ chối theo Đạo luật về quyền riêng tư của California (CPRA), gdpr (Thông báo yêu cầu đồng ý theo GDPR), monetization (Thông báo ưu đãi) |
Một số ví dụ về cách sử dụng chế độ này để xem trước trên trang web của bạn (foo.com):
- Kiểm tra thông báo theo CPRA --
http://foo.com/?fc=alwaysshow&fctype=ccpa
- Thử nghiệm thông báo GDPR --
http://foo.com/?fc=alwaysshow&fctype=gdpr
Trường: giải thích và ví dụ
googlefc.controlledMessagingFunction {function(!Object)}
Một hàm xác định liệu thông báo có hiển thị hay không. Bạn có thể dùng đối tượng này để kiểm soát việc hiển thị thông báo theo các điều kiện do nhà xuất bản chỉ định, chẳng hạn như trạng thái người đăng ký hoặc URL trang.
Khi bạn xác định googlefc.controlledMessagingFunction
trên Cửa sổ trước khi
tải các tập lệnh khác, thông báo sẽ không xuất hiện cho đến khi bạn gọi
message.proceed(boolean)
. Việc gọi message.proceed(true)
cho phép việc nhắn tin tiếp tục như bình thường, trong khi việc gọi message.proceed(false)
sẽ ngăn mọi thông báo hiển thị cho lượt xem trang.
Ví dụ: giả sử bạn có tập lệnh này trên trang xác định một hàm không đồng bộ determineIfUserIsSubscriber()
. Hàm này sẽ kiểm tra xem người dùng đã đăng nhập có phải là người đăng ký hay không.
<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>
Đây là ví dụ về cách sử dụng googlefc.controlledMessagingFunction
để chỉ hiển thị thông báo cho người không đăng ký.
<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>
Ngoài ra, chúng tôi còn có một phần mở rộng của tính năng này để cho phép nhà xuất bản trong chương trình thử nghiệm khép kín của Offerwall chỉ định rằng chỉ nên chặn Offerwall. Các loại thông báo khác sẽ không bị ảnh hưởng khi tính năng này có hiệu lực.
Bạn có thể thực hiện thông báo được kiểm soát theo Offerwall bằng cách truyền thêm một thông số tới message.proceed()
, một Array
thuộc loại googlefc.MessageTypeEnum
.
Ví dụ: Đây là ví dụ về việc sử dụng googlefc.controlledMessagingFunction
để chỉ ngăn việc phân phát Offerwall cho người đăng ký mà không chặn các loại thông báo khác:
<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>
Tham chiếu đến hàng đợi gọi lại chung để thực thi không đồng bộ các lệnh gọi liên quan đến tính năng nhắn tin. Cách duy nhất được hỗ trợ để gọi bất kỳ hàm nào là thêm hàm đó vào callbackQueue
.
Vì nhiều loại dữ liệu có sẵn vào những thời điểm khác nhau, nên bạn phải thêm một hàm dưới dạng bản đồ, trong đó một trong các chuỗi sau là khoá và hàm được thực thi làm giá trị.
Các khoá được hỗ trợ:
Tên khoá | Cách sử dụng | Độ trễ tương đối |
---|---|---|
CONSENT_API_READY
|
Các hàm được đẩy vào hàng đợi gọi lại bằng khoá CONSENT_API_READY sẽ được thực thi khi API cho khung đồng ý được hỗ trợ được xác định và có thể gọi được. Từ thời điểm này trở đi, việc thực thi tất cả hàm có khoá CONSENT_API_READY được thêm vào sau đó sẽ đồng bộ. Xem các phần về khuôn khổ của IAB để biết thông tin cụ thể theo từng khung.
|
Kém |
CONSENT_DATA_READY
|
Các hàm được đẩy vào hàng đợi gọi lại bằng khoá CONSENT_DATA_READY sẽ được thực thi khi đã biết sự đồng ý của người dùng được thu thập trong một khuôn khổ về sự đồng ý được hỗ trợ (từ lần thực thi trước đó hoặc sau khi người dùng tương tác với thông báo yêu cầu đồng ý). Từ thời điểm này trở đi, việc thực thi tất cả hàm có khoá CONSENT_DATA_READY được thêm vào sau đó sẽ đồng bộ.
|
Cao |
AD_BLOCK_DATA_READY
|
Các hàm được đẩy vào hàng đợi gọi lại bằng khoá AD_BLOCK_DATA_READY sẽ được thực thi khi dữ liệu chặn quảng cáo có trong luồng. Từ thời điểm này trở đi, việc thực thi bất kỳ hàm nào có khoá AD_BLOCK_DATA_READY được thêm vào sau đó đều đồng bộ.
|
Cao |
INITIAL_CCPA_DATA_READY
|
Các hàm được đẩy vào hàng đợi gọi lại cùng với INITIAL_CCPA_DATA_READY sẽ được thực thi khi dữ liệu CPRA có trong luồng. Xin lưu ý rằng bạn phải nhận được yêu cầu tiếp theo về dữ liệu theo CPRA bằng cách gọi trực tiếp API Quyền riêng tư của Hoa Kỳ (__uspapi ).
|
Phương tiện |
googlefc.CallbackQueue {!Object}
Tóm tắt phương pháp:
Tên | Loại | Thông số | Kiểu dữ liệu trả về | Role |
---|---|---|---|---|
push(data)
|
number |
data : Một cặp khoá-giá trị, trong đó có khoá là một trong các loại có thể sử dụng dữ liệu và giá trị ở dạng hàm JavaScript sẽ được thực thi.
Các khoá cung cấp dữ liệu được chấp nhận là CONSENT_API_READY , CONSENT_DATA_READY , AD_BLOCK_DATA_READY và INITIAL_CCPA_DATA_READY .
|
Số lượng lệnh đã thêm tính đến nay. Hàm này trả về độ dài hiện tại của mảng. | Thực thi hàm được truyền vào, theo thứ tự dữ liệu có sẵn, rồi theo thứ tự thêm các hàm này vào hàng đợi. |
Ví dụ:
<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>}
Thể hiện các trạng thái chặn quảng cáo khác nhau của người dùng. Có các trạng thái sau:
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>}
Thể hiện các trạng thái khác nhau về việc chặn quảng cáo của người dùng. Có các trạng thái sau:
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>}
Thể hiện các trạng thái khác nhau về việc chặn quảng cáo của người dùng. Có các trạng thái sau:
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}
Đặt trường này thành true để ẩn liên kết Không bán mặc định và sử dụng liên kết Không bán tuỳ chỉnh.
Ví dụ:
<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>
Phương pháp: nội dung giải thích và ví dụ
googlefc.getConsentStatus(): {number}
googlefc.getConsentedProviderIds(): {!Array<string>}
- Thao tác này hiện luôn trả về một danh sách trống khi được gọi.
googlefc.showRevocationMessage(): {undefined}
Xoá hồ sơ đồng ý hiện tại và hiển thị thông báo yêu cầu đồng ý
áp dụng cho người dùng này. Khoá cần được chỉ định cho hàm này là CONSENT_DATA_READY
.
Ví dụ:
<button type="button" onclick="googlefc.callbackQueue.push({'CONSENT_DATA_READY': () => googlefc.showRevocationMessage()});">
Click here to revoke
</button>
googlefc.getAdBlockerStatus(): {number}
Trả về một giá trị trong AdBlockerStatusEnum tuỳ thuộc vào trạng thái chặn quảng cáo
của người dùng. Khoá cần được chỉ định cho hàm này là AD_BLOCK_DATA_READY
.
Ví dụ:
<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}
Trả về một giá trị trong AllowAdsStatusEnum
tuỳ thuộc vào trạng thái cho phép quảng cáo của
người dùng. Khoá cần được chỉ định cho hàm này là AD_BLOCK_DATA_READY
.
Ví dụ:
<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}
Trả về một giá trị trong InitialCcpaStatusEnum
tuỳ thuộc vào trạng thái CPRA của người dùng. Khoá cần được chỉ định cho hàm này là INITIAL_CCPA_DATA_READY
. Xin lưu ý rằng bạn phải nhận được mọi yêu cầu tiếp theo về dữ liệu theo CPRA bằng cách gọi trực tiếp API Quyền riêng tư của Hoa Kỳ (__uspapi
).
Ví dụ:
<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}
Mở hộp thoại xác nhận theo CPRA nếu đường liên kết mặc định Không bán bị ghi đè. Sau khi người dùng tương tác với hộp thoại xác nhận, hàm callback đã cung cấp sẽ được gọi bằng true
nếu người dùng quyết định chọn không tham gia và nếu không thì sẽ là false
.
Ví dụ:
<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>
Sử dụng giải pháp quản lý sự đồng ý của Google theo TCF phiên bản 2 của IAB cho GDPR
Nếu đang sử dụng các giải pháp quản lý sự đồng ý của Google để thu thập sự đồng ý theo GDPR theo khuôn khổ TCF phiên bản 2 của IAB, bạn nên sử dụng API TCF phiên bản 2 của IAB.
Bạn có thể sử dụng khoá hàng đợi gọi lại CONSENT_API_READY
để đảm bảo rằng các lệnh gọi lại tương ứng chỉ được gọi khi đã xác định API TCF phiên bản 2 của IAB trên trang. Bạn nên sử dụng lệnh này cùng với lệnh 'addEventListener'
của API TCF phiên bản 2 của IAB.
Ví dụ:
<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>
Bạn có thể sử dụng khoá hàng đợi gọi lại CONSENT_DATA_READY
để đảm bảo rằng các lệnh gọi lại tương ứng chỉ được gọi
khi thu thập sự đồng ý của người dùng và truy cập được bằng cách sử dụng API TCF phiên bản 2 của IAB.
Bạn có thể sử dụng lệnh này cùng với lệnh 'addEventListener'
– dữ liệu được cung cấp trong lệnh gọi đầu tiên của lệnh gọi lại mà bạn cung cấp sẽ chứa các lựa chọn đồng ý của người dùng (miễn là TCF phiên bản 2 áp dụng cho người dùng này). Xin lưu ý rằng với bản phát hành TCF phiên bản 2.2, lệnh 'getTCData'
hiện đã ngừng hoạt động.
Ví dụ:
<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>
Sử dụng giải pháp quản lý sự đồng ý của Google với khung GPP của IAB cho CPRA
Nếu đang sử dụng các giải pháp quản lý sự đồng ý của Google để thu thập lựa chọn không tham gia CPRA theo khung GPP của IAB, bạn nên sử dụng API GPP của IAB.
Do tính chất chọn không sử dụng của quy định theo CPRA, bạn có thể sử dụng khoá hàng đợi gọi lại
CONSENT_API_READY
hoặc
CONSENT_DATA_READY
để đảm bảo rằng API GPP của IAB có thể gọi được và trả về dữ liệu về sự đồng ý
tại thời điểm lệnh gọi lại được gọi.
<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>
Sử dụng giải pháp quản lý sự đồng ý của Google theo khuôn khổ GPP của IAB cho CPRA bằng đường liên kết Không bán tuỳ chỉnh
Nếu đang sử dụng các giải pháp quản lý sự đồng ý của Google để thu thập lựa chọn không tham gia CPRA theo khuôn khổ GPP của IAB, bạn có thể cung cấp đường liên kết Không bán tuỳ chỉnh bằng cách đặt cờ googlefc.ccpa.overrideDnsLink
thành 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>
Điều này đảm bảo rằng đường liên kết Không bán mặc định sẽ không hiển thị. Xin lưu ý rằng bạn có trách nhiệm hiển thị đường liên kết Không bán của riêng mình để tuân thủ CPRA. Sau đó, bạn cần xử lý hoạt động tương tác của người dùng với đường liên kết Không bán tuỳ chỉnh bằng cách gọi hộp thoại xác nhận theo 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>