แชร์ความคิดเห็นและช่วยปรับปรุงแผนกลยุทธ์ SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google โปรดทําแบบสํารวจประจําปีเกี่ยวกับ SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google ปี 2023 ก่อนวันที่ 5 พฤษภาคม 2023

เริ่มต้น

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

ภายใต้นโยบายการยินยอมของผู้ใช้ EU ของ Google คุณต้องเปิดเผยข้อมูลบางอย่างต่อผู้ใช้ในเขตเศรษฐกิจยุโรป (EEA) และสหราชอาณาจักร รวมถึงขอความยินยอมจากผู้ใช้ให้ใช้คุกกี้หรือพื้นที่เก็บข้อมูลอื่นในเครื่องในกรณีที่กฎหมายกําหนด รวมถึงเพื่อใช้ข้อมูลส่วนตัว (เช่น AdID) ในการแสดงโฆษณา นโยบายนี้เป็นผลมาจากข้อกําหนดด้าน ePrivacy และกฎระเบียบให้ความคุ้มครองข้อมูลส่วนบุคคลของผู้บริโภค (GDPR) ของสหภาพยุโรป

เพื่อสนับสนุนผู้เผยแพร่โฆษณาในการปฏิบัติตามหน้าที่ของตนภายใต้นโยบายนี้ Google จึงเสนอ SDK สําหรับ User Messaging Platform (UMP) UMP SDK ได้รับการอัปเดตให้รองรับมาตรฐาน IAB ล่าสุดแล้ว และตอนนี้คุณยังกําหนดค่าต่างๆ ใน AdMob ความเป็นส่วนตัวและการแสดงข้อความแจ้งผู้ใช้ได้อย่างสะดวก

สิ่งที่ต้องดำเนินการก่อน

ประเภทข้อความสําหรับผู้ใช้

ดู ประเภทข้อความสําหรับผู้ใช้ เพื่อดูรายการข้อความที่รองรับทั้งหมด ดูคําแนะนําเฉพาะเกี่ยวกับการใช้งานข้อความแต่ละประเภทได้ที่แถบนําทางด้านซ้าย

พิจารณาว่าจําเป็นต้องแสดงข้อความหรือไม่

คุณควรขออัปเดตข้อมูลความยินยอมของผู้ใช้ในทุกการเปิดตัวแอป โดยใช้ RequestConsentInfoUpdate() ก่อนโหลดแบบฟอร์ม กรณีนี้จะกําหนดว่าผู้ใช้ต้องให้ความยินยอมหรือไม่ หากยังไม่ได้ดําเนินการ ความยินยอมของผู้ใช้หมดอายุหรือไม่

ใช้ข้อมูลที่เก็บไว้ในออบเจ็กต์ ConsentInformationเมื่อคุณนําเสนอแบบฟอร์มเมื่อจําเป็น

ตัวอย่างวิธีตรวจสอบสถานะการเริ่มต้นใช้งานแอปมีดังนี้

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.RequestConsentInfoUpdate(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.
    }
}

โหลดแบบฟอร์ม (หากมี)

ก่อนแสดงแบบฟอร์ม คุณต้องพิจารณาว่ามีแบบฟอร์มที่ใช้ได้หรือไม่ แบบฟอร์มที่ไม่พร้อมใช้งานอาจเป็นเพราะผู้ใช้เปิดใช้การติดตามโฆษณาแบบจํากัด หรือคุณได้ติดแท็กแบบฟอร์มว่ามีอายุต่ํากว่าอายุที่ให้ความยินยอมได้

หากต้องการตรวจสอบความพร้อมใช้งานของแบบฟอร์ม ให้ใช้the IsConsentFormAvailable() method on the ConsentInformation instance ที่คุณสร้างไว้ก่อนหน้านี้

จากนั้นเพิ่มเมธอด Wrapper เพื่อโหลดแบบฟอร์ม ดังนี้

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.
    // 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.
}

หากต้องการโหลดแบบฟอร์ม ให้ใช้ the static LoadConsentForm() method on the ConsentForm class

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

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

    // The consent form was loaded.
    // You are now ready to show the form.
}

นําเสนอแบบฟอร์มหากจําเป็น

หลังจากที่กําหนดความพร้อมใช้งานของแบบฟอร์มและโหลดแล้ว ให้ใช้เมธอดShow() บนอินสแตนซ์ConsentForm เพื่อนําเสนอแบบฟอร์ม

ใช้ออบเจ็กต์ConsentInformation จากค่าเริ่มต้นเพื่อตรวจสอบเมธอดconsent status และอัปเดตเมธอดLoadConsentForm() ดังนี้

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

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

    // The consent form was loaded.
    // 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();
}

หากคุณจําเป็นต้องดําเนินการใดๆ หลังจากผู้ใช้เลือกตัวเลือกหรือปิดแบบฟอร์มแล้ว ให้วางตรรกะนั้นในเครื่องจัดการหรือเรียกกลับสําหรับแบบฟอร์ม

การทดสอบ

บังคับภูมิศาสตร์

UMP SDK เป็นวิธีทดสอบพฤติกรรมของแอปเสมือนว่าอุปกรณ์อยู่ใน EEA หรือสหราชอาณาจักรโดยใช้ the DebugGeography field on ConsentDebugSettings

คุณต้องระบุรหัสที่แฮชของอุปกรณ์ทดสอบในการตั้งค่าการแก้ไขข้อบกพร่องของแอปเพื่อให้ใช้ฟังก์ชันแก้ไขข้อบกพร่องได้ หากคุณเรียกใช้ RequestConsentInfoUpdate() โดยไม่ตั้งค่านี้ แอปจะบันทึกแฮชรหัสที่จําเป็นเมื่อเรียกใช้

void Start()
{
    var debugSettings = new ConsentDebugSettings
    {
        // Geography appears as in EEA for debug devices.
        DebugGeography = DebugGeography.DEBUG_GEOGRAPHY_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.RequestConsentInfoUpdate(request,
                                                OnConsentInfoUpdated);
}

DebugGeography enumช่วยให้คุณมีตัวเลือกในการ ขยายภูมิศาสตร์เป็นอย่างใดอย่างหนึ่งต่อไปนี้

การแก้ไขข้อบกพร่องด้านภูมิศาสตร์ คำอธิบาย
DISABLED ปิดใช้งานการแก้ไขข้อบกพร่องทางภูมิศาสตร์แล้ว
EEA ภูมิศาสตร์จะปรากฏใน EEA สําหรับอุปกรณ์แก้ไขข้อบกพร่อง
Not_EEA ภูมิศาสตร์ไม่แสดงใน EEA สําหรับอุปกรณ์แก้ไขข้อบกพร่อง

โปรดทราบว่าการตั้งค่าแก้ไขข้อบกพร่องใช้ได้เฉพาะในอุปกรณ์ทดสอบเท่านั้น ไม่จําเป็นต้องเพิ่มโปรแกรมจําลองลงในรายการรหัสอุปกรณ์เนื่องจากเปิดใช้การทดสอบโดยค่าเริ่มต้นอยู่แล้ว

ในการทดสอบแอปด้วย UMP SDK การรีเซ็ตสถานะ SDK อาจเป็นประโยชน์สําหรับคุณในการจําลองประสบการณ์การติดตั้งครั้งแรกของผู้ใช้ โดย SDK นี้มี Reset() วิธีการให้ทําเช่นนี้

ConsentInformation.Reset();

คุณควรเรียก Reset() ด้วยหากคุณตัดสินใจนํา UMP SDK ออกจากโปรเจ็กต์โดยสมบูรณ์