รองรับ 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 ข้อมูลการกำหนดเป้าหมายบางอย่าง (เช่น ข้อมูลประชากร) ในการผสานรวม กับ Google Analytics ได้มาจาก IDFAA/B Testing การกำหนดเป้าหมายนี้จะใช้ไม่ได้ในแอปที่ไม่มีสิทธิ์เข้าถึง IDFA
Firebase AI Logic 1 ไม่มีผลกระทบ
App Check ไม่มีผลกระทบ
App Distribution ไม่มีผลกระทบ
Authentication ไม่มีผลกระทบต่อ Authentication และผู้ให้บริการ Authentication บุคคลที่หนึ่ง เช่น การลงชื่อเข้าใช้ด้วยบัญชี Google และการตรวจสอบสิทธิ์ทางโทรศัพท์
Cloud Firestore ไม่มีผลกระทบ
Cloud Functions ไม่มีผลกระทบ
Cloud Messaging เมื่อใช้กับ Google Analytics ระบบจะบันทึกเหตุการณ์ Conversion บางรายการที่เกี่ยวข้องกับ FCM โดยอัตโนมัติGoogle Analytics การระบุแหล่งที่มา ของเหตุการณ์เหล่านี้ต้องใช้สิทธิ์เข้าถึง 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 สำหรับการสร้างและ แสดงหน้าจออธิบายก่อนที่จะขอสิทธิ์เข้าถึงการติดตามผ่าน App Tracking Transparency

เพิ่ม 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 เพื่อจัดการเหตุการณ์เมื่อผู้ใช้ปิดหน้าจออธิบาย หากผู้ใช้แตะ "ตกลง" ให้แสดงข้อความแจ้งของระบบผ่านเฟรมเวิร์ก App Tracking Transparency

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ให้ไปที่เมนู Conversions แล้วเพิ่มเหตุการณ์ Conversion ใหม่ที่มีชื่อเดียวกับเหตุการณ์ที่บันทึกด้วยโค้ดตัวอย่าง ด้านบน

สร้างการทดสอบใหม่

ในเมนู In-App Messagingของคอนโซล, ให้คลิกการทดสอบใหม่ แล้วทำตามวิธีการในหน้าจอที่ปรากฏ

  • ในส่วน การกำหนดเป้าหมาย ให้ตรวจสอบว่าแคมเปญกำหนดเป้าหมายเฉพาะแอปเวอร์ชันล่าสุดขึ้นไป
  • ในส่วน เป้าหมาย ให้เลือกเหตุการณ์ Conversion ที่คุณสร้างด้วยโค้ดตัวอย่างด้านบน รวมถึงเมตริกอื่นๆ ที่ต้องการติดตาม

เมื่อเผยแพร่การทดสอบแล้ว ระบบจะต้องรวบรวมข้อมูลสักระยะหนึ่งก่อนจึงจะแสดงผลลัพธ์ที่ชัดเจนได้

อ่านเอกสารประกอบ Firebase A/B Testingเพื่อดูข้อมูลเกี่ยวกับวิธีตรวจสอบการทดสอบและเปิดตัวเวอร์ชันที่ประสบความสำเร็จ