Mendukung iOS 14

Dengan iOS 14.5, Apple mewajibkan developer untuk mendapatkan izin pengguna melalui framework App Tracking Transparency untuk melacak atau mengakses ID iklan perangkat (IDFA) mereka. Baca dokumentasi Privasi Pengguna dan Penggunaan Data Apple dan App Tracking Transparency Apple untuk mengetahui detail selengkapnya.

Produk Firebase yang terpengaruh

Firebase SDK tidak mengakses IDFA, tetapi beberapa di antara SDK tersebut memiliki integrasi dengan Google Analytics yang mungkin melibatkan akses IDFA.

Tabel di bawah ini mencantumkan produk Firebase yang tersedia di platform Apple dan menjelaskan dampak terhadap fungsi setiap produk jika IDFA tidak dapat diakses.

Produk Dampak jika IDFA tidak dapat diakses
Pengujian A/B Beberapa data penargetan (seperti demografi) dalam integrasi Pengujian A/B dengan Google Analytics berasal dari IDFA. Dalam aplikasi tanpa akses ke IDFA, penargetan ini tidak tersedia.
App Check Tidak ada dampak
App Distribution Tidak ada dampak
Authentication Tidak ada dampak di seluruh Authentication dan penyedia Authentication pihak pertama, seperti Login dengan Google dan Autentikasi dengan Ponsel.
Crashlytics Tidak ada dampak. Integrasi Crashlytics dengan Google Analytics yang menyediakan data error real-time dan breadcrumb tidak bergantung pada IDFA.
Dynamic Links Tidak ada dampak untuk fungsi membuka link. Jika digunakan dengan Google Analytics, atribusi untuk peristiwa konversi link tidak tersedia.
Cloud Firestore Tidak ada dampak
Cloud Functions Tidak ada dampak
In-App Messaging Tidak ada dampak
Penginstalan Firebase Tidak ada dampak
InstanceID Tidak ada dampak
Cloud Messaging Jika digunakan dengan Google Analytics, Google Analytics akan otomatis mencatat beberapa peristiwa konversi terkait FCM ke dalam log. Atribusi untuk peristiwa ini memerlukan akses IDFA.
Firebase ML Tidak ada dampak
Performance Monitoring Tidak ada dampak
Remote Config Saat digunakan dengan Google Analytics, Remote Config tidak mengizinkan properti pengguna yang dibuat secara otomatis untuk penargetan tanpa akses IDFA.
Realtime Database Tidak ada dampak
Cloud Storage Tidak ada dampak

Integrasi Firebase yang terpengaruh

Tabel di bawah ini mencantumkan produk yang terintegrasi dengan Firebase yang terpengaruh jika IDFA tidak dapat diakses.

Produk Dampak jika IDFA tidak dapat diakses
Google Analytics Logging aktivitas Analytics, pelaporan peristiwa, dan pengukuran konversi tidak terpengaruh, tetapi atribusi akan terpengaruh jika IDFA tidak dapat diakses. Untuk mempelajari lebih lanjut respons Google terhadap iOS 14, lihat postingan blog kami.

Meminta Izin Pelacakan Aplikasi di iOS 14

Jika ingin agar aplikasi Apple dapat mengakses IDFA, Anda dapat menambahkan framework App Tracking Transparency Apple ke aplikasi dan meminta izin untuk melacak atau mengakses IDFA pengguna.

Banyak aplikasi memilih untuk menampilkan layar penyiapan atau penjelasan sebelum meminta izin. Layar penjelasan tersebut dapat Anda gunakan untuk memberikan konteks lebih banyak kepada pengguna tentang cara aplikasi menggunakan IDFA sebelum meminta akses.

Jika Anda adalah penayang aplikasi AdMob atau Ad Manager, pertimbangkan untuk menggunakan Funding Choices, yang menangani permintaan izin untuk menayangkan iklan yang dipersonalisasi serta izin untuk melacak pengguna berdasarkan pedoman Apple secara otomatis. Baca halaman Izin AdMob dengan Pesan Pengguna untuk mengetahui detail selengkapnya.

Panduan berikut memberikan solusi menggunakan Firebase In-App Messaging untuk membuat dan menampilkan layar penjelasan sebelum meminta akses pelacakan melalui App Tracking Transparency.

Menambahkan In-App Messaging ke aplikasi Anda

Ikuti petunjuk untuk menambahkan In-App Messaging ke aplikasi Apple Anda.

Menangani penutupan pesan dalam aplikasi

Pertama, hindari menampilkan layar penjelasan pada perangkat yang tidak dapat menampilkan dialog izin, seperti perangkat yang menjalankan iOS 13. Pastikan kode ini dieksekusi segera setelah FirebaseApp.configure().

Swift

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

Terapkan protokol InAppMessagingDisplayDelegate untuk menangani peristiwa saat pengguna menutup layar penjelasan. Jika pengguna mengetuk Oke, tampilkan perintah sistem melalui framework 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
  }
}

Membuat kampanye In-App Messaging

Setelah kode ini diterapkan di aplikasi Anda, buat pesan dalam aplikasi di Firebase console.

  1. Di Firebase console, buat kampanye In-App Messaging baru.
  2. Isi pesan dalam aplikasi dengan konten yang Anda inginkan dan tetapkan pesan tersebut agar dipicu pada peristiwa app_launch.
  3. Di bagian Penargetan, pastikan kampanye hanya menargetkan versi terbaru aplikasi Anda berikut versi selanjutnya.

Anda dapat menyesuaikan tampilan layar penjelasan dengan mengikuti petunjuk dalam dokumentasi In-App Messaging.

Opsional: Melakukan Pengujian A/B untuk layar penjelasan yang berbeda

In-App Messaging memiliki integrasi bawaan dengan Pengujian A/B Firebase, yang dapat Anda gunakan untuk bereksperimen dengan layar penjelasan yang berbeda.

Pengujian A/B Firebase secara otomatis membuat grup eksperimen dan membantu Anda memvisualisasikan cara pengguna berinteraksi dengan berbagai varian aplikasi Anda.

Merekam izin pelacakan aplikasi

Jika Anda tidak mencatat peristiwa Google Analytics saat menangani respons izin pelacakan aplikasi ke dalam log, Anda harus melakukannya agar dapat mengukur perubahan tingkat respons ketika menjalankan eksperimen 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.
  }
}

Membuat peristiwa konversi baru

Di bagian Analytics pada Firebase console, buka menu Konversi, lalu tambahkan peristiwa konversi baru dengan nama yang sama seperti peristiwa yang dicatat ke dalam log dengan kode contoh di atas.

Membuat eksperimen baru

Pada menu In-App Messaging di konsol, klik Eksperimen Baru, lalu ikuti petunjuk yang muncul di layar.

  • Di bagian Penargetan, pastikan kampanye hanya menargetkan versi terbaru aplikasi Anda berikut versi selanjutnya.
  • Di bagian Sasaran, pilih peristiwa konversi yang Anda buat dengan kode contoh di atas serta metrik lainnya yang ingin Anda lacak.

Setelah Anda memublikasikan eksperimen, eksperimen tersebut harus mengumpulkan data selama beberapa waktu sebelum dapat memberikan hasil yang meyakinkan.

Baca dokumentasi Pengujian A/B Firebase untuk mengetahui informasi tentang cara memantau eksperimen dan meluncurkan varian yang berhasil.