Integrasi uji
Sebelum Anda memulai:
Agar berhasil menyelesaikan pengujian dalam dokumen ini, Anda harus:
Uji integrasi SDK iOS
Pengujian ini terdiri dari:
- Menyimulasikan klik iklan dan menginstal aplikasi:
- Jika Anda menerapkan ATT, ikuti petunjuk berikut .
- Jika Anda tidak menerapkan ATT, ikuti petunjuk berikut .
- Inspeksi data konversi penginstalan.
Apps that implement ATT
Ikuti petunjuk ini jika Anda menerapkan Transparansi Pelacakan Aplikasi (ATT) di aplikasi Anda.
Atribusi akan terjadi melalui pencocokan ID jika kondisi berikut terpenuhi:
- Tautan atribusi berisi
idfa
parameter - ATT diterapkan dan:
requestTrackingAuthorization
dipanggil sebelumnyastart
(dengan menggunakanwaitForATTUserAuthorization
)- Persetujuan pengguna diberikan.
Langkah 1: Simulasikan klik iklan
Menyimulasikan klik iklan melalui tautan atribusi. Menyusun tautan atribusi sebagai berikut:
https://app.appsflyer.com/<app_id>?pid=<media_source>
&idfa=<registered_device_idfa>
Dimana:
app_id
adalah ID aplikasi AppsFlyer Anda (termasukid
akhiran)pid
adalah sumber media tempat penginstalan harus diatribusikanidfa
adalah IDFA perangkat yang terdaftar.
Contoh
Jika ID aplikasi Anda adalah id123456789
, tautan atribusi mungkin terlihat seperti ini:
https://app.appsflyer.com/id123456789?pid=conversionTest1&idfa=1A2B3C4D-9128-4597-1234-
04E23D654321
Langkah 2: Instal aplikasi
Aktifkan mode debug dan instal aplikasi pada perangkat uji yang terdaftar .
Langkah 3: Jalankan tes
Lanjutkan untuk memeriksa data konversi .
Apps that don't implement ATT
Langkah 1: Simulasikan klik iklan
Menyimulasikan klik iklan melalui tautan atribusi. Menyusun tautan atribusi sebagai berikut:
https://app.appsflyer.com/<app_id>?pid=<media_source>
Dimana:
app_id
adalah ID aplikasi AppsFlyer Anda (termasukid
awalan)pid
adalah sumber media tempat penginstalan harus diatribusikan.
Contoh
Jika ID aplikasi Anda adalah id123456789
, tautan atribusi mungkin terlihat seperti ini:
https://app.appsflyer.com/id123456789?pid=conversionTest1
Langkah 2: Instal aplikasi
Aktifkan mode debug dan instal aplikasi di perangkat apa pun–karena IDFA yang digunakan untuk mendaftarkan perangkat tidak tersedia, pendaftaran perangkat tidak berpengaruh dalam kasus ini.
Langkah 3: Jalankan tes
Lanjutkan untuk memeriksa data konversi .
Tips
Umumnya, pengujian yang menggunakan tautan atribusi dilakukan lebih dari sekali. Itulah sebabnya disarankan untuk menggunakan salah satu parameter atribusi untuk "memberi versi" pengujian Anda–menjadikannya lebih mudah dipahami tautan mana yang memicu konversi.
Pada contoh di atas, nilai
pid
isconversionTest1
. Di pengujian berturut-turut, meningkatkan nilai daripid
toconversionTest2
,conversionTest3
, dan seterusnya.
Inspect conversion data
Setelah menyimulasikan klik iklan dan menginstal aplikasi, ikuti langkah-langkah ini untuk memeriksa data konversi penginstalan.
Langkah 1: Ambil UID instal
Setelah aplikasi diinstal, di terminal Xcode, cari conversions.appsflyer
. Cari uid
parameter dan salin nilainya.

Langkah 2: Memeriksa data konversi
Buka API uji data konversidan isi bidang yang diwajibkan:
app-id
: ID aplikasi Andadevice_id
: rekat nilai dariuid
dari langkah 1.devkey
- Application's devkey. Learn here how to get it.
Lalu, klik Try it (Cobalah)! Untuk menjalankan pengujian.
Hasil yang diharapkan
Jika ATT diterapkan dan persetujuan pengguna diberikan, hasilnya adalah respons 200 yang mirip dengan (disingkat agar mudah dibaca):
{
...
"af_status" = "Non-organic";
...
"match_type" = id_matching;
"media_source" = conversionTest1;
...
}
Jika tidak, atribusi terjadi secara probabilistik dan hasilnya adalah 200 respons yang mirip dengan (dipotong agar mudah dibaca):
{
...
"af_status" = "Non-organic";
...
"match_type" = probabilistic;
"media_source" = conversionTest1;
...
}
Jika penginstalan tidak diatribusikan, hasilnya adalah respons 200 dengan payload berikut:
{
"af_message" = "organic install";
"af_status" = Organic;
"install_time" = "2021-08-23 06:59:51.194";
"is_first_launch" = 1;
}
Catatan
Mungkin perlu waktu hingga 30 menit hingga penginstalan muncul di dashboard.
Penyelesaikan masalah integrasi SDK iOS
Install dan Event tidak direkam
Ada beberapa alasan mengapa install dan event tidak direkam:
-
Format ID Aplikasi Salah: Jika Anda menentukan ID aplikasi dalam format yang salah, penginstalan dan event tidak tercatat. Saat mengatur ID Aplikasi di file delegate, pastikan ID hanya berisi angka. Jika format ID dalam format yang salah, log akan menampilkan kesalahan berikut:
\[ERROR\] AppsFlyer: -\[AppsFlyerTracker validateAppID\] AppsFlyer Error: appleAppID should be a number!
-
Incorrect App ID (ID Aplikasi Salah): Jika Anda menentukan ID aplikasi yang tidak ada di akun Anda, penginstalan dan event tidak tercatat. Log akan menampilkan kesalahan berikut:
AppsFlyer: -[AppsFlyerHTTPClient sendRequestEventToServer:isRequestFromCache:appID:isDebug: completionHandler:]_block_invoke sent information to server, status = 404
The 404
eror mengindikasikan bahwa SDK tidak dapat menemukan aplikasi tersebut di akun Anda.
-
Bad Dev Key (Kode Pengembang Salah): Jika Anda menentukan kode pengembang yang salah, penginstalan dan event tidak tercatat. Log akan menampilkan kesalahan berikut:
AppsFlyer: -[AppsFlyerHTTPClient sendRequestEventToServer:isRequestFromCache:appID:isDebug:completionHandler:] _block_invoke sent information to server, status = 400
Error 400 mengindikasikan bahwa SDK tidak dapat mengautentikasikan permintaan untuk merekam install dan event. Pastikan dev key yang dipakai sudah benar. Pastikan juga dev key hanya berisi karakter alfanumerik.
Benar:
[AppsFlyerLib shared].appleAppID = @"340954503";
Salah:
[AppsFlyerLib shared].appleAppID = @"id340954503";
Salah:
[AppsFlyerLib shared].appleAppID = @"com.appslyer.sampleapp";
ID App dan Kode Programmer Benar tapi Install tidak direkam
Skenario
App berisi App ID dan kode dev key yang benar tapi install tidak direkam.
Kemungkinan Penyebab
SDK tidak dimulai dengan benar. Pastikan untuk memanggil start
metode di applicationDidBecomeActive
:
- (void)applicationDidBecomeActive:(UIApplication *)application {
[[AppsFlyerLib shared] start];
}
func applicationDidBecomeActive(application: UIApplication) {
AppsFlyerLib.shared().start()
}
Log Menampilkan "AppsFlyer dev key missing or empty. Aborting"
Skenario
Anda mencoba melihat install dan in-app event di log. Log menampilkan "AppsFlyer dev key missing or empty. Aborting".
Kemungkinan Penyebab
Kode pengembang belum diatur. Pastikan untuk mengaturnya di appDelegate di didFinishLaunchingWithOptions
metode:
[AppsFlyerLib shared].appsFlyerDevKey = @"<YOUR_DEV_KEY>";
AppsFlyerLib.shared().appsFlyerDevKey = "<YOUR_DEV_KEY>"
Install Selalu Teratribusi ke Organic
Skenario
Anda sedang menguji atribusi menggunakan link atribusi. Anda telah mengimplementasi SDK conversion listener tapi log selalu menampilkan install sebagai organic. Selain itu, tidak ada non-organic installs yang tercatat di dashboard.
Kemungkinan Penyebab
- Tautan atribusi yang Anda gunakan salah. Lihat panduan kami tentang tautan atribusi .
- Pastikan perangkat yang Anda uji itu terdaftar.
Pendapatan tidak direkam dengan Benar
Skenario
Anda sedang menguji in-app event dengan pendapatan. Event muncul di dashboard tapi pendapatan tidak dicatat
Kemungkinan Penyebab
Parameter pendapatan tidak dalam format yang benar. JANGAN memformat nilai pendapatan dengan cara apa pun. Nilai tidak boleh mengandung pemisah koma, simbol mata uang, atau teks. Misalnya, event pendapatan harus serupa dengan 1234.56.
Saya Mendapat Respons 404 pada Rekaman Install atau Event
Skenario
Anda sedang menguji install dan in-app event untuk melihat bahwa mereka diatribusikan ke media source yang tepat. Namun, muncul respons 404 untuk install dan in-app event. install atau in-app event tidak muncul di dashboard.
Kemungkinan Penyebab
Respons 404 menunjukkan bahwa ID aplikasi salah. Lihat Penginstalan dan Event tidak dicatat .
Saya mendapat respons 400 pada Rekaman Install atau Event
Skenario
Anda sedang mencoba pengujian in-app event di log. Saat memicu event, Anda melihat respons 400 di log.
Kemungkinan Penyebab
Ini mungkin menunjukkan masalah dengan kode pengembang. Periksa apakah kode pengembang sudah benar. Pastikan juga kode pengembang hanya berisi karakter alfanumerik. Lihat Penginstalan dan Event tidak dicatat .
Saya mendapat respons 400 pada Rekaman Install atau Event
Skenario
Anda mencoba untuk menguji instalasi dan event konversi lainnya di log. Saat Anda memicu event-event ini, Anda melihat response 403 (dilarang) di log.
Kemungkinan Penyebab
This might be because you have the Zero package, which does not include attribution data; only data on clicks and impressions. To start receiving attribution data, learn more about the different AppsFlyer packages, and update as needed. You can also contact our customer engagement team at [email protected] if you have questions about our packages.
Membuat aplikasi debug iOS
OPSIONAL
Anda dapat memanfaatkan kemampuan konfigurasi kompilasi Xcode untuk mengonfigurasi aplikasi debug yang mudah digunakan . Ini akan memungkinkan Anda untuk beralih antara aplikasi debug dan produksi dengan memanfaatkan kondisi kompilasi aktif Xcode.
Catatan
Jika Anda tidak keberatan mencampur data produksi dengan lalu lintas pengujian, Anda dapat melompat ke pengujian integrasi . Semua pengujian dapat dilakukan untuk aplikasi produksi dan debug.
Ini dicapai dengan mengonfigurasikan User-Defined Setting (Pengaturan yang Ditentukan Pengguna) di Pengaturan Build proyek Anda dan mengeksposnya melalui info.plist
properti.
Langkah 1: Tambahkan aplikasi debug ke AppsFlyer
Add a new pending iOS app to AppsFlyer or ask a team member with dashboard access to add it. Choose any available app ID–You will need it in step 3. Make sure the ID is 9 digits and starts with four 1s, for example, 111167538.
Langkah 2: Tambahkan Pengaturan Buatan Pengguna
- Di Xcode, dalam tampilan navigator file, pilih root proyek Anda dan buka Build Settings (Pengaturan Build).
- Klik + di toolbar dan pilih Add User-Defined Setting. Di kasus ini, kita menamainya
AF_APP_ID
. - Perluas Pengaturan Buatan Pengguna yang baru dibuat:
- Atur Pengaturan Persyaratan Debug ke ID aplikasi pengujian Anda (disebutkan di langkah 1)
- Atur Pengaturan Persyaratan Release (Rilis) ke ID aplikasi produksi Anda.

Langkah 3: Buka ID aplikasi melalui info.plist
Ke info.plist
dan tambahkan properti baru (dipanggil AFAppID
di kasus ini). Atur nilainya ke $(AF_APP_ID)
(berdasarkan nama User-Defined Setting di langkah 2).

Langkah 4: Ambil dan atur ID aplikasi
Untuk mengakses dan menggunakan ID aplikasi selama inisialisasi SD, tambahkan kode berikut ke didFinishLaunchingWithOptions
Di AppDelegate
:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// ...
guard let appID : String = Bundle.main.object(forInfoDictionaryKey: "AFAppID") as? String else {
fatalError("Cannot find app ID")
}
AppsFlyerLib.shared().appleAppID = appID
// ...
return true
}
Langkah 5: Jalankan aplikasi menggunakan konfigurasi build Debug
Untuk mengubah konfigurasi build aktif:
- buka Product (Produk) > Scheme (Skema) > Edit Scheme... (Edit Skema).
- Pilih Run (Jalankan) dan ubah Build configuration (Konfigurasi build) ke Debug atau Release, sesuai kebutuhan.

Sekarang, saat Anda menggunakan konfigurasi Debug untuk membuat aplikasi Anda, Xcode akan menggunakan ID aplikasi debug yang Anda konfigurasikan di langkah 2.
Diperbarui sekitar 1 bulan yang lalu