รองรับ iOS 14

ใน 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 คอนโซล

  1. ในFirebaseคอนโซล สร้างแคมเปญ In-App Messaging ใหม่
  2. ป้อนเนื้อหาที่ต้องการลงในข้อความในแอป และตั้งค่าข้อความให้ทริกเกอร์เมื่อเกิดapp_launchเหตุการณ์
  3. ในส่วนการกำหนดเป้าหมาย ให้ตรวจสอบว่าแคมเปญกำหนดเป้าหมายเฉพาะแอปเวอร์ชันล่าสุดและเวอร์ชันที่สูงกว่าเท่านั้น

คุณปรับแต่งลักษณะที่ปรากฏของหน้าจอคำอธิบายได้โดยทำตามวิธีการในเอกสารประกอบของ 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เอกสารประกอบ เพื่อดูข้อมูลเกี่ยวกับวิธีตรวจสอบการทดสอบและเปิดตัว ตัวแปรที่ประสบความสำเร็จ