รองรับ 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เพื่อดูข้อมูลเกี่ยวกับวิธีตรวจสอบการทดสอบและเปิดตัวตัวแปรที่ประสบความสําเร็จ