รองรับ iOS 14

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

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

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

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

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

การผสานรวม Firebase ที่ได้รับผลกระทบ

ตารางด้านล่างแสดงรายการผลิตภัณฑ์ที่ผสานรวม Firebase ที่ได้รับผลกระทบหากเข้าถึง IDFA ไม่ได้

ผลิตภัณฑ์ ผลกระทบในกรณีที่เข้าถึง IDFA ไม่ได้
Google Analytics การบันทึกเหตุการณ์ การรายงานเหตุการณ์ และการวัด Conversion ของ Analytics จะไม่ได้รับผลกระทบ แต่การระบุแหล่งที่มาจะได้รับผลกระทบหากเข้าถึง IDFA ไม่ได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับการตอบสนองของ Google ต่อ iOS 14 ได้ที่บล็อกโพสต์ของเรา

การขอสิทธิ์การติดตามแอปใน iOS 14

หากต้องการให้แอปพลิเคชัน Apple เข้าถึง IDFA ได้ คุณสามารถเพิ่มเฟรมเวิร์ก App Tracking Transparency (ATT) ของ Apple ลงในแอปและขอสิทธิ์ ติดตามหรือเข้าถึง IDFA ของผู้ใช้ได้

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

หากคุณเป็นผู้เผยแพร่แอป AdMob หรือ Ad Manager ให้พิจารณาใช้ Funding Choices ซึ่งจัดการเรื่องการขอรับความยินยอมให้แสดงโฆษณาที่ปรับตามโปรไฟล์ของผู้ใช้ รวมถึงความยินยอมให้ติดตามผู้ใช้ตามหลักเกณฑ์ของ Apple โดยอัตโนมัติ ดูรายละเอียดเพิ่มเติมในหน้าความยินยอมของ AdMob ที่มีการรับส่งข้อความกับผู้ใช้

คำแนะนำต่อไปนี้นำเสนอโซลูชันโดยใช้การรับส่งข้อความในแอปของ Firebase สำหรับการสร้างและแสดงหน้าจออธิบายก่อนที่จะขอการเข้าถึงการติดตามผ่านความโปร่งใสในการติดตามแอป

เพิ่มการรับส่งข้อความในแอปลงในแอป

ทำตามวิธีการเพื่อเพิ่มการรับส่งข้อความในแอปไปยังแอปพลิเคชัน 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
  }
}

สร้างแคมเปญการรับส่งข้อความในแอป

เมื่อวางโค้ดในแอปพลิเคชันแล้ว ให้สร้างข้อความในแอปในคอนโซล Firebase

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

คุณปรับแต่งรูปลักษณ์ของหน้าจออธิบายได้โดยทำตามวิธีการในเอกสารประกอบของการรับส่งข้อความในแอป

ไม่บังคับ: การทดสอบ A/B บนหน้าจออธิบายแบบต่างๆ

การรับส่งข้อความในแอปมีการผสานรวมในตัวกับ 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 ใหม่

ในส่วนข้อมูลวิเคราะห์ของคอนโซล Firebase ให้ไปที่เมนู Conversion แล้วเพิ่มเหตุการณ์ Conversion ใหม่โดยใช้ชื่อเดียวกับเหตุการณ์ที่บันทึกด้วยโค้ดตัวอย่างด้านบน

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

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

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

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

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