รองรับ iOS 14

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

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

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

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

ผลิตภัณฑ์ ผลกระทบหากไม่สามารถเข้าถึง IDFA
การทดสอบ A/B ข้อมูลการกำหนดเป้าหมายบางส่วน (เช่น ข้อมูลประชากร) ในการผสานรวมการทดสอบ A/B กับ Google Analytics ได้มาจาก IDFA ในแอปที่ไม่สามารถเข้าถึง IDFA การกำหนดเป้าหมายนี้จะไม่สามารถใช้งานได้
ตรวจสอบแอป ไม่มีผลกระทบ
การเผยแพร่แอป ไม่มีผลกระทบ
การรับรองความถูกต้อง ไม่มีผลกระทบต่อการตรวจสอบสิทธิ์และผู้ให้บริการการตรวจสอบสิทธิ์บุคคลที่หนึ่ง เช่น การลงชื่อเข้าใช้ Google และการตรวจสอบสิทธิ์ทางโทรศัพท์
Crashlytics ไม่มีผลกระทบ การผสานรวม Crashlytics กับ Google Analytics ที่ให้ข้อมูลข้อขัดข้องและเบรดครัมบ์แบบเรียลไทม์ไม่ได้ขึ้นอยู่กับ IDFA
ลิงค์แบบไดนามิก ไม่มีผลกระทบต่อฟังก์ชันการเปิดลิงก์ เมื่อใช้กับ Google Analytics การระบุแหล่งที่มาสำหรับเหตุการณ์ Conversion ของลิงก์จะไม่พร้อมใช้งาน
คลาวด์ไฟร์สโตร์ ไม่มีผลกระทบ
ฟังก์ชั่นคลาวด์ ไม่มีผลกระทบ
การส่งข้อความในแอป ไม่มีผลกระทบ
การติดตั้ง Firebase ไม่มีผลกระทบ
รหัสอินสแตนซ์ ไม่มีผลกระทบ
การส่งข้อความบนคลาวด์ เมื่อใช้กับ Google Analytics แล้ว Google Analytics จะบันทึกเหตุการณ์ Conversion ที่เกี่ยวข้องกับ FCM โดยอัตโนมัติ การระบุแหล่งที่มาสำหรับเหตุการณ์เหล่านี้ต้องมีการเข้าถึง IDFA
Firebase ML ไม่มีผลกระทบ
การตรวจสอบประสิทธิภาพ ไม่มีผลกระทบ
การกำหนดค่าระยะไกล เมื่อใช้กับ Google Analytics การกำหนดค่าระยะไกลจะไม่อนุญาตให้สร้างพร็อพเพอร์ตี้ผู้ใช้ที่สร้างขึ้นโดยอัตโนมัติสำหรับการกำหนดเป้าหมายที่ไม่มีการเข้าถึง IDFA
ฐานข้อมูลเรียลไทม์ ไม่มีผลกระทบ
การจัดเก็บเมฆ ไม่มีผลกระทบ

การผสานรวม 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 ไปยังแอปพลิเคชัน Apple ของคุณ

จัดการการยกเลิกข้อความในแอป

ขั้นแรก หลีกเลี่ยงการแสดงหน้าจอตัวอธิบายบนอุปกรณ์ที่ไม่สามารถแสดงกล่องโต้ตอบคำยินยอมได้ เช่น อุปกรณ์ที่ใช้ iOS 13 ตรวจสอบให้แน่ใจว่าโค้ดนี้ทำงานทันทีหลังจาก FirebaseApp.configure()

สวิฟท์

if NSClassFromString("ATTrackingManager") == nil {
  // Avoid showing the App Tracking Transparency explainer if the
  // framework is not linked.
  InAppMessaging.inAppMessaging().messageDisplaySuppressed = true
}

ใช้โปรโตคอล InAppMessagingDisplayDelegate เพื่อจัดการเหตุการณ์เมื่อผู้ใช้ปิดหน้าจอตัวอธิบาย หากผู้ใช้แตะตกลง ให้แสดงข้อความแจ้งของระบบผ่านเฟรมเวิร์กความโปร่งใสในการติดตามแอป

สวิฟท์

// 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 ซึ่งคุณสามารถใช้ทดสอบกับหน้าจออธิบายต่างๆ ได้

การทดสอบ A/B ของ Firebase จะสร้างกลุ่มการทดสอบโดยอัตโนมัติ และช่วยให้คุณเห็นภาพว่าผู้ใช้โต้ตอบกับเวอร์ชันต่างๆ ของแอปพลิเคชันของคุณอย่างไร

บันทึกสิทธิ์การติดตามแอป

หากคุณไม่ได้บันทึกเหตุการณ์ Google Analytics เมื่อจัดการการตอบสนองของสิทธิ์การติดตามแอป คุณจะต้องบันทึกการเปลี่ยนแปลงของอัตราการตอบกลับเมื่อทำการทดสอบ A/B

สวิฟท์

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