ตั้งค่า UMP SDK

เลือกแพลตฟอร์ม: Android ใหม่ Android iOS Unity Flutter

SDK สำหรับ User Messaging Platform (UMP) ของ Google เป็นเครื่องมือด้านความเป็นส่วนตัวและการรับส่งข้อความที่จะช่วยคุณจัดการตัวเลือกความเป็นส่วนตัว ดูข้อมูลเพิ่มเติมได้ที่ เกี่ยวกับความเป็นส่วนตัวและการรับส่งข้อความ

สร้างประเภทข้อความ

สร้างข้อความสำหรับผู้ใช้ด้วยประเภทข้อความสำหรับผู้ใช้ที่มีให้เลือกประเภทใดประเภทหนึ่งในแท็บความเป็นส่วนตัวและการรับส่งข้อความ ของบัญชี AdMob UMP SDK จะพยายามแสดงข้อความความเป็นส่วนตัวที่สร้างจากรหัสแอปพลิเคชัน AdMob ที่ตั้งค่าไว้ในโปรเจ็กต์

ดูรายละเอียดเพิ่มเติมได้ที่ เกี่ยวกับความเป็นส่วนตัวและการรับส่งข้อความ

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

  • ต้องได้รับความยินยอมหรือไม่ เช่น ต้องได้รับความยินยอมเป็นครั้งแรก หรือการตัดสินใจให้ความยินยอมครั้งก่อนหมดอายุ
  • ต้องมีจุดแรกเข้าของตัวเลือกความเป็นส่วนตัวหรือไม่ ข้อความความเป็นส่วนตัวบางข้อความกำหนดให้แอปต้องอนุญาตให้ผู้ใช้แก้ไขตัวเลือกความเป็นส่วนตัวได้ทุกเมื่อ
void Start()
{
    // Create a ConsentRequestParameters object.
    ConsentRequestParameters requestParameters = new ConsentRequestParameters();

    // Request an update of the user's consent information.
    ConsentInformation.Update(requestParameters, OnConsentInfoUpdated);
}

โหลดและแสดงแบบฟอร์มข้อความความเป็นส่วนตัว

หลังจากได้รับสถานะความยินยอมที่อัปเดตล่าสุดแล้ว ให้เรียกใช้ LoadAndShowConsentFormIfRequired() เพื่อโหลดแบบฟอร์มที่จำเป็นสำหรับการขอความยินยอมจากผู้ใช้ หลังจากโหลดแล้ว แบบฟอร์มจะแสดงขึ้นทันที

ConsentForm.LoadAndShowConsentFormIfRequired((FormError formError) =>
{
    if (formError != null)
    {
        // Consent gathering failed.
        Debug.LogError("Error loading/showing consent form: " + formError.Message);
    }

    // ...
});

ตัวเลือกความเป็นส่วนตัว

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

ตรวจสอบว่าต้องมีจุดแรกเข้าของตัวเลือกความเป็นส่วนตัวหรือไม่

หลังจากเรียกใช้ Update() แล้ว ให้ตรวจสอบ PrivacyOptionsRequirementStatus เพื่อ ดูว่าแอปของคุณต้องมีจุดแรกเข้าของตัวเลือกความเป็นส่วนตัวหรือไม่ หากต้องมี ให้เพิ่มองค์ประกอบ UI ที่มองเห็นและโต้ตอบได้ลงในแอปซึ่งจะ แสดงแบบฟอร์มตัวเลือกความเป็นส่วนตัว หากไม่จำเป็นต้องมีจุดแรกเข้าของความเป็นส่วนตัว ให้กำหนดค่าองค์ประกอบ UI ไม่ให้มองเห็นและโต้ตอบไม่ได้

void UpdatePrivacyButton()
{
    if (_privacyButton != null)
    {
        // Enable the button only if a privacy options entry point is required.
        _privacyButton.interactable =
            ConsentInformation.PrivacyOptionsRequirementStatus == PrivacyOptionsRequirementStatus.Required;
    }
}

ดูรายการสถานะข้อกำหนดตัวเลือกความเป็นส่วนตัวทั้งหมดได้ที่ ConsentInformation.PrivacyOptionsRequirementStatus

แสดงแบบฟอร์มตัวเลือกความเป็นส่วนตัว

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

public void ShowPrivacyOptionsForm()
{
    ConsentForm.ShowPrivacyOptionsForm((FormError showError) =>
    {
        if (showError != null)
        {
            Debug.LogError("Error showing privacy options form: " + showError.Message);
        }
    });
}

ขอโฆษณาโดยได้รับความยินยอมของผู้ใช้

ก่อนที่จะขอโฆษณา ให้ใช้ CanRequestAds() เพื่อตรวจสอบว่าคุณได้รับความยินยอมจากผู้ใช้แล้วหรือไม่

ConsentInformation.CanRequestAds()

ต่อไปนี้คือตำแหน่งที่คุณสามารถตรวจสอบว่าขอโฆษณาได้หรือไม่ขณะรวบรวมความยินยอม

  • หลังจาก UMP SDK รวบรวมความยินยอมในเซสชันปัจจุบัน
  • ทันทีหลังจากเรียกใช้ Update() UMP SDK อาจได้รับความยินยอมในเซสชันแอปก่อนหน้า

หากเกิดข้อผิดพลาดระหว่างกระบวนการรวบรวมความยินยอม ให้ตรวจสอบว่าคุณขอโฆษณาได้หรือไม่ UMP SDK จะใช้สถานะความยินยอมจากเซสชันแอปก่อนหน้า

ป้องกันไม่ให้เกิดงานขอโฆษณาซ้ำซ้อน

เมื่อตรวจสอบ CanRequestAds() หลังจากรวบรวมความยินยอมและหลังจากเรียกใช้ Update() แล้ว ให้ตรวจสอบว่าตรรกะของคุณป้องกันไม่ให้เกิดคำขอโฆษณาซ้ำซ้อนซึ่ง อาจทำให้การตรวจสอบทั้ง 2 รายการแสดงผล true เช่น ใช้ตัวแปรบูลีน

การทดสอบ

หากต้องการทดสอบการผสานรวมในแอปขณะพัฒนา ให้ทำตามขั้นตอนต่อไปนี้เพื่อลงทะเบียนอุปกรณ์ทดสอบโดยใช้โปรแกรม อย่าลืมนำโค้ดที่ตั้งค่ารหัสอุปกรณ์ทดสอบเหล่านี้ออกก่อนที่จะเผยแพร่แอป

  1. เรียกใช้ Update()
  2. ตรวจสอบเอาต์พุตบันทึกเพื่อหาข้อความที่คล้ายกับตัวอย่างต่อไปนี้ ซึ่งแสดงรหัสอุปกรณ์และวิธีเพิ่มรหัสเป็นอุปกรณ์ทดสอบ

    Android

    Use new ConsentDebugSettings.Builder().addTestDeviceHashedId("33BE2250B43518CCDA7DE426D04EE231")
    to set this as a debug device.
    

    iOS

    <UMP SDK>To enable debug mode for this device,
    set: UMPDebugSettings.testDeviceIdentifiers = @[2077ef9a63d2b398840261c8221a0c9b]
    
  3. คัดลอกรหัสอุปกรณ์ทดสอบไปยังคลิปบอร์ด

  4. แก้ไขโค้ดเพื่อเรียกใช้ DebugGeography.TestDeviceHashedIds และส่ง รายการรหัสอุปกรณ์ทดสอบ

    void Start()
    {
        var debugSettings = new ConsentDebugSettings
        {
            TestDeviceHashedIds =
            new List<string>
            {
                "TEST-DEVICE-HASHED-ID"
            }
        };
    
        // Create a ConsentRequestParameters object.
        ConsentRequestParameters request = new ConsentRequestParameters
        {
            ConsentDebugSettings = debugSettings,
        };
    
        // Check the current consent information status.
        ConsentInformation.Update(request, OnConsentInfoUpdated);
    }
    

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

UMP SDK มีวิธีทดสอบลักษณะการทำงานของแอปเสมือนว่าอุปกรณ์ อยู่ในภูมิภาคต่างๆ เช่น เขตเศรษฐกิจยุโรป (EEA) สหราชอาณาจักร (UK) และสวิตเซอร์แลนด์ โดยใช้ DebugGeography โปรดทราบว่าการตั้งค่าการแก้ไขข้อบกพร่องจะทำงานในอุปกรณ์ทดสอบเท่านั้น

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"
        }
    };

    // Create a ConsentRequestParameters object.
    ConsentRequestParameters request = new ConsentRequestParameters
    {
        ConsentDebugSettings = debugSettings,
    };

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

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

ConsentInformation.Reset();

ตัวอย่างใน GitHub

ดูตัวอย่างการผสานรวม UMP SDK แบบเต็มที่ครอบคลุมในหน้านี้ได้ใน HelloWorld