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

วิธีรับตัวระบุสำหรับผู้โฆษณา (IDFA) ใน iOS14

หากชื่อบทความนี้มีความหมายสำหรับคุณ แสดงว่าคุณอาจทราบถึงแผ่นดินไหวที่เกิดจาก iOS14 แล้ว

ด้วยการเปิดตัว iOS14 มีการเปลี่ยนแปลงครั้งใหญ่ในวิธีที่แอปพลิเคชันสามารถรวบรวมข้อมูลเกี่ยวกับผู้ใช้ได้ หนึ่งในนั้นเกี่ยวข้องกับตัวระบุสำหรับผู้ลงโฆษณา (หรือ IDFA) และวิธีที่แอปพลิเคชันสามารถเข้าถึงได้

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

IDFA คืออะไร

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

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

ต่อไปนี้คือตัวอย่างสตริง UUID :123e4567-e89b-12d3-a456–426614174000

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

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

วิธีรับตัวระบุสำหรับผู้โฆษณา (IDFA) ใน iOS14
กล่องโต้ตอบการอนุญาตการติดตาม

ดูเป็นลางไม่ดีใช่มั้ย

ซึ่งตรงกันข้ามกับการทำงานของสิ่งต่างๆ ก่อน 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 ให้กับ:

  1. นำเสนอกล่องโต้ตอบให้กับผู้ใช้ที่ขออนุญาตเพื่อติดตามพวกเขา
  2. สอบถามสถานะการให้สิทธิ์ (ไม่ว่าจะแสดงหรือไม่แสดงกล่องโต้ตอบก็ตาม)

ก่อนอื่นเราจะเรียนรู้วิธีรับสถานะการอนุญาต ในการดำเนินการดังกล่าว คุณต้องเรียก trackingAuthorizationStatus วิธีการ

ATTrackingManagerAuthorizationStatus status = [ATTrackingManager trackingAuthorizationStatus];

มันจะส่งคืน NSUInteger ด้วยค่าใดค่าหนึ่งต่อไปนี้:

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

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

คุณสามารถรับสถานะการอนุญาตที่ถูกจำกัดเมื่อหน้าจอสำหรับเปิด/ปิดการติดตามการโฆษณาถูกล็อคและตั้งค่าตัวเลือกนี้เป็นเปิดใช้งาน

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

ขออนุญาตติดตาม

ก่อนที่จะดูโค้ดที่จำเป็นในการนำเสนอกล่องโต้ตอบ ก่อนอื่นคุณต้องรวม NSUserTrackingUsageDescription คีย์ภายในไฟล์ info.plist ของคุณ

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

วิธีรับตัวระบุสำหรับผู้โฆษณา (IDFA) ใน iOS14
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 จะแสดงเป็นสองบรรทัดในกล่องโต้ตอบ

สรุป

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

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