หากชื่อบทความนี้มีความหมายสำหรับคุณ แสดงว่าคุณอาจทราบถึงแผ่นดินไหวที่เกิดจาก iOS14 แล้ว
ด้วยการเปิดตัว iOS14 มีการเปลี่ยนแปลงครั้งใหญ่ในวิธีที่แอปพลิเคชันสามารถรวบรวมข้อมูลเกี่ยวกับผู้ใช้ได้ หนึ่งในนั้นเกี่ยวข้องกับตัวระบุสำหรับผู้ลงโฆษณา (หรือ IDFA) และวิธีที่แอปพลิเคชันสามารถเข้าถึงได้
แต่สำหรับผู้ที่ไม่ทราบ เรามาอธิบายกันก่อนว่า IDFA คืออะไรและเหตุใดจึงสำคัญ
IDFA คืออะไร
เจ้าของอุปกรณ์ iOS แต่ละคนสามารถตัดสินใจได้ว่าต้องการให้บริษัทโฆษณาติดตามพวกเขาหรือไม่ ซึ่งช่วยให้บริษัทเหล่านั้นจัดหาเนื้อหาที่เหมาะกับผู้ใช้รายนั้นได้ (ตามพฤติกรรมการท่องเว็บออนไลน์ของพวกเขา)
บริษัทสามารถทำได้ด้วยสิ่งที่เรียกว่า IDFA (ตัวระบุสำหรับผู้ลงโฆษณา) นี่คือสตริง UUID ที่ช่วยให้ผู้ลงโฆษณาจับคู่ผู้ใช้กับพฤติกรรมของตนได้
ต่อไปนี้คือตัวอย่างสตริง UUID :123e4567-e89b-12d3-a456–426614174000
แล้วการเปลี่ยนแปลงที่เราพูดถึงก่อนหน้านี้มีอะไรบ้าง
กล่าวโดยย่อ แอปพลิเคชันจะต้องแสดงกล่องโต้ตอบต่อผู้ใช้ โดยถามพวกเขาว่าต้องการอนุญาตให้แอปพลิเคชันติดตามหรือไม่
ดูเป็นลางไม่ดีใช่มั้ย
ซึ่งตรงกันข้ามกับการทำงานของสิ่งต่างๆ ก่อน iOS14 ซึ่งคุณต้องตรวจสอบว่าอุปกรณ์มีการเปิดหรือปิดการติดตามการโฆษณาอย่างจำกัดหรือไม่
ระบบปฏิบัติการของ Apple (iOS14) เวอร์ชันล่าสุดมีวางจำหน่ายแล้ว (ตั้งแต่วันที่ 16 กันยายน) นักพัฒนาที่ใช้ IDFA ต้องทำการเปลี่ยนแปลงในแอปพลิเคชันของตนเพื่อให้เข้ากันได้กับ iOS14
เมื่อวันที่ 3 กันยายน Apple ได้ทำการอัปเดตและเลื่อนกำหนดส่งการอัปเดตเหล่านี้ให้เสร็จสิ้นภายในต้นปีหน้า:
"เพื่อให้นักพัฒนามีเวลาทำการเปลี่ยนแปลงที่จำเป็น แอปจะต้องได้รับอนุญาตในการติดตามผู้ใช้ตั้งแต่ต้นปีหน้า"
ตอนนี้เรามีเวลาพักสงบและหายใจได้อีกครั้งแล้ว เรามาเริ่มเตรียมตัวให้พร้อมสำหรับสิ่งที่จะเป็น New Normal ในปี 2021 กัน
ในบทความนี้ เราจะนำเสนอภูมิหลังบางประการเกี่ยวกับ IDFA และดูว่าเราจะได้คุณค่าจาก iOS14 ขึ้นไปได้อย่างไร
ผู้โฆษณาใช้ IDFA ได้อย่างไร
มาดูสถานการณ์ (ก่อน COIVD-19) ที่คุณกำลังท่องเว็บบน iPhone และกำลังมองหาโรงแรมสำหรับวันหยุดพักผ่อนครั้งต่อไปของคุณ
โฆษณาแต่ละรายการที่คุณเห็นจะส่งพิกเซลพร้อม IDFA ของคุณแนบมา ผู้โฆษณาสามารถเห็นได้ว่าคุณกำลังดูโฆษณาจำนวนมากที่โปรโมตโรงแรมโดยจับคู่ IDFA ของคุณและสรุปได้ว่าคุณต้องการจองห้องพักในโรงแรม
จากที่นั่น อีกไม่นานคุณจะได้เห็นโฆษณาห้องพักในโรงแรมมากมาย
เทคโนโลยีที่เรียบง่ายแต่ลึกซึ้งนี้เข้ามาในชีวิตเราในปี 2555 ด้วย iOS6 ตั้งแต่นั้นมา มีการเปลี่ยนแปลงมากมาย และ iOS14 ก็ได้พลิกโฉมอุตสาหกรรมอีกครั้ง
✋ หมายเหตุ: ในการใช้ API ใหม่เหล่านี้ คุณต้องอัปเกรด/ดาวน์โหลด XCode 12 .
การติดตามการโฆษณาและรับ IDFA
ก่อน iOS14 การรับ IDFA นั้นค่อนข้างง่าย
คุณต้องตรวจสอบว่ามีการเปิดใช้งานการติดตามการโฆษณาหรือไม่ โดยทำสิ่งนี้:
[[ASIdentifierManager sharedManager] isAdvertisingTrackingEnabled]
และหากปิดใช้งาน นั่นหมายความว่าคุณสามารถรับ IDFA ผ่านคลาส ASIdentifierManager ได้ เช่น:
[[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
ง่ายพอใช่ไหม
☝️ จุดเริ่มต้น ด้วย iOS10 หากผู้ใช้ปิดใช้งานการติดตามการโฆษณา วิธีการข้างต้นจะส่งกลับสตริง UUID ที่เต็มไปด้วยศูนย์
การเปลี่ยนแปลงอย่างหนึ่งใน iOS14 คือการเลิกใช้วิธีการที่ตรวจสอบว่ามีการเปิดใช้งานการติดตามผู้โฆษณาหรือไม่ แล้วแอปพลิเคชันจะรับ IDFA ที่เป็นที่ปรารถนาจาก iOS14 ขึ้นไปได้อย่างไร
พวกเขาจะต้องใช้ API ใหม่ที่แสดงกล่องโต้ตอบให้กับผู้ใช้ เกร็ดน่ารู้เกี่ยวกับบทสนทนานี้:
- แสดงต่อผู้ใช้ได้เพียง ครั้งเดียว
- สิ่งเดียวที่สามารถแก้ไขได้ใน UI ของกล่องโต้ตอบคือสองบรรทัดเหนือตัวเลือกอนุญาตการติดตาม (“คุณต้องการให้ติดตามไหม” )
ซึ่งหมายความว่านักพัฒนาซอฟต์แวร์จะต้องคิดให้ถี่ถ้วนและถี่ถ้วนว่าพวกเขาจะนำเสนอข้อความต่อผู้ใช้อย่างไรและเมื่อใด
สถานะการให้สิทธิ์
ด้วย iOS14 เฟรมเวิร์กใหม่ได้ถูกสร้างขึ้นที่เรียกว่า App Tracking Transparency กรอบงานนี้มีคลาสที่เรียกว่า ATTrackingManager ซึ่งจัดเตรียม API ให้กับ:
- นำเสนอกล่องโต้ตอบให้กับผู้ใช้ที่ขออนุญาตเพื่อติดตามพวกเขา
- สอบถามสถานะการให้สิทธิ์ (ไม่ว่าจะแสดงหรือไม่แสดงกล่องโต้ตอบก็ตาม)
ก่อนอื่นเราจะเรียนรู้วิธีรับสถานะการอนุญาต ในการดำเนินการดังกล่าว คุณต้องเรียก trackingAuthorizationStatus วิธีการ
ATTrackingManagerAuthorizationStatus status = [ATTrackingManager trackingAuthorizationStatus];
มันจะส่งคืน NSUInteger ด้วยค่าใดค่าหนึ่งต่อไปนี้:
- ATTrackingManagerAuthorizationStatusNotDetermined =0
- ATTrackingManagerAuthorizationStatusRestricted =1
- ATTrackingManagerAuthorizationStatusAuthorized =3
- ATTrackingManagerAuthorizationStatusDenied =2
ผลลัพธ์สามรายการแรกนั้นค่อนข้างอธิบายตนเองได้ ดังนั้นเราจะเน้นไปที่ผลลัพธ์สุดท้ายสักครู่
คุณสามารถรับสถานะการอนุญาตที่ถูกจำกัดเมื่อหน้าจอสำหรับเปิด/ปิดการติดตามการโฆษณาถูกล็อคและตั้งค่าตัวเลือกนี้เป็นเปิดใช้งาน
Apple ยอมรับสิ่งนี้ในอุปกรณ์ที่ระบุว่าเป็นของเด็ก (เช่น)
ขออนุญาตติดตาม
ก่อนที่จะดูโค้ดที่จำเป็นในการนำเสนอกล่องโต้ตอบ ก่อนอื่นคุณต้องรวม NSUserTrackingUsageDescription คีย์ภายในไฟล์ info.plist ของคุณ
สิ่งที่คุณเพิ่มเป็นค่าสำหรับคีย์นี้จะปรากฏเป็นสองบรรทัดที่กล่าวถึงก่อนหน้านี้ในกล่องโต้ตอบ
ในการนำเสนอกล่องโต้ตอบ เราต้องเรียก 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
}
}];
ในภาพแรกของบทความนี้ (ที่คุณเห็นกล่องโต้ตอบ) คุณจะเห็นว่าบรรทัดที่เราเขียนในไฟล์ info.plist จะแสดงเป็นสองบรรทัดในกล่องโต้ตอบ
สรุป
โดยสรุป สิ่งสำคัญคือต้องจำไว้ว่าการเปลี่ยนแปลงเหล่านี้ไม่ได้เกิดขึ้นทันที
นอกจากนี้ คุณควรตรวจสอบให้แน่ใจว่าได้ทำตามขั้นตอนทั้งหมดที่มีรายละเอียดในบทความนี้ เพื่อไม่ให้เกิดปัญหา/ข้อผิดพลาดในแอปพลิเคชันของคุณ