สำหรับ 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 ของ 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 ใหม่
ในส่วน Analytics ของคอนโซล Firebase ให้ไปที่เมนู Conversion แล้วเพิ่มเหตุการณ์ Conversion ใหม่ที่มีชื่อเดียวกันกับเหตุการณ์ที่บันทึกไว้ด้วยโค้ดตัวอย่างด้านบน
สร้างการทดสอบใหม่
ในเมนูการรับส่งข้อความในแอปของคอนโซล ให้คลิกการทดสอบใหม่ จากนั้นทำตามวิธีการบนหน้าจอที่ปรากฏขึ้น
- ในส่วนการกำหนดเป้าหมาย ให้ตรวจสอบว่าแคมเปญกำหนดเป้าหมายเฉพาะแอปเวอร์ชันล่าสุดและเวอร์ชันที่สูงกว่าเท่านั้น
- ในส่วนเป้าหมาย ให้เลือกเหตุการณ์ Conversion ที่คุณสร้างด้วยโค้ดตัวอย่างด้านบน รวมถึงเมตริกอื่นๆ ที่ต้องการติดตาม
เมื่อเผยแพร่การทดสอบแล้ว การทดสอบจะต้องรวบรวมข้อมูลเป็นระยะเวลาหนึ่งก่อนจึงจะได้ผลลัพธ์ที่สรุปได้
อ่านเอกสาร Firebase A/B Testing เพื่อดูข้อมูลเกี่ยวกับวิธีตรวจสอบการทดสอบและเปิดตัวตัวแปรที่ประสบความสําเร็จ