สำหรับ iOS 14.5 Apple กำหนดให้นักพัฒนาแอปต้องได้รับอนุญาตจากผู้ใช้ผ่านเฟรมเวิร์กความโปร่งใสในการติดตามแอปเพื่อติดตามหรือเข้าถึงตัวระบุโฆษณา (IDFA) ของอุปกรณ์ของตน ดูรายละเอียดเพิ่มเติมได้ในเอกสารความเป็นส่วนตัวและการใช้ข้อมูลของ Apple และ เอกสารความโปร่งใสในการติดตามแอปของ Apple
ผลิตภัณฑ์ Firebase ที่ได้รับผลกระทบ
Firebase SDK จะไม่เข้าถึง IDFA แม้ว่าบางรายการจะผสานรวมกับ Google Analytics ที่อาจเกี่ยวข้องกับการเข้าถึง IDFA
ตารางด้านล่างแสดงรายการผลิตภัณฑ์ Firebase ที่มีให้บริการบนแพลตฟอร์ม Apple และอธิบายว่าฟังก์ชันการทำงานของแต่ละผลิตภัณฑ์จะได้รับผลกระทบอย่างไรหากเข้าถึง IDFA ไม่ได้
ผลิตภัณฑ์ | ผลกระทบในกรณีที่เข้าถึง IDFA ไม่ได้ |
---|---|
A/B Testing | ข้อมูลการกำหนดเป้าหมายบางอย่าง (เช่น ข้อมูลประชากร) ในการผสานรวมการทดสอบ A/B กับ Google Analytics ได้มาจาก IDFA ในแอปที่ไม่มีสิทธิ์เข้าถึง IDFA การกำหนดเป้าหมายนี้จะใช้ไม่ได้ |
App Check | ไม่มีผลกระทบ |
App Distribution | ไม่มีผลกระทบ |
การตรวจสอบสิทธิ์ | ผลกระทบต่อผู้ให้บริการการตรวจสอบสิทธิ์และการตรวจสอบสิทธิ์ของบุคคลที่หนึ่ง เช่น Google Sign-In และการตรวจสอบสิทธิ์ทางโทรศัพท์ |
Crashlytics | ไม่ได้ส่งผลอะไร การผสานรวม Crashlytics กับ Google Analytics ที่ให้ข้อมูลข้อขัดข้องแบบเรียลไทม์และเบรดครัมบ์ไม่จำเป็นต้องใช้ IDFA |
ลิงก์แบบไดนามิก | ไม่ส่งผลกระทบต่อฟังก์ชันการเปิดลิงก์ เมื่อใช้กับ Google Analytics การระบุแหล่งที่มาสําหรับเหตุการณ์ Conversion ของลิงก์จะใช้ไม่ได้ |
Cloud Firestore | ไม่มีผลกระทบ |
Cloud Functions | ไม่มีผลกระทบ |
การรับส่งข้อความในแอป | ไม่มีผลกระทบ |
การติดตั้ง Firebase | ไม่มีผลกระทบ |
รหัสอินสแตนซ์ | ไม่มีผลกระทบ |
Cloud Messaging | เมื่อใช้กับ Google Analytics แล้ว Google Analytics จะบันทึกเหตุการณ์ Conversion บางอย่างที่เกี่ยวข้องกับ FCM โดยอัตโนมัติ การระบุแหล่งที่มาของเหตุการณ์เหล่านี้ต้องมีสิทธิ์เข้าถึง IDFA |
Firebase ML | ไม่มีผลกระทบ |
Performance Monitoring | ไม่มีผลกระทบ |
การกำหนดค่าระยะไกล | เมื่อใช้กับ Google Analytics การกำหนดค่าระยะไกลจะไม่อนุญาตให้ใช้พร็อพเพอร์ตี้ผู้ใช้ที่สร้างขึ้นโดยอัตโนมัติสำหรับการกำหนดเป้าหมายโดยไม่สามารถเข้าถึง IDFA |
Realtime Database | ไม่มีผลกระทบ |
Cloud Storage | ไม่มีผลกระทบ |
Vertex AI สำหรับ Firebase | ไม่มีผลกระทบ |
การผสานรวม Firebase ที่ได้รับผลกระทบ
ตารางด้านล่างแสดงรายการผลิตภัณฑ์ที่ผสานรวม Firebase ที่ได้รับผลกระทบหากเข้าถึง IDFA ไม่ได้
ผลิตภัณฑ์ | ผลกระทบในกรณีที่เข้าถึง IDFA ไม่ได้ |
---|---|
Google Analytics | การบันทึกเหตุการณ์ การรายงานเหตุการณ์ และการวัด Conversion ของ Analytics จะไม่ได้รับผลกระทบ แต่การระบุแหล่งที่มาจะได้รับผลกระทบหากเข้าถึง IDFA ไม่ได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับการตอบสนองของ Google ต่อ iOS 14 ได้ที่บล็อกโพสต์ของเรา |
การขอสิทธิ์การติดตามแอปใน iOS 14
หากต้องการให้แอปพลิเคชัน Apple เข้าถึง IDFA ได้ คุณสามารถเพิ่มเฟรมเวิร์ก App Tracking Transparency (ATT) ของ Apple ลงในแอปและขอสิทธิ์ ติดตามหรือเข้าถึง IDFA ของผู้ใช้ได้
แอปพลิเคชันจำนวนมากเลือกที่จะนำเสนอหน้าจออุ่นเครื่องหรือคำอธิบายก่อนที่จะขอสิทธิ์ คุณสามารถใช้หน้าจออธิบายนี้เพื่อแจ้งบริบทเพิ่มเติมเกี่ยวกับวิธีที่แอปของคุณใช้ IDFA ก่อนที่จะขอสิทธิ์เข้าถึงได้
หากคุณเป็นผู้เผยแพร่แอป AdMob หรือ Ad Manager ให้พิจารณาใช้ Funding Choices ซึ่งจัดการเรื่องการขอรับความยินยอมให้แสดงโฆษณาที่ปรับตามโปรไฟล์ของผู้ใช้ รวมถึงความยินยอมให้ติดตามผู้ใช้ตามหลักเกณฑ์ของ Apple โดยอัตโนมัติ ดูรายละเอียดเพิ่มเติมในหน้าความยินยอมของ AdMob ที่มีการรับส่งข้อความกับผู้ใช้
คำแนะนำต่อไปนี้นำเสนอโซลูชันโดยใช้การรับส่งข้อความในแอปของ Firebase สำหรับการสร้างและแสดงหน้าจออธิบายก่อนที่จะขอการเข้าถึงการติดตามผ่านความโปร่งใสในการติดตามแอป
เพิ่มการรับส่งข้อความในแอปลงในแอป
ทำตามวิธีการเพื่อเพิ่มการรับส่งข้อความในแอปไปยังแอปพลิเคชัน Apple
จัดการการปิดข้อความในแอป
ก่อนอื่น ให้หลีกเลี่ยงการแสดงหน้าจออธิบายในอุปกรณ์ที่แสดงกล่องโต้ตอบความยินยอมไม่ได้ เช่น อุปกรณ์ที่ใช้ iOS 13 ตรวจสอบว่าโค้ดนี้ทำงานทันทีหลังจาก FirebaseApp.configure()
Swift
if NSClassFromString("ATTrackingManager") == nil {
// Avoid showing the App Tracking Transparency explainer if the
// framework is not linked.
InAppMessaging.inAppMessaging().messageDisplaySuppressed = true
}
ใช้InAppMessagingDisplayDelegate
โปรโตคอลเพื่อจัดการเหตุการณ์เมื่อผู้ใช้ปิดหน้าจออธิบาย หากผู้ใช้แตะ "ตกลง" ให้แสดงข้อความแจ้งของระบบผ่านกรอบความโปร่งใสในการติดตามแอป
Swift
// The InAppMessaging delegate must be assigned before events can be handled.
InAppMessaging.inAppMessaging().delegate = self
func messageClicked(_ inAppMessage: InAppMessagingDisplayMessage,
with action: InAppMessagingAction) {
switch action.actionText {
case "OK":
ATTrackingManager.requestTrackingAuthorization { status in
switch status {
case .authorized:
// Optionally, log an event when the user accepts.
Analytics.logEvent("tracking_authorized", parameters: nil)
case _:
// Optionally, log an event here with the rejected value.
}
}
case _:
// do nothing
}
}
สร้างแคมเปญการรับส่งข้อความในแอป
เมื่อวางโค้ดในแอปพลิเคชันแล้ว ให้สร้างข้อความในแอปในคอนโซล Firebase
- ในคอนโซล Firebase ให้สร้างแคมเปญการรับส่งข้อความในแอปใหม่
- ป้อนข้อมูลในแอปด้วยเนื้อหาที่ต้องการ และตั้งค่าข้อความให้ทริกเกอร์เหตุการณ์
app_launch
- ในส่วนการกำหนดเป้าหมาย ให้ตรวจสอบว่าแคมเปญกำหนดเป้าหมายเฉพาะแอปเวอร์ชันล่าสุดหรือเวอร์ชันที่สูงกว่าเท่านั้น
คุณปรับแต่งรูปลักษณ์ของหน้าจออธิบายได้โดยทำตามวิธีการในเอกสารประกอบของการรับส่งข้อความในแอป
ไม่บังคับ: การทดสอบ A/B บนหน้าจออธิบายแบบต่างๆ
การรับส่งข้อความในแอปมีการผสานรวมในตัวกับ Firebase A/B Testing ที่คุณใช้ทดสอบกับหน้าจออธิบายต่างๆ ได้
Firebase A/B Testing จะสร้างกลุ่มการทดสอบโดยอัตโนมัติ และช่วยให้คุณเห็นภาพว่าผู้ใช้โต้ตอบกับตัวแปรต่างๆ ของแอปพลิเคชันอย่างไร
บันทึกสิทธิ์การติดตามแอป
หากไม่ได้บันทึกเหตุการณ์ Google Analytics เมื่อจัดการการตอบกลับเกี่ยวกับสิทธิ์การติดตามแอป คุณจะต้องวัดการเปลี่ยนแปลงของอัตราการตอบกลับเมื่อเรียกใช้การทดสอบ A/B
Swift
ATTrackingManager.requestTrackingAuthorization { status in
switch status {
case .authorized:
// Optionally, log an event when the user accepts.
Analytics.logEvent("tracking_authorized", parameters: nil)
case _:
// Optionally, log an event here with the rejected value.
}
}
สร้างเหตุการณ์ Conversion ใหม่
ในส่วนข้อมูลวิเคราะห์ของคอนโซล Firebase ให้ไปที่เมนู Conversion แล้วเพิ่มเหตุการณ์ Conversion ใหม่โดยใช้ชื่อเดียวกับเหตุการณ์ที่บันทึกด้วยโค้ดตัวอย่างด้านบน
สร้างการทดสอบใหม่
ในเมนูการรับส่งข้อความในแอปของคอนโซล ให้คลิกการทดสอบใหม่ จากนั้นทำตามวิธีการในหน้าจอที่แสดง
- ในส่วนการกำหนดเป้าหมาย ให้ตรวจสอบว่าแคมเปญกำหนดเป้าหมายเฉพาะแอปเวอร์ชันล่าสุดหรือเวอร์ชันที่สูงกว่าเท่านั้น
- ในส่วนเป้าหมาย ให้เลือกเหตุการณ์ Conversion ที่คุณสร้างด้วยโค้ดตัวอย่างด้านบน และเมตริกอื่นๆ ที่ต้องการติดตาม
เมื่อคุณเผยแพร่การทดสอบแล้ว การทดสอบนั้นจะต้องรวบรวมข้อมูลสักพักหนึ่งก่อนจึงจะได้ข้อมูลที่สรุปผลได้
อ่านเอกสารประกอบเกี่ยวกับ Firebase A/B Testing เพื่อดูวิธีตรวจสอบการทดสอบและเปิดตัวตัวแปรที่ประสบความสำเร็จ