Panduan dasar integrasi SDK

Sekilas: Bekerja samalah dengan pengembang aplikasi seluler atau CTV Anda untuk mengintegrasikan dan menginstal SDK ke aplikasi Android atau iOS. Setelah tugas integrasi dasar selesai, aplikasi Anda siap untuk atribusi instalasi dan pengukuran in-app event.

Mengambil kode pengembang

Sebelum pengembang Anda dapat menginstal dan mengintegrasikan SDK, Anda harus mengambil kode pengembang. AppsFlyer menggunakan kode pengembang untuk mengidentifikasi akun Anda secara unik. Kode pengembang bersifat wajib karena memungkinkan SDK mengirim dan mengambil data milik akun Anda dengan aman.

Untuk mengambil kode pengembang Anda:

  1. Di AppsFlyer, buka Konfigurasi > Pengaturan Aplikasi.
  2. Salin kode pengembang, dan kirimkan ke pengembang seluler Anda.

  3. Berikan instruksi kepada pengembang seluler Anda untuk menginstal dan mengintegrasikan SDK.

Di mana memulai SDK?

Saat merencanakan integrasi SDK AppsFlyer, keputusan pertama yang harus Anda buat adalah di mana menginisialisasi dan memulai SDK dalam alur peluncuran aplikasi Anda.

Aturan dasarnya adalah agar SDK mulai mengirim data sesegera mungkin setelah meluncurkan aplikasi.Hal ini memastikan bahwa SDK menangkap kejadian penginstalan dan semua kejadian dalam aplikasi lainnya yang terjadi dalam sesi tersebut.

Namun, untuk mematuhi peraturan menjaga privasi seperti GDPR dan CCPA, sering kali pengiriman data ke AppsFlyer perlu ditunda hingga pengguna menyetujui untuk membagikan informasi mereka.

Android asli iOS asli Unity React asli

Memulai SDK di Android asli

PILIH DI KELAS APA UNTUK MEMULAI SDK

Pilih apakah akan memulai SDK di kelas Application global atau kelas Activity:

  • Memulai SDK di kelas Application global: Secara umum, menginisialisasi SDK di kelas/subkelas Aplikasi global adalah praktik yang baik karena kelas Application dimuat dan diinisialisasi sebelum UI aplikasi apa pun ditampilkan. Hal ini memastikan bahwa SDK dapat dimulai dalam skenario apa pun, termasuk deep linking.
  • Mulai SDK di kelasActivity(awal tertunda) untuk memungkinkan pengguna ikut serta dalam berbagi data. Hal ini karena untuk mendapatkan izin pengguna memerlukan antarmuka pengguna (UI) yang dirender dalam kelas Activity .

INSTRUKSI PENGEMBANG ANDROID

  • Beri tahu pengembang tentang keputusan Anda tentang hal-hal berikut:
    • Di kelas apa - Application atau Activity - untuk memulai SDK?
    • Skenario opt-in/opt-out mana yang akan digunakan?

Memulai SDK di Unity

Kirimkan artikel Dev Hub ini kepada pengembang Anda tentang cara memulai SDK.

Memulai SDK di React asli

Kirimkan artikel Dev Hub ini kepada pengembang Anda tentang cara memulai SDK.

Pilih strategi untuk menjaga privasi Anda

Pilih cara menjaga privasi pengguna. Misalnya, pilih antara menghentikan SDK saat instalasi, mencegah berbagi data dengan pihak ketiga, menganonimkan data pengguna, atau menonaktifkan pengidentifikasi tertentu.

Untuk informasi selengkapnya tentang berbagai skenario penyisihan yang tersedia, lihat Skenario Keikutsertaan dan Ketidakikutsertaan.

Atribusi

SDK mengumpulkan pengidentifikasi untuk tujuan atribusi. Untuk memastikan bahwa instalasi dicatat dan diatribusikan dengan benar, tinjau dan ikuti pedoman berikut.

Semua platform

Pengenal unik untuk penginstalan

ID AppsFlyer dibuat secara otomatis untuk setiap penginstalan aplikasi baru. Tidak ada tindakan yang diperlukan oleh pemasar.

Anda dapat menggunakan pengenal ini untuk melakukan tindakan berikut:

Mengintegrasikan pengenal unik dari sistem BI Anda dengan AppsFlyer

Menetapkan ID pengguna Pelanggan (CUID) Anda sendiri di SDK AppsFlyer untuk referensi silang ID unik dari sistem BI Anda dengan ID AppsFlyer dan pengidentifikasi lainnya. CUID tersedia di laporan data lengkap AppsFlyer. Anda juga dapat menggunakannya dalam API postback untuk referensi silang dengan ID internal Anda.

Untuk mempelajari lebih lanjut tentang CUID, lihat artikel ini.

Khusus Android

Bagian berikut menjelaskan pertimbangan atribusi untuk Google Play Store atau toko aplikasi pihak ketiga.

Aplikasi atribut yang dipublikasikan di Google Play

PERUJUK INSTALASI GOOGLE PLAY

 API Perujuk Instalasi Google Play meningkatkan  akurasi atribusi , melindungi dari penipuan penginstalan, dan memungkinkan pengambilan data rujukan yang aman dari Google Play (misalnya, versi aplikasi pada saat aplikasi pertama kali diinstal).

Sebaiknya Anda memberikan instruksi kepada pengembang Anda untuk menambahkan Google Play Install Referrer API.

GAID

Mulai SDK V4.8.0, AppsFlyer secara otomatis mengumpulkan pengenal perangkat ini.

Atribusikan aplikasi di toko aplikasi pihak ketiga

Dengan AppsFlyer, Anda dapat mengatribusikan instalasi yang berasal dari app store pihak ketiga, seperti Amazon, Opera, GetJar, Baidu, dan Huawei. Hal ini memungkinkan Anda untuk mempromosikan aplikasi Anda dan menjangkau audiens yang lebih besar di pasar yang tidak menyediakan Google Play Store.

AppsFlyer mendukung atribusi dalam konteks toko aplikasi pihak ketiga sebagai berikut:

  • IMEI atau ID Android: SDK tidak secara otomatis mengumpulkan IMEI atau ID Android. Namun, jika ada kebutuhan untuk mengumpulkan pengidentifikasi ini (misalnya, untuk aplikasi di pasar domestik Tiongkok) pengembang Anda dapat menerapkan salah satu jenis pengumpulan berikut:
    • Pengumpulan manual: Aplikasi meneruskan IMEI atau ID Android ke SDK menggunakan setImeiData atau setAndroidIdData API (lihat referensi fungsi pada tab di bawah). SDK mengirimkan data ke server AppsFlyer.
      Android asliUnity

      Lihat referensi Android SDK untuk:

  • OAID: Mengatribusikan penginstalan dari app store Android pihak ketiga. Untuk informasi lebih lanjut, lihat panduan penerapan OAID.
  • Perujuk instalasi: SDK mendukung pengambilan data rujukan dari Samsung Gallery dan Huawei AppGallery.

Khusus iOS

Bagian berikut mencakup informasi penting tentang dukungan untuk perangkat iOS 14+.

Mengonfigurasi dukungan App Tracking Transparency (ATT)

LATAR BELAKANG

Dimulai dari iOS 14.5, pengumpulan IDFA memerlukan persetujuan pengguna. Secara praktis, ini berarti akses IDFA diatur oleh kerangka kerja Transparansi Pelacakan Aplikasi (ATT). Pada perangkat iOS 14+, SDK menggunakan kerangka kerja ATT untuk mendapatkan akses ke IDFA perangkat. Untuk pengenalan ATT, lihat Prinsip ATT.

Ketika atribusi terjadi menggunakan IDFA, penting agar IDFA dikirim pada peluncuran pertama. Karena alasan ini, SDK menyediakan metode waitForATTUserAuthorization .

Ikhtisar waitForATTUserAuthorization

 Penting!

Jangan panggil metode waitForATTUserAuthorization jika Anda tidak ingin menjalankan prompt ATT.

waitForATTUserAuthorization memungkinkan Anda untuk mengonfigurasi berapa lama SDK harus ditangguhkan dan menunggu status ATT sebelum mengirim data ke server AppsFlyer.

Saat pengguna meluncurkan aplikasi, status ATT notDetermined. Selama waktu waitForATTUserAuthorization , SDK mengantrekan event peluncuran dan in-app event berturut-turut dalam memori, serupa dengan cara event offline dicatat:

  • Jika pengguna menyetujui prompt ATT (pengumpulan IDFA):
    • SDK menambahkan IDFA ke event yang disimpan dalam cache.
    • SDK memulai dan mengirim event yang disimpan dalam cache dengan IDFA (tanpa menunggu waktu tunggu berakhir).
  • Jika pengguna menolak prompt ATT: SDK akan memulai dan mengirimkan event yang di-cache tanpa IDFA (tanpa menunggu batas waktu berakhir).
  • Jika batas waktu berakhir dan status ATT tetap notDetermined: SDK akan memulai dan mengirimkan event yang di-cache tanpa IDFA.

Pertimbangan

  • Memanggil requestTrackingAuthorization tanpa mengatur waitForATTUserAuthorization akan mengakibatkan peluncuran dan event dikirim tanpa IDFA untuk perangkat iOS 14+.
  • Jika pengguna memindahkan aplikasi ke latar belakang selama waktu tunggu:
    • Timer dijeda hingga aplikasi kembali ke latar depan.
    • Event disimpan dalam cache in-memory.
  • Jika pengguna mematikan aplikasi, aplikasi akan dimatikan selama waktu tunggu:
    • Timer direstart pada peluncuran aplikasi berikutnya.
    • Event yang disimpan dalam cache akan hilang.

Menyesuaikan dialog persetujuan ATT

Anda dapat menyesuaikan prompt ATT. Pesan yang menyatakan dengan jelas tujuan permintaan dapat membantu meningkatkan tingkat keikutsertaan pengguna.

Pertimbangkan hal berikut saat membuat pesan Anda:

Setelah pesan Anda selesai, berikan teks dan instruksi penerapan kepada pengembang Anda.

Lihat beberapa contoh eksternal dari prompt ATT.

Dukungan untuk atribusi SKAN

 

 Catatan

Untuk sepenuhnya mendukung atribusi SKAN, upgrade ke iOS SDK V6.2.3+.

SKAN adalah kelas yang digunakan oleh iOS untuk memvalidasi penginstalan aplikasi yang diarahkan pemasang iklan. Proses validasi penginstalan aplikasi melibatkan aplikasi sumber dan aplikasi yang diiklankan.

Aplikasi sumber adalah aplikasi yang berpartisipasi dalam kampanye iklan dengan menampilkan iklan dari jaringan iklan. Mengonfigurasi aplikasi Anda untuk menampilkan iklan tidak berada dalam cakupan SDK AppsFlyer. Untuk mengonfigurasi, ikuti instruksi Apple.

Untuk aplikasi yang diiklankan (aplikasi dengan AppsFlyer SDK), solusi SKAN AppsFlyer menggunakan SKAN untuk menyediakan postback atribusi sementara AppsFlyer mengumpulkan, menerjemahkan, dan menggabungkan data dengan tetap menjaga privasi pengguna. Saat aplikasi diluncurkan untuk pertama kalinya, platform AppsFlyer menggunakan konfigurasi yang ditetapkan oleh pemasar untuk menginstruksikan SDK tentang cara menetapkan nilai konversi SKAN.

Untuk menggunakan solusi SKAN:

  • Pemasar perlu mengonfigurasi pengukuran SKAN di AppsFlyer. Pengembang tidak perlu melakukan tugas apa pun.
  • AppsFlyer SDK secara otomatis memanggil SKAN API yang diperlukan.
  • Pastikan untuk menonaktifkan panggilan SKAN di SDK lain jika Anda mengandalkan AppsFlyer untuk atribusi SKAN.
  • Tidak ada tindakan atau proses pendaftaran lain yang diperlukan oleh pengembang atau pemasar di App Store.

Untuk menonaktifkan atribusi SKAN, instruksikan pengembang Anda untuk menonaktifkannya di SDK.

iOS asliUnityReact asli

Untuk menonaktifkan atribusi SKAN, gunakan disableSKAdNetwork

Merekam in-app event

In-app event (IAE) menyediakan wawasan tentang aktivitas yang terjadi di aplikasi Anda. Merekam in-app event membantu Anda mengukur KPI seperti Return on Investment (ROI) dan Lifetime Value (LTV). Sebaiknya luangkan waktu untuk menentukan event yang ingin Anda rekam.

Setelah Anda menentukan in-app event yang ingin Anda ukur, kirim nama event dan parameter ke pengembang Anda, dan sertakan tautan ke petunjuk penerapan.

Untuk mempelajari lebih lanjut tentang in-app event, lihat panduan  Rich in-app event kami .

Semua platform

Rekam pendapatan

Anda dapat mengirimkan pendapatan dengan in-app event mana pun. Pastikan Anda menggunakan parameter af_revenue untuk menyertakan pendapatan. Ini adalah satu-satunya parameter event yang dihitung oleh AppsFlyer sebagai pendapatan nyata di dashboard dan dalam laporan data lengkap. Pelajari lebih lanjut.

Android nativeiOS nativeUnity

Untuk instruksi pengembang tentang menentukan event pendapatan, lihat di sini.

Validasi pembelian in-app

SDK AppsFlyer menyediakan verifikasi server untuk pembelian in-app. Memvalidasi pembelian in-app secara otomatis mengirimkan event pembelian in-app ke AppsFlyer. Mengirim event ini sendiri membuat salinan pelaporan event.

Industri vertikal

Lihat daftar in-app event yang direkomendasikan per vertikal, misalnya: perjalanan, gaming, atau eCommerce.

Tautan langsung (deep linking) dengan OneLink

OneLink adalah solusi AppsFlyer untuk atribusi multi-platform, pengarahan, dan deep linking.

Semua platform

Deteksi dan pengarahan perangkat

Untuk pengguna yang tidak menginstal aplikasi Anda, OneLink mendeteksi jenis perangkat dan mengarahkan mereka ke tujuan yang benar (misalnya, Google Play, Apple App Store, app store pihak ketiga, atau halaman web). Ini berdasarkan pada pengaturan templat OneLink Anda. Pelajari lebih lanjut

Penautan Langsung

Untuk pengguna yang menginstal aplikasi Anda, OneLink akan membuka aplikasi. Selain membuka aplikasi, Anda juga dapat menautkan langsung pengguna ke aktivitas atau halaman tertentu di dalam aplikasi. Ini mewajibkan pengembang Anda untuk menerapkan Tautan Langsung Terpadu (UDL).

Catatan:

  • UDL mewajibkan SDK V6.1+.
  • Pelanggan yang telah menggunakan OneLink untuk deep linking dapat menggunakan metode lama, bukan UDL.

Lihat panduan kami tentang mengatur Deep linking dan deferred deep linking.

Deferred deep linking (tautan langsung tertunda) :

Bagi pengguna yang tidak menginstal aplikasi Anda, OneLink mendeteksi jenis perangkat dan mengarahkan mereka ke tujuan yang benar: Google Play, Apple App Store, toko aplikasi pihak ketiga, atau laman web. Setelah pengguna meluncurkan aplikasi, Anda dapat menggunakan deferred deep linking (tautan langsung tertunda) untuk mengarahkan mereka ke aktivitas atau laman tertentu di dalam aplikasi.

Hal ini mengharuskan pengembang Anda untuk menerapkan penautan langsung tertunda dan diperluas.

Catatan:

  • UDL mewajibkan SDK V6.1+.
  • Pelanggan yang telah menggunakan OneLink untuk deferred deep linking (tautan langsung tertunda) dapat menggunakan metode lama, bukan UDL.

Lihat panduan kami tentang mengatur Deep linking dan deferred deep linking.

Mengakses data atribusi dan deep linking

Tabel berikut menjelaskan metode yang tersedia untuk mengambil data atribusi dan deep linking:

Metode Siapa saja yang terlibat? Kembalikan hasil Metode pengambilan Data atribusi Data deep linking Ketersediaan
Push API • Pemasar • Pengembang back-end Biasanya dalam beberapa menit Backend Y N Premium
Pull API • Pemasar • Pengembang back-end Periodik (tidak dalam waktu nyata). Anda dapat menjadwalkan unduhan laporan data lengkap. Backend Y Y Premium untuk laporan data lengkap
Data Locker • Pemasar • Pengembang back-end Laporan per jam tersedia dalam 1 - 3 jam Penyimpanan cloud melalui salah satu opsi berikut: • Bucket milik AppsFlyer di AWS • Penyimpanan milik Anda (AWS atau GCS) Y Y Premium
Dapatkan data konversi (GCD) • Pemasar • Pengembang  seluler Lihat dokumentasi pengembang Hingga 5 detik SDK Y Y Semua akun
Deep Linking Terpadu (Unified Deep Linking/UDL) • Pemasar • Pengembang seluler Lihat dokumentasi pengembang Hingga 1 detik SDK N Y Semua akun

Perhatikan hal berikut untuk pengguna iOS 14.5+ yang tidak memberikan persetujuan:

  • Ketika menggunakan UDL untuk media berbayar dan milik sendiri, data deep linking tersedia.
  • Ketika menggunakan GCD untuk media berbayar, datanya terbatas dan tidak termasuk rincian atribusi dan deep linking.

 Tips

Kami menyarankan hal berikut:

  • Gunakan Push API saat mengambil data atribusi dan mengirimkannya ke server Anda untuk diproses lebih lanjut. Metode ini menunggu data tersedia, dan karena itu sangat akurat dan mendekati waktu aktual. GCD mengembalikan data secara waktu aktual, tetapi mungkin tidak akurat saat keputusan atribusi akhir ditentukan setelah lebih dari 5 detik.
  • Gunakan Pull API untuk secara periodik (misalnya, setiap hari) melengkapi data atribusi waktu aktual, dan untuk mengompensasi kesalahan komunikasi yang mungkin terjadi.

Menguji integrasi SDK Anda

Setelah integrasi SDK selesai, Anda dapat membuka dashboard AppsFlyer, dan dari halaman Uji Integrasi SDK, uji penginstalan organik dan non-organik, in-app event, dan deep linking (penargetan ulang). Ini memastikan bahwa penginstalan dan in-app event dicatat dan diatribusikan dengan benar.

Jika Anda memerlukan pengembang untuk menguji integrasi SDK, tambahkan pengembang sebagai  pengguna di akun Anda, sehingga mereka dapat mengakses dashboard.

Untuk skenario dan instruksi pengujian, lihat pengujian integrasi SDK.

Catatan: Saat melakukan pengujian atribusi, daftarkan perangkat pengujian (Android atau iOS) untuk memastikan setiap penginstalan dicatat sebagai penginstalan baru. Perangkat uji yang terdaftar mencegah penginstalan agar tidak dicatat sebagai penginstalan ulang.