เริ่มต้นใช้งาน

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

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

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

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

นําเข้า SDK

CocoaPods (แนะนำ)

วิธีที่ง่ายที่สุดในการนำ SDK ไปไว้ในโปรเจ็กต์ iOS คือการใช้ CocoaPods เปิด Podfile ของโปรเจ็กต์ แล้วเพิ่มบรรทัดนี้ลงในเป้าหมายของแอป

pod 'GoogleUserMessagingPlatform'

จากนั้นเรียกใช้คำสั่งต่อไปนี้

pod install --repo-update

หากเพิ่งเริ่มใช้ CocoaPods โปรดดูรายละเอียดเกี่ยวกับวิธีสร้างและใช้ Podfile ได้ที่การใช้ CocoaPods

Swift Package Manager

UMP SDK ยังรองรับ Swift Package Manager ด้วย ทำตามขั้นตอนต่อไปนี้เพื่อนําเข้าแพ็กเกจ Swift

  1. ใน Xcode ให้ติดตั้งแพ็กเกจ Swift ของ UMP SDK โดยไปที่ไฟล์ > เพิ่มแพ็กเกจ...

  2. ในพรอมต์ที่ปรากฏขึ้น ให้ค้นหาที่เก็บ GitHub ของแพ็กเกจ Swift ของ UMP SDK

    https://github.com/googleads/swift-package-manager-google-user-messaging-platform.git
    
  3. เลือกเวอร์ชันของแพ็กเกจ UMP SDK Swift ที่ต้องการใช้ สําหรับโปรเจ็กต์ใหม่ เราขอแนะนําให้ใช้อัปเดตเป็นเวอร์ชันหลักถัดไป

จากนั้น Xcode จะจับคู่ข้อมูลและดาวน์โหลดทรัพยากร Dependency ของแพ็กเกจในเบื้องหลัง โปรดดูรายละเอียดเพิ่มเติมเกี่ยวกับวิธีเพิ่มแพ็กเกจที่ต้องพึ่งพาที่บทความของ Apple

การดาวน์โหลดด้วยตนเอง

อีกวิธีในการนําเข้า SDK คือการนําเข้าด้วยตนเอง

ดาวน์โหลด SDK

จากนั้นลากเฟรมเวิร์กไปยังโปรเจ็กต์ Xcode โดยอย่าลืมเลือกคัดลอกรายการหากจำเป็น

จากนั้นคุณสามารถรวมเฟรมเวิร์กไว้ในไฟล์ใดก็ได้ที่ต้องการโดยใช้

Swift

import UserMessagingPlatform

Objective-C

#include <UserMessagingPlatform/UserMessagingPlatform.h>

เพิ่มรหัสแอปพลิเคชัน

คุณดูรหัสแอปพลิเคชันได้ในUI ของ AdMob เพิ่มรหัสลงใน Info.plist ด้วยข้อมูลโค้ดต่อไปนี้

<key>GADApplicationIdentifier</key>
<string>ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy</string>

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

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

Swift


// Requesting an update to consent information should be called on every app launch.
UMPConsentInformation.sharedInstance.requestConsentInfoUpdate(with: parameters) {
  requestConsentError in
  // ...
}

SwiftUI


// Requesting an update to consent information should be called on every app launch.
UMPConsentInformation.sharedInstance.requestConsentInfoUpdate(with: parameters) {
  requestConsentError in
  // ...
}

Objective-C


// Requesting an update to consent information should be called on every app launch.
[UMPConsentInformation.sharedInstance
    requestConsentInfoUpdateWithParameters:parameters
                         completionHandler:^(NSError *_Nullable requestConsentError) {
                           // ...
                         }];

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

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

Swift


try await UMPConsentForm.loadAndPresentIfRequired(from: viewController)

SwiftUI


try await UMPConsentForm.loadAndPresentIfRequired(from: nil)

Objective-C


[UMPConsentForm
    loadAndPresentIfRequiredFromViewController:viewController
                             completionHandler:^(NSError *_Nullable loadAndPresentError) {
                                 // Consent gathering process is complete.
                                }];

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

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

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

หลังจากเรียกใช้ requestConsentInfoUpdate(with:completionHandler:) แล้ว ให้ตรวจสอบ UMPConsentInformation.sharedInstance.privacyOptionsRequirementStatus เพื่อดูว่าแอปของคุณต้องใช้จุดแรกเข้าของตัวเลือกความเป็นส่วนตัวหรือไม่ หากต้องใช้จุดแรกเข้า ให้เพิ่มองค์ประกอบ UI ที่มองเห็นได้และโต้ตอบได้ลงในแอปซึ่งแสดงแบบฟอร์มตัวเลือกความเป็นส่วนตัว หากไม่จําเป็นต้องใช้จุดแรกเข้าด้านความเป็นส่วนตัว ให้กําหนดค่าองค์ประกอบ UI ให้มองไม่เห็นและโต้ตอบไม่ได้

Swift


var isPrivacyOptionsRequired: Bool {
  return UMPConsentInformation.sharedInstance.privacyOptionsRequirementStatus == .required
}

Objective-C


- (BOOL)isPrivacyOptionsRequired {
  return UMPConsentInformation.sharedInstance.privacyOptionsRequirementStatus ==
         UMPPrivacyOptionsRequirementStatusRequired;
}

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

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

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

Swift


try await UMPConsentForm.presentPrivacyOptionsForm(from: viewController)

SwiftUI


try await UMPConsentForm.presentPrivacyOptionsForm(from: nil)

Objective-C


[UMPConsentForm presentPrivacyOptionsFormFromViewController:viewController
                                          completionHandler:completionHandler];

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

ก่อนขอโฆษณา ให้ใช้ UMPConsentInformation.sharedInstance.canRequestAds เพื่อตรวจสอบว่าคุณได้รับความยินยอมจากผู้ใช้แล้วหรือไม่

Swift

UMPConsentInformation.sharedInstance.canRequestAds

Objective-C

UMPConsentInformation.sharedInstance.canRequestAds;

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

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

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

ป้องกันไม่ให้มีการทำงานกับคําขอโฆษณาซ้ำซ้อน

เมื่อคุณตรวจสอบ UMPConsentInformation.sharedInstance.canRequestAds หลังจากรวบรวมความยินยอมและหลังจากเรียกใช้ requestConsentInfoUpdate(with:completionHandler:) โปรดตรวจสอบว่าตรรกะของคุณป้องกันคําขอโฆษณาที่ซ้ำซ้อนซึ่งอาจทําให้ทั้ง 2 การตรวจสอบแสดงผลเป็น true เช่น กับตัวแปรบูลีน

การทดสอบ

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

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

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

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

    Swift

    let parameters = UMPRequestParameters()
    let debugSettings = UMPDebugSettings()
    
    debugSettings.testDeviceIdentifiers = ["TEST-DEVICE-HASHED-ID"]
    parameters.debugSettings = debugSettings
    
    // Include the UMPRequestParameters in your consent request.
    UMPConsentInformation.sharedInstance.requestConsentInfoUpdate(
        with: parameters,
        completionHandler: { error in
          // ...
        })
    

    Objective-C

    UMPRequestParameters *parameters = [[UMPRequestParameters alloc] init];
    UMPDebugSettings *debugSettings = [[UMPDebugSettings alloc] init];
    
    debugSettings.testDeviceIdentifiers = @[ @"TEST-DEVICE-HASHED-ID" ];
    parameters.debugSettings = debugSettings;
    
    // Include the UMPRequestParameters in your consent request.
    [UMPConsentInformation.sharedInstance
        requestConsentInfoUpdateWithParameters:parameters
                            completionHandler:^(NSError *_Nullable error){
                              // ...
    }];
    

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

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

Swift

let parameters = UMPRequestParameters()
let debugSettings = UMPDebugSettings()

debugSettings.testDeviceIdentifiers = ["TEST-DEVICE-HASHED-ID"]
debugSettings.geography = .EEA
parameters.debugSettings = debugSettings

// Include the UMPRequestParameters in your consent request.
UMPConsentInformation.sharedInstance.requestConsentInfoUpdate(
    with: parameters,
    completionHandler: { error in
      // ...
    })

Objective-C

UMPRequestParameters *parameters = [[UMPRequestParameters alloc] init];
UMPDebugSettings *debugSettings = [[UMPDebugSettings alloc] init];

debugSettings.testDeviceIdentifiers = @[ @"TEST-DEVICE-HASHED-ID" ];
debugSettings.geography = UMPDebugGeographyEEA;
parameters.debugSettings = debugSettings;

// Include the UMPRequestParameters in your consent request.
[UMPConsentInformation.sharedInstance
    requestConsentInfoUpdateWithParameters:parameters
                         completionHandler:^(NSError *_Nullable error){
                           // ...
}];

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

Swift

UMPConsentInformation.sharedInstance.reset()

Objective-C

[UMPConsentInformation.sharedInstance reset];

ตัวอย่างใน GitHub

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