Recommended 👍

Easily test with our SDK wizard

Catatan

If you prefer not to use our recommended wizard you can find detailed instructions here

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

  1. Tautan atribusi yang Anda gunakan salah. Lihat panduan kami tentang tautan atribusi .
  2. 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.

My SDK connection to AppsFlyer is secured by TLS 1.0 or 1.1

To ensure that the connection to AppsFlyer is secured by TLS 1.2 or 1.3 and not by lower TLS versions use the appsflyersdk.com endpoint without a prefix. Specifically call the setHost function in the following way: setHost("","[appsflyersdk.com](http://appsflyersdk.com/)")

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

  1. Di Xcode, dalam tampilan navigator file, pilih root proyek Anda dan buka Build Settings (Pengaturan Build).
  2. Klik + di toolbar dan pilih Add User-Defined Setting. Di kasus ini, kita menamainya AF_APP_ID.
  3. 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.
987

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).

971

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:

  1. buka Product (Produk) > Scheme (Skema) > Edit Scheme... (Edit Skema).
  2. Pilih Run (Jalankan) dan ubah Build configuration (Konfigurasi build) ke Debug atau Release, sesuai kebutuhan.
945

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