รองรับ 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 ของ 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 ใหม่

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

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

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

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

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

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