Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> สมาร์ทโฟน >> iPhone

การเข้าถึง IDFA บน iOS 14: คู่มือสมบูรณ์สำหรับผู้โฆษณา

ถ้าหัวข้อบทความนี้มีความหมายกับคุณ คุณน่าจะรู้จักแผ่นดินไหวจาก iOS 14

ด้วยการเปิดตัว iOS 14 มีการเปลี่ยนแปลงใหญ่โตในวิธีที่แอปพลิเคชันรวบรวมข้อมูลผู้ใช้ หนึ่งในนั้นเกี่ยวกับ Identifier For Advertisers (หรือ IDFA) และวิธีที่แอปพลิเคชันเข้าถึงมัน

แต่สำหรับผู้ที่ไม่รู้ เรามาอธิบายก่อนว่า IDFA คืออะไร และทำไมมันถึงสำคัญ

IDFA คืออะไร?

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

บริษัททำได้ด้วยสิ่งที่เรียกว่า IDFA (Identifier For Advertisers) นี่คือ UUID String ที่ให้โฆษณากรจับคู่ผู้ใช้กับพฤติกรรมของพวกเขา

ตัวอย่าง UUID String: 123e4567-e89b-12d3-a456–426614174000

แล้วการเปลี่ยนแปลงที่เราพูดถึงก่อนหน้านี้คืออะไร?

สรุปสั้นๆ แอปพลิเคชันจะต้องแสดง Dialog ให้ผู้ใช้ ถามว่าต้องการอนุญาตให้แอปติดตามพวกเขาหรือไม่

การเข้าถึง IDFA บน iOS 14: คู่มือสมบูรณ์สำหรับผู้โฆษณา
Dialog การอนุมัติการติดตาม

ดูน่ากลัวใช่ไหม?

สิ่งนี้ตรงข้ามกับวิธีการทำงานก่อน iOS 14 ที่คุณแค่เช็คว่าอุปกรณ์เปิด Limited Ad Tracking หรือปิด

OS ใหม่ล่าสุดของ Apple (iOS 14) พร้อมใช้งานแล้ว (ตั้งแต่ 16 กันยายน) นักพัฒนาที่ใช้ IDFA ต้องเปลี่ยนแอปเพื่อให้เข้ากันได้กับ iOS 14

วันที่ 3 กันยายน Apple อัปเดตและเลื่อน Deadline การอัปเดตเหล่านี้ไปต้นปีหน้า:

“เพื่อให้เวลานักพัฒนาทำการเปลี่ยนแปลงที่จำเป็น แอปจะต้องขออนุญาตติดตามผู้ใช้ตั้งแต่ต้นปีหน้า”

ตอนนี้เรามีเวลาคืนใจและหายใจอีกครั้ง มาเตรียมตัวสำหรับ New Normal ในปี 2021 กัน

ในบทความนี้ เราจะนำเสนอพื้นหลังเกี่ยวกับ IDFA และดูว่าเราสามารถได้ค่ามันจาก iOS 14 ขึ้นไปอย่างไร

IDFA ถูกใช้โดยโฆษณากรอย่างไร?

ลองนึกสถานการณ์ (ก่อน COVID-19) คุณเล่นเว็บบน iPhone หาที่พักสำหรับวันหยุดต่อไป

โฆษณาแต่ละอันจะส่ง Pixel พร้อม IDFA ของคุณไปด้วย โฆษณากรเห็นว่าคุณดูโฆษณาโรงแรมเยอะมาก จากการจับคู่ IDFA และสรุปว่าคุณกำลังมองหาจองห้องพัก

จากนั้น ไม่กี่วันคุณจะโดนโชว์โฆษณาห้องพักเยอะมาก

เทคโนโลยีที่เรียบง่ายแต่ลึกซึ้งนี้เข้ามาในชีวิตเราตั้งแต่ 2012 กับ iOS 6 ตั้งแต่นั้นมามีการเปลี่ยนแปลงมาก และ iOS 14 กลับพลิกอุตสาหกรรมอีกครั้ง

✋ หมายเหตุ: เพื่อใช้ API ใหม่เหล่านี้ คุณต้องอัปเกรด/ดาวน์โหลด XCode 12

Advertising Tracking และการได้ IDFA

ก่อน iOS 14 การได้ IDFA ค่อนข้างง่าย

คุณต้องเช็คว่า Advertising Tracking เปิดหรือปิด โดยทำนี้:

[[ASIdentifierManager sharedManager] isAdvertisingTrackingEnabled]

และถ้าปิด คุณสามารถได้ IDFA ผ่าน Class ASIdentifierManager เช่นนี้:

[[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];

ง่ายใช่ไหม?

☝️ เริ่มจาก iOS 10, ถ้าผู้ใช้ปิด Advertising Tracking เมธอดข้างต้นจะคืน UUID String เต็มไปด้วยศูนย์

หนึ่งในการเปลี่ยนแปลงใน iOS 14 คือ Deprecation ของเมธอดที่เช็คว่า Advertiser Tracking เปิดหรือปิด ดังนั้นแอปพลิเคชันจะได้ IDFA ที่ถูกครำชับจาก iOS 14 ขึ้นไปอย่างไร?

พวกเขาจะต้องใช้ API ใหม่ที่นำเสนอ Dialog ให้ผู้ใช้ คำแนะนำสำคัญเกี่ยวกับ Dialog นี้:

  • สามารถนำเสนอให้ผู้ใช้ เพียงครั้งเดียว
  • สิ่งเดียวที่แก้ไขได้ใน UI ของ Dialog คือสองบรรทัดเหนือตัวเลือก Allow Tracking (“คุณต้องการถูกติดตามไหม?”)

นี่หมายความว่า นักพัฒนาจะต้องคิดมากและลึกเกี่ยวกับวิธีและเวลาที่จะนำเสนอข้อความให้ผู้ใช้

Authorization Status

ด้วย iOS 14 Framework ใหม่ถูกสร้างชื่อ App Tracking Transparency Framework นี้มี Class ชื่อ ATTrackingManager ซึ่งให้ API เพื่อ:

  1. นำเสนอ Dialog ให้ผู้ใช้ขออนุญาตติดตามพวกเขา
  2. Query Authorization Status (ไม่ว่าจะแสดง Dialog หรือไม่)

เราจะเรียนรู้การได้ Authorization Status ก่อน ทำได้โดยเรียกเมธอด trackingAuthorizationStatus

ATTrackingManagerAuthorizationStatus status = [ATTrackingManager trackingAuthorizationStatus];

จะคืน NSUInteger ด้วยค่าหนึ่งในนี้:

  • ATTrackingManagerAuthorizationStatusNotDetermined = 0
  • ATTrackingManagerAuthorizationStatusRestricted = 1
  • ATTrackingManagerAuthorizationStatusAuthorized = 3
  • ATTrackingManagerAuthorizationStatusDenied = 2

สามค่าแรกค่อนข้างอธิบายตัวเอง เราจะเน้นที่ค่าสุดท้าย

คุณอาจได้ Authorization Status เป็น Restricted เมื่อหน้าจอสำหรับ Enable/Disable Advertising Tracking ถูกล็อกและตัวเลือกนี้ถูกตั้งเป็น Enabled

Apple ยอมรับในอุปกรณ์ที่ระบุว่าเป็นของเด็ก (เช่น)

การขออนุญาตให้ติดตาม

ก่อนดูโค้ดที่ต้องการนำเสนอ Dialog คุณต้อง Include Key NSUserTrackingUsageDescription ภายในไฟล์ info.plist ก่อน

สิ่งที่คุณเพิ่มเป็น Value สำหรับ Key นี้จะปรากฏเป็นสองบรรทัดที่กล่าวถึงก่อนหน้า ใน Dialog

การเข้าถึง IDFA บน iOS 14: คู่มือสมบูรณ์สำหรับผู้โฆษณา
NSUserTrackingUsageDescription ในไฟล์ info.plist

เพื่อนำเสนอ Dialog เราต้องเรียก requestTrackingAuthorizationWithCompletionHandler:

[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
    if (status == ATTrackingManagerAuthorizationStatusDenied) {
        // Logic when authorization status is denied
    } else if (status == ATTrackingManagerAuthorizationStatusAuthorized) {
        // Logic when authorization status is authorized
    } else if (status == ATTrackingManagerAuthorizationStatusNotDetermined) {
        // Logic when authorization status is unknown
    } else if (status == ATTrackingManagerAuthorizationStatusRestricted) {
        // Logic when authorization status is restricted
    }
}];

ในภาพแรกของบทความนี้ (ที่คุณเห็น Dialog) คุณเห็นว่าบรรทัดที่เราเขียนใน info.plist แสดงเป็นสองบรรทัดใน Dialog

สรุป

สรุปได้ว่าสำคัญต้องจำว่า การเปลี่ยนแปลงเหล่านี้ แม้ดูน่ากลัว แต่ไม่ได้เกิดขึ้นทันที

คุณควรทำตามทุกขั้นตอนที่ระบุในบทความนี้ เพื่อไม่ให้แอปพลิเคชันของคุณเจอ Crashes/Errors