Bắt đầu

Theo Chính sách về sự đồng ý của người dùng ở Liên minh Châu Âu của Google, bạn phải tiết lộ một số thông tin nhất định cho người dùng ở Khu vực kinh tế Châu Âu (EEA) cùng với Vương quốc Anh và lấy sự đồng ý của họ để sử dụng cookie hoặc phương pháp lưu trữ cục bộ khác, trong trường hợp pháp luật yêu cầu và sử dụng dữ liệu cá nhân (chẳng hạn như AdID) để phân phát quảng cáo. Chính sách này thể hiện các yêu cầu của Chỉ thị về quyền riêng tư và truyền thông điện tử của Liên minh Châu Âu và Quy định chung về bảo vệ dữ liệu (GDPR).

Để hỗ trợ các nhà xuất bản tuân thủ các nghĩa vụ của họ theo chính sách này, Google cung cấp SDK Nền tảng thông báo cho người dùng (UMP). SDK UMP đã được cập nhật để hỗ trợ các tiêu chuẩn mới nhất của IAB. Giờ đây, bạn có thể xử lý tất cả cấu hình này một cách thuận tiện trong AdMob quyền riêng tư và thông báo.

Điều kiện tiên quyết

Loại thông báo dành cho người dùng

Xem Các loại thông báo cho người dùng để biết danh sách đầy đủ các thông báo được hỗ trợ. Để biết hướng dẫn cụ thể về cách triển khai từng loại thông báo, hãy xem thanh điều hướng bên trái.

Xác định xem một thông báo có cần hiển thị hay không

Bạn nên yêu cầu cập nhật thông tin về sự đồng ý của người dùng mỗi lần chạy ứng dụng, bằng cách sử dụng Update() trước khi tải một biểu mẫu. Thông tin này có thể xác định xem người dùng có cần đồng ý hay không nếu họ chưa thực hiện việc này hoặc nếu sự đồng ý của họ đã hết hạn.

Sử dụng thông tin được lưu trữ trong đối tượng ConsentInformation khi bạn hiển thị biểu mẫu (nếu bắt buộc).

Dưới đây là ví dụ về cách kiểm tra trạng thái khi khởi động ứng dụng:

using System.Collections.Generic;
using UnityEngine;
using GoogleMobileAds.Ump;
using GoogleMobileAds.Ump.Api;

public class UmpManager : MonoBehaviour
{
    void Start()
    {
        // Set tag for under age of consent.
        // Here false means users are not under age.
        ConsentRequestParameters request = new ConsentRequestParameters
        {
            TagForUnderAgeOfConsent = false,
        };

        // Check the current consent information status.
        ConsentInformation.Update(request, OnConsentInfoUpdated);
    }

    void OnConsentInfoUpdated(FormError error)
    {
        if (error != null)
        {
            // Handle the error.
            UnityEngine.Debug.LogError(error);
            return;
        }

        // If the error is null, the consent information state was updated.
        // You are now ready to check if a form is available.
    }
}

Tải một biểu mẫu (nếu có)

Trước khi hiển thị một biểu mẫu, trước tiên bạn cần xác định xem biểu mẫu đó có sẵn hay không. Biểu mẫu không có sẵn có thể là do người dùng đã bật tính năng theo dõi quảng cáo bị hạn chế hoặc nếu bạn đã gắn thẻ người dùng đó là dưới độ tuổi hợp pháp để tự quản lý tài khoản.

Để kiểm tra xem một biểu mẫu có sẵn hay không, hãy sử dụng the IsConsentFormAvailable() method on the ConsentInformation instance bạn đã tạo trước đó.

Sau đó, thêm phương thức trình bao bọc để tải biểu mẫu:

void OnConsentInfoUpdated(FormError error)
{
    if (error != null)
    {
        // Handle the error.
        UnityEngine.Debug.LogError(error);
        return;
    }

    // If the error is null, the consent information state was updated.
    // You are now ready to check if a form is available.
    if (ConsentInformation.IsConsentFormAvailable())
    {
        LoadConsentForm();
    }
}

void LoadConsentForm()
{
    // Loads a consent form.
}

Để tải biểu mẫu, hãy sử dụng the static Load() method on the ConsentForm class.

private ConsentForm _consentForm;

void LoadConsentForm()
{
    // Loads a consent form.
    ConsentForm.Load(OnLoadConsentForm);
}

void OnLoadConsentForm(ConsentForm consentForm, FormError error)
{
    if (error != null)
    {
        // Handle the error.
        UnityEngine.Debug.LogError(error);
        return;
    }

    // The consent form was loaded.
    // Save the consent form for future requests.
    _consentForm = consentForm;

    // You are now ready to show the form.
}

Trình bày biểu mẫu nếu cần

Sau khi bạn xác định một biểu mẫu có sẵn và tải biểu mẫu đó, hãy sử dụng phương thứcShow() trên bản sao ConsentForm để trình bày biểu mẫu.

Sử dụng đối tượngConsentInformation từ trước đó để kiểm traconsent status và cập nhật phương thứcLoadForm() :

void LoadForm()
{
    // Loads a consent form.
    ConsentForm.Load(OnLoadConsentForm);
}

void OnLoadConsentForm(ConsentForm consentForm, FormError error)
{
    if (error != null)
    {
        // Handle the error.
        UnityEngine.Debug.LogError(error);
        return;
    }

    // The consent form was loaded.
    // Save the consent form for future requests.
    _consentForm = consentForm;

    // You are now ready to show the form.
    if(ConsentInformation.ConsentStatus == ConsentStatus.Required)
    {
        _consentForm.Show(OnShowForm);
    }
}

void OnShowForm(FormError error)
{
    if (error != null)
    {
        // Handle the error.
        UnityEngine.Debug.LogError(error);
        return;
    }

    // Handle dismissal by reloading form.
    LoadForm();
}

Nếu bạn cần thực hiện bất kỳ hành động nào sau khi người dùng đã lựa chọn hoặc đóng biểu mẫu, hãy đặt logic đó vào trình xử lý hoàn thành hoặc lệnh gọi lại cho biểu mẫu của bạn.

Kiểm thử

Buộc có khu vực địa lý

SDK UMP đưa ra cách kiểm thử hành vi của ứng dụng như thể thiết bị được đặt tại Khu vực kinh tế Châu Âu (EEA) hoặc Vương quốc Anh bằng the DebugGeography field on ConsentDebugSettings.

Bạn phải cung cấp mã băm của thiết bị thử nghiệm trong phần cài đặt gỡ lỗi của ứng dụng để sử dụng chức năng gỡ lỗi. Nếu bạn gọiUpdate() mà không đặt giá trị này, thì ứng dụng của bạn sẽ ghi lại hàm băm mã nhận dạng bắt buộc khi chạy.

void Start()
{
    var debugSettings = new ConsentDebugSettings
    {
        // Geography appears as in EEA for debug devices.
        DebugGeography = DebugGeography.EEA,
        TestDeviceHashedIds = new List<string>
        {
            "TEST-DEVICE-HASHED-ID"
        }
    };

    // Set tag for under age of consent.
    // Here false means users are not under age.
    ConsentRequestParameters request = new ConsentRequestParameters
    {
        TagForUnderAgeOfConsent = false,
        ConsentDebugSettings = debugSettings,
    };

    // Check the current consent information status.
    ConsentInformation.Update(request, OnConsentInfoUpdated);
}

Với DebugGeography enum, bạn có thể chỉ định vị trí địa lý thành một trong các lựa chọn sau:

Vị trí địa lý gỡ lỗi Mô tả
DISABLED Đã tắt vị trí địa lý gỡ lỗi.
EEA Vị trí địa lý nằm ở Khu vực kinh tế Châu Âu (EEA) đối với thiết bị gỡ lỗi.
Not_EEA Vị trí địa lý không nằm ở Khu vực kinh tế Châu Âu (EEA) đối với thiết bị gỡ lỗi.

Lưu ý rằng cài đặt gỡ lỗi chỉ hoạt động trên thiết bị thử nghiệm. Bạn không cần thêm trình mô phỏng vào danh sách mã thiết bị vì trình mô phỏng đã được bật tính năng kiểm thử theo mặc định.

Khi kiểm thử ứng dụng bằng SDK UMP, bạn nên đặt lại trạng thái của SDK để có thể mô phỏng trải nghiệm cài đặt đầu tiên của người dùng. SDK này cung cấp phương thức Reset() để làm việc này.

ConsentInformation.Reset();

Bạn cũng nên gọi Reset() nếu quyết định xoá hoàn toàn SDK UMP khỏi dự án.