รองรับ iOS 14

ใน iOS 14.5 เป็นต้นไป Apple กําหนดให้นักพัฒนาแอปต้องได้รับสิทธิ์จากผู้ใช้ผ่านเฟรมเวิร์ก App Tracking Transparency เพื่อติดตามผู้ใช้หรือเข้าถึงตัวระบุโฆษณา (IDFA) ของอุปกรณ์ ดูรายละเอียดเพิ่มเติมได้ที่เอกสารประกอบความเป็นส่วนตัวของผู้ใช้และการใช้ข้อมูลของ Apple และApp Tracking Transparency ของ Apple

ผลิตภัณฑ์ Firebase ที่ได้รับผลกระทบ

SDK ของ Firebase จะไม่เข้าถึง IDFA แม้ว่าบางรายการจะมีการผสานรวมกับ Google Analytics ที่อาจเกี่ยวข้องกับการเข้าถึง IDFA ก็ตาม

ตารางด้านล่างแสดงผลิตภัณฑ์ Firebase ที่พร้อมให้บริการบนแพลตฟอร์มของ Apple และอธิบายผลกระทบที่ฟังก์ชันการทํางานของผลิตภัณฑ์แต่ละรายการจะได้รับหากเข้าถึง IDFA ไม่ได้

ผลิตภัณฑ์ ผลกระทบหากเข้าถึง IDFA ไม่ได้
A/B Testing ข้อมูลการกําหนดเป้าหมายบางอย่าง (เช่น ข้อมูลประชากร) ในA/B Testingที่ผสานรวมกับ Google Analytics มาจาก IDFA การกำหนดเป้าหมายนี้จะใช้ไม่ได้ในแอปที่ไม่มีสิทธิ์เข้าถึง IDFA
App Check ไม่มีผล
App Distribution ไม่มีผล
Authentication ไม่มีผลกับ Authentication และผู้ให้บริการ Authentication บุคคลที่หนึ่ง เช่น Google Sign-In และการตรวจสอบสิทธิ์ทางโทรศัพท์
Crashlytics ไม่มีผล การผสานรวม Crashlytics กับ Google Analytics ที่แสดงข้อมูลข้อขัดข้องและเบรดครัมแบบเรียลไทม์นั้นไม่ขึ้นอยู่กับ IDFA
Dynamic Links ไม่มีผลต่อฟังก์ชันการเปิดลิงก์ เมื่อใช้ร่วมกับ Google Analytics การระบุแหล่งที่มาสําหรับเหตุการณ์ Conversion ของลิงก์จะใช้งานไม่ได้
Cloud Firestore ไม่มีผล
Cloud Functions ไม่มีผล
In-App Messaging ไม่มีผลกระทบ
การติดตั้ง Firebase ครั้ง ไม่มีผล
InstanceID ไม่มีผล
Cloud Messaging เมื่อใช้กับ Google Analytics แล้ว Google Analytics จะบันทึกเหตุการณ์ Conversion บางอย่างที่เกี่ยวข้องกับ FCM โดยอัตโนมัติ การระบุแหล่งที่มาของเหตุการณ์เหล่านี้ต้องใช้สิทธิ์เข้าถึง IDFA
Firebase ML ไม่มีผล
Performance Monitoring ไม่มีผล
Remote Config เมื่อใช้กับ Google Analytics Remote Config ไม่อนุญาตให้ใช้พร็อพเพอร์ตี้ผู้ใช้ที่สร้างขึ้นโดยอัตโนมัติในการกําหนดเป้าหมายโดยไม่มีสิทธิ์เข้าถึง IDFA
Realtime Database ไม่มีผล
Cloud Storage ไม่มีผล
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 เพื่อดูข้อมูลเกี่ยวกับวิธีตรวจสอบการทดสอบและเปิดตัวตัวแปรที่ประสบความสำเร็จ