Mengintegrasikan SDK

Pelajari cara menginisialisasi dan memulai SDK Android.

Sebelum Anda memulai:

  • Anda harus menginstal Android SDK .
  • Pastikan di aplikasi Anda build.gradle file, applicationIdnilai (di defaultConfig blok) mencocokkan ID aplikasi dari aplikasi di AppsFlyer.
  • Dapatkan kode pengembang AppsFlyer . Diperlukan agar inisialisasi SDK berhasil.
  • Kode-kode dalam dokumen ini adalah contoh implementasinya. Pastikan untuk mengubah <AF_DEV_KEY> dan placeholder lainnya jika diperlukan.
  • Semua langkah dalam dokumen ini bersifat wajib kecuali ditentukan sebaliknya.

Menginisialisasi SDK Android

Disarankan untuk menginisialisasi SDK di kelas/subkelas Aplikasi global. Hal ini untuk memastikan SDK dapat dimulai dalam skenario apa pun (misalnya, deep linking).

Langkah 1: Impor AppsFlyerLib
Di kelas Aplikasi global Anda, impor AppsFlyerLib:

import com.appsflyer.AppsFlyerLib;
import com.appsflyer.AppsFlyerLib

Langkah 2: Menginisialisasi SDK
Di Aplikasi global onCreate, call init dengan argumen berikut ini:

AppsFlyerLib.getInstance().init(<AF_DEV_KEY>, null, this);
AppsFlyerLib.getInstance().init(<AF_DEV_KEY>, null, this)
  1. Argumen pertama adalah kode pengembang AppsFlyer Anda.
  2. Argumen kedua adalah Dapat Diubah ke Null AppsFlyerConversionListener. Jika Anda tidak membutuhkan data konversi, kami merekomendasikan untuk meneruskan null sebagai argumen kedua. Untuk informasi selengkapnya, lihat Data konversi.
  3. Argumen ketiga adalah Konteks Aplikasi.

Memulai SDK Android

Di metode onCreate Aplikasi, setelah memanggil init, call start dan meneruskannya ke Konteks Aplikasi sebagai argumen pertama:

AppsFlyerLib.getInstance().start(this);
AppsFlyerLib.getInstance().start(this)

Deferring SDK start

OPSIONAL
Anda dapat menunda inisialisasi SDK dengan memanggil start dari kelas Aktivitas, bukannya memanggilnya di kelas Aplikasi.

Penggunaan khusus dari permulaan SDK yang ditangguhkan adalah ketika aplikasi ingin meminta persetujuan dari pengguna untuk mengumpulkan data di Aktivitas Utama dan memanggil start setelah mendapatkan persetujuan pengguna.

⚠️

Pemberitahuan Penting

Jika aplikasi memanggil start dari suatu Aktivitas, itu harus meneruskan Konteks Aktivitas ke SDK.
Gagal melewati konteks aktivitas tidak akan memicu SDK, sehingga kehilangan data atribusi dan in-app event.

Starting with a response listener

Untuk menerima konfirmasi bahwa SDK dimulai secara sukses, menciptakan sebuah AppsFlyerRequestListener objek dan meneruskannya sebagai argumen ketiga dari start:

AppsFlyerLib.getInstance().start(getApplicationContext(), <YOUR_DEV_KEY>, new AppsFlyerRequestListener() {
  @Override
  public void onSuccess() {
    Log.d(LOG_TAG, "Launch sent successfully, got 200 response code from server");
  }
  
  @Override
  public void onError(int i, @NonNull String s) {
    Log.d(LOG_TAG, "Launch failed to be sent:\n" +
          "Error code: " + i + "\n"
          + "Error description: " + s);
  }
});
AppsFlyerLib.getInstance().start(this, <YOUR_DEV_KEY>, object : AppsFlyerRequestListener {
  override fun onSuccess() {
    Log.d(LOG_TAG, "Launch sent successfully")
    }
  
  override fun onError(errorCode: Int, errorDesc: String) {
    Log.d(LOG_TAG, "Launch failed to be sent:\n" +
          "Error code: " + errorCode + "\n"
          + "Error description: " + errorDesc)
    }
})
  • The onSuccess() metode callback dipanggil untuk setiap 200 respons untuk permintaan atribusi yang dibuat oleh SDK.
  • The onError(String error) metode callback dipanggil untuk respons lain dan mengembalikan respons sebagai string kesalahan.

Contoh lengkap

Contoh berikut menunjukkan cara menginisialisasi dan memulai SDK dari kelas Aplikasi.

import android.app.Application;
import com.appsflyer.AppsFlyerLib;
// ...
public class AFApplication extends Application {
    // ...
    @Override
    public void onCreate() {
        super.onCreate();
        // ...
        AppsFlyerLib.getInstance().init(<AF_DEV_KEY>, null, this);
        AppsFlyerLib.getInstance().start(this);
        // ...
    }
    // ...
}
import android.app.Application
import com.appsflyer.AppsFlyerLib
// ...
class AFApplication : Application() {
    override fun onCreate() {
        super.onCreate()
        // ...
        AppsFlyerLib.getInstance().init(<AF_DEV_KEY>, null, this)
        AppsFlyerLib.getInstance().start(this)
        // ...
    }
    // ...
}

Tautan Github

mengaktifkan mode debug

OPSIONAL
Anda dapat mengaktifkan log debug dengan memanggil setDebugLog:

AppsFlyerLib.getInstance().setDebugLog(true);
AppsFlyerLib.getInstance().setDebugLog(true)

📘

Catatan

Untuk melihat log debug yang lengkap, pastikan untuk memanggil setDebugLog sebelum memanggil metode SDK lainnya.

Lihat contoh.

🚧

peringatan

Untuk menghindari kebocoran informasi sensitif, pastikan log debug dinonaktifkan sebelum mendistribusikan aplikasi.

Menguji integrasi

OPSIONAL
Untuk petunjuk pengujian integrasi mendetail, lihat panduan pengujian integrasi Android SDK .