ใน iOS 14.5 Apple กำหนดให้นักพัฒนาแอปต้องได้รับสิทธิ์จากผู้ใช้ ผ่านเฟรมเวิร์ก App Tracking Transparency เพื่อติดตามผู้ใช้หรือเข้าถึง ตัวระบุโฆษณา (IDFA) ของอุปกรณ์ ดูรายละเอียดเพิ่มเติมได้ที่เอกสารประกอบเกี่ยวกับความเป็นส่วนตัวของผู้ใช้และการใช้ข้อมูลของ Apple และApp Tracking Transparency ของ Apple
ผลิตภัณฑ์ Firebase ที่ได้รับผลกระทบ
Firebase SDK ไม่ได้เข้าถึง IDFA แม้ว่าบาง SDK จะมีการผสานรวมกับ Google Analytics ซึ่งอาจเกี่ยวข้องกับการเข้าถึง IDFA
ตารางด้านล่างแสดงผลิตภัณฑ์ Firebase ที่พร้อมใช้งานบนแพลตฟอร์มของ Apple และอธิบายว่าฟังก์ชันการทำงานของแต่ละผลิตภัณฑ์จะได้รับผลกระทบอย่างไรหากเข้าถึง IDFA ไม่ได้
ผลิตภัณฑ์ | ผลกระทบหากเข้าถึง IDFA ไม่ได้ |
---|---|
A/B Testing | ข้อมูลการกำหนดเป้าหมายบางอย่าง (เช่น ข้อมูลประชากร) ในการผสานรวม A/B Testing กับ Google Analytics ได้มาจาก IDFA การกำหนดเป้าหมายนี้ไม่พร้อมใช้งานในแอปที่ไม่มี สิทธิ์เข้าถึง IDFA |
Firebase AI Logic 1 | ไม่ได้ส่งผลอะไร |
App Check | ไม่ได้ส่งผลอะไร |
App Distribution | ไม่ได้ส่งผลอะไร |
Authentication | ไม่มีผลกระทบต่อผู้ให้บริการ Authentication และผู้ให้บริการบุคคลที่หนึ่ง Authentication เช่น การลงชื่อเข้าใช้ด้วย Google และการตรวจสอบสิทธิ์ทางโทรศัพท์ |
Cloud Firestore | ไม่ได้ส่งผลอะไร |
Cloud Functions | ไม่ได้ส่งผลอะไร |
Cloud Messaging | เมื่อใช้ร่วมกับ Google Analytics Google Analytics จะ บันทึกเหตุการณ์ Conversion บางอย่างที่เกี่ยวข้องกับ FCM โดยอัตโนมัติ การระบุแหล่งที่มา สําหรับเหตุการณ์เหล่านี้ต้องมีสิทธิ์เข้าถึง IDFA |
Cloud Storage | ไม่ได้ส่งผลอะไร |
Crashlytics | ไม่ได้ส่งผลอะไร Crashlytics การผสานรวมกับ Google Analytics ซึ่งให้ข้อมูลข้อขัดข้องแบบเรียลไทม์และเส้นทางการเข้าชมไม่ได้ขึ้นอยู่กับ IDFA |
Dynamic Links | ไม่มีผลต่อฟังก์ชันการเปิดลิงก์ เมื่อใช้กับ Google Analytics การระบุแหล่งที่มาสําหรับเหตุการณ์ Conversion ของลิงก์จะ ไม่พร้อมใช้งาน |
In-App Messaging | ไม่ได้ส่งผลอะไร |
การติดตั้ง Firebase | ไม่ได้ส่งผลอะไร |
InstanceID | ไม่ได้ส่งผลอะไร |
Firebase ML | ไม่ได้ส่งผลอะไร |
Performance Monitoring | ไม่ได้ส่งผลอะไร |
Realtime Database | ไม่ได้ส่งผลอะไร |
Remote Config | เมื่อใช้ร่วมกับ Google Analytics Remote Config จะไม่อนุญาต พร็อพเพอร์ตี้ผู้ใช้ที่สร้างขึ้นโดยอัตโนมัติสําหรับการกําหนดเป้าหมายโดยไม่ต้องเข้าถึง IDFA |
1 Firebase AI Logic เดิมชื่อ "Vertex AI in Firebase"
การผสานรวม Firebase ที่ได้รับผลกระทบ
ตารางด้านล่างแสดงรายการผลิตภัณฑ์ที่ผสานรวมกับ Firebase ซึ่งจะได้รับผลกระทบหากเข้าถึง IDFA ไม่ได้
ผลิตภัณฑ์ | ผลกระทบหากเข้าถึง IDFA ไม่ได้ |
---|---|
Google Analytics | Analyticsการบันทึกเหตุการณ์ การรายงานเหตุการณ์ และการวัด Conversion จะไม่ได้รับผลกระทบ แต่การระบุแหล่งที่มาจะได้รับผลกระทบหากเข้าถึง IDFA ไม่ได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับการตอบสนองของ Google ต่อ iOS 14 ได้ในบล็อกโพสต์ |
การขอสิทธิ์การติดตามแอปใน iOS 14
หากต้องการให้แอปพลิเคชัน Apple เข้าถึง IDFA ได้ คุณสามารถเพิ่มเฟรมเวิร์ก App Tracking Transparency ของ Apple ลงในแอปและขอสิทธิ์ เพื่อติดตามหรือเข้าถึง IDFA ของผู้ใช้
แอปพลิเคชันจำนวนมากเลือกที่จะแสดงหน้าจออธิบายข้อมูลต่างๆ ที่ปรากฏก่อน ขอสิทธิ์ คุณสามารถใช้หน้าจออธิบายนี้เพื่อแจ้งให้ผู้ใช้ทราบบริบทเพิ่มเติมเกี่ยวกับวิธีที่แอปของคุณใช้ IDFA ก่อนที่จะขอสิทธิ์เข้าถึง
หากคุณเป็นAdMobหรือผู้เผยแพร่แอป Ad Manager ให้ลองใช้ Funding Choices ซึ่งจะจัดการการขอความยินยอมในการแสดงโฆษณาที่ปรับตามโปรไฟล์ของผู้ใช้ รวมถึงความยินยอมในการติดตามผู้ใช้ตามหลักเกณฑ์ของ Apple โดยอัตโนมัติ ดูรายละเอียดเพิ่มเติมได้ที่ AdMobหน้าความยินยอมพร้อมข้อความสำหรับผู้ใช้
คำแนะนำต่อไปนี้จะแสดงโซลูชันที่ใช้ Firebase In-App Messaging ในการสร้างและแสดงหน้าจออธิบายข้อมูลต่างๆ ที่ปรากฏก่อนขอสิทธิ์เข้าถึงเพื่อการติดตามผ่านความโปร่งใสในการติดตามแอป
เพิ่ม In-App Messaging ลงในแอป
ทำตามวิธีการเพื่อเพิ่ม In-App Messaging ลงในแอปพลิเคชันของ 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
}
}
สร้างแคมเปญ In-App Messaging
เมื่อวางโค้ดในแอปพลิเคชันแล้ว ให้สร้างข้อความในแอปใน Firebase คอนโซล
- ในFirebaseคอนโซล สร้างแคมเปญ In-App Messaging ใหม่
- ป้อนเนื้อหาที่ต้องการลงในข้อความในแอป และตั้งค่าข้อความให้ทริกเกอร์เมื่อเกิด
app_launch
เหตุการณ์ - ในส่วนการกำหนดเป้าหมาย ให้ตรวจสอบว่าแคมเปญกำหนดเป้าหมายเฉพาะแอปเวอร์ชันล่าสุดและเวอร์ชันที่สูงกว่าเท่านั้น
คุณปรับแต่งลักษณะที่ปรากฏของหน้าจอคำอธิบายได้โดยทำตามวิธีการในเอกสารประกอบของ In-App Messaging
ไม่บังคับ: ทดสอบ A/B หน้าจอคำอธิบายต่างๆ
In-App Messaging มีการผสานรวมในตัวกับ 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 ใหม่ที่มีชื่อเดียวกับเหตุการณ์ที่บันทึกด้วยโค้ดตัวอย่าง ด้านบน
สร้างการทดสอบใหม่
ในเมนู In-App Messaging ของคอนโซล ให้คลิกการทดสอบใหม่ แล้วทำตามวิธีการบนหน้าจอที่ปรากฏ
- ในส่วนการกำหนดเป้าหมาย ให้ตรวจสอบว่าแคมเปญกำหนดเป้าหมายเฉพาะแอปเวอร์ชันล่าสุดและเวอร์ชันที่สูงกว่าเท่านั้น
- ในส่วนเป้าหมาย ให้เลือกเหตุการณ์ Conversion ที่คุณสร้างด้วย โค้ดตัวอย่างด้านบน รวมถึงเมตริกอื่นๆ ที่ต้องการติดตาม
เมื่อเผยแพร่การทดสอบแล้ว การทดสอบจะต้องรวบรวมข้อมูลเป็นระยะเวลาหนึ่งก่อนจึงจะให้ผลลัพธ์ที่สรุปได้
อ่านFirebase A/B Testingเอกสารประกอบ เพื่อดูข้อมูลเกี่ยวกับวิธีตรวจสอบการทดสอบและเปิดตัว ตัวแปรที่ประสบความสำเร็จ