Meta Install Referrer

Dokumen ini menunjukkan cara menggunakan Meta install referrer di aplikasi Android Anda untuk mendapatkan metadata untuk kampanye iklan Facebook, Instagram, dan Audience Network dengan tujuan penginstalan aplikasi. Sementara Google Play Install Referrer (GPIR) hanya memberikan informasi tentang klik di sesi yang sama melalui penginstalan, Meta install referrer menyertakan data untuk:

  • penginstalan lihat-tayang (VT)
  • penginstalan klik-tayang (CT)
  • penginstalan klik-tayang beberapa sesi

Ada dua opsi untuk menyiapkan Meta install referrer untuk kampanye aplikasi Android Anda: integrasi langsung atau integrasi yang didukung melalui mobile measurement partner (MMP) Anda.

Opsi 1: Integrasi langsung

Sebelum Memulai

Sebelum memulai, Anda memerlukan hal berikut:

Langkah 1. Tambahkan aplikasi Meta

Tambahkan elemen queries untuk aplikasi Facebook, Instagram, dan Facebook Lite di file AndroidManifest.xml Anda untuk mengizinkan aplikasi Anda mendapatkan data atribusi rujukan dari aplikasi Meta ini.

<queries>
  <package android:name="com.facebook.katana" />
</queries>

<queries>
  <package android:name="com.instagram.android" />
</queries>

<queries>
  <package android:name="com.facebook.lite" />
</queries>

Langkah 2. Terapkan ContentProvider API

Tambahkan kode ContentProvider untuk mendapatkan data atribusi rujukan dari aplikasi Facebook dan Instagram. Anda akan ingin mendapatkan data ini saat aplikasi pertama kali diluncurkan.

Cursor c = null;
try {
    String [] projection = { "install_referrer", "is_ct", "actual_timestamp", };
    Uri providerUri = null;
    
    // This IF statement queries the facebook app first.
    // To query from the instagram app first, change the sequence of the IF statement

    if (context.getPackageManager().resolveContentProvider(
           "com.facebook.katana.provider.InstallReferrerProvider", 0) != null) {
       providerUri = Uri.parse(
           "content://com.facebook.katana.provider.InstallReferrerProvider/" + FB_APP_ID);
    } else if (context.getPackageManager().resolveContentProvider(
           "com.instagram.contentprovider.InstallReferrerProvider", 0) != null) {
       providerUri = Uri.parse(
           "content://com.instagram.contentprovider.InstallReferrerProvider/" + FB_APP_ID);
    } else if (context.getPackageManager().resolveContentProvider(
           "com.facebook.lite.provider.InstallReferrerProvider", 0) != null) {
       providerUri = Uri.parse("content://com.facebook.lite.provider.InstallReferrerProvider/" + FB_APP_ID);
    } else {
       return null;
    }

    c = context.getContentResolver().query(providerUri, projection, null, null, null);
    if (c == null || !c.moveToFirst()) {
       return null;
    }

    int installReferrerIndex = c.getColumnIndex("install_referrer");
    int timestampIndex = c.getColumnIndex("actual_timestamp");
    int isCTIndex = c.getColumnIndex("is_ct");
    String installReferrer = c.getString(installReferrerIndex); // serialized and encrypted attribution details

    // TODO: 
    // 1. deserialize installReferrer (convert String to JSON)
    // 2. decrypt attribution details in install_referrer.utm_content.source.data using 
    // key: GPIR decryption key 
    // nonce: retrieve from installReferrer.utm_content.source.nonce
    // data: retrieve from installReferrer.utm_content.source.data
    // decrypt data 

    long actualTimestamp = c.getLong(timestampIndex); // timestamp in seconds for click/impression
     int isCT = c.getInt(isCTIndex); // VT or CT, 0 = VT, 1 = CT
           
} catch (Exception e) {
    return null;
} finally {
    if (c != null) {
        c.close();
    }
}

Langkah-langkah untuk deserialisasi dan deskripsi data mirip dengan yang ditemukan di panduan Install Referrer.

Tanggapan struktur data yang diterima dari install_referrer setelah deserialisasi untuk setiap aplikasi Meta akan mencakup:

  • actual_timestamp – nilai adalah cap waktu dalam hitungan detik saat terjadi klik atau impresi
  • is_ct – nilai dapat berupa 1, mewakili klik-tayang, atau 0, mewakili impresi
  • install_referrer – nilai adalah data atribusi GPIR yang telah dienkripsi

Contoh Tanggapan JSON

{
  is_ct=1,
  actual_timestamp=123,
  install_referrer={
    utm_campaign = fb4a,
    utm_content: {
      source: {
        data: “7fb9bd76…”, // encrypted attribution information
        nonce: “1234” // nonce from encryption
      },
      a: <app_id>,
      t: <timestamp>
    }
    utm_source : “apps.facebook.com” //OR “apps.instagram.com”
  }
}

Contoh data setelah dekripsi install_referrer.utm_content.source

{ 
  "ad_id":"6110809314024", 
  "adgroup_id":"6110808725024", 
  "adgroup_name":"RTG_Storie_", 
  "campaign_id":"6110808710224", 
  "campaign_name":"Mobex_Conversiones_Storie_Android_21 a 31 de Diciembre_OP39895",
  "campaign_group_id":"6110808710624", 
  "campaign_group_name":"Mobex_Instagram Storie_ Conversiones_ Diciembre OP 43918",
  "account_id":"485495091598353",
  "ad_objective_name":"CONVERSIONS", 
  // data included for Instagram ads
  "is_instagram":true,
  "publisher_platform":"instagram",                
  "platform_position":"instagram_stories"          
}

Langkah 3. Hapus Duplikasi Data

Jika metadata kampanye iklan GPIR tersedia, Anda sebaiknya mengikuti alur deduplikasi GPIR yang ada.

Deduplikasi menggunakan install referrer

Anda dapat menghapus data duplikat menggunakan data yang diberikan di install_referrer karena nilainya sama untuk penginstalan atau kampanye CT di seluruh Meta install referrer dan GPIR.

Untuk VT dan CT lintas sesi, gunakan data Meta install referral karena GPIR tidak mendukungnya.

Jika metadata kampanye iklan GPIR tidak ada, Anda mendeduplikasi data berdasarkan apakah Anda bekerja dengan mobile measurement partner (MMP) atau tidak.

Deduplikasi dengan MMP

Mobile measurement partner (MMP) memiliki akses ke data atribusi level baris untuk penginstalan yang tidak memiliki jaringan iklan pemenang, baik karena diatribusikan ke Meta atau penginstalan organik. Anda bisa memeriksa apakah ada install referrer yang disediakan melalui Meta install referrer. Jika ya, Anda dapat mempertimbangkan penginstalan yang didorong oleh Meta, dan data install referrer adalah metadata kampanye iklan untuk penginstalan.

Deduplikasi tanpa MMP

Meta install referrer memberikan sentuhan terakhir untuk penginstalan, termasuk metadata kampanye iklan, cap waktu aktual untuk sentuhan terakhir, dan jenis tindakan sentuhan terakhir (impresi atau klik). Anda dapat membandingkan jenis tindakan sentuhan terakhir dan cap waktu sentuhan terakhir dengan data atribusi yang Anda dapatkan dari jaringan iklan lain, dan memutuskan jaringan iklan yang menang.

Verifikasi pengaturannya

Pertama-tama, pastikan Anda menggunakan versi aplikasi yang mendukung solusi ini. Versi minimumnya adalah:

  • Facebook: v428
  • Instagram: v296
  • Facebook Lite: v411

Anda dapat memverifikasi pengaturan Anda dengan mengikuti langkah-langkah berikut:

  1. Masukkan kampanye uji dengan menggunakan Pratinjau di Pengelola Iklan
  2. Temukan iklan di Facebook atau Instagram dan klik iklannya
  3. Tambahkan titik sela atau catatan di kode Anda Langkah 2

Aplikasi Anda seharusnya menerima tanggapan dan mendekripsinya untuk melihat data kampanye.

Opsi 2: Integrasi yang didukung melalui MMP Anda

Langkah 1: Perbarui mobile measurement partner (MMP) SDK Anda

Perbarui SDK MMP Anda ke versi yang telah mengintegrasikan Meta install referrer:

  • AppsFlyer SDK: AppsFlyer SDK v6.14.2+
  • Adjust SDK: Adjust SDK v4.36.0+ (Flutter 4.36.0+, Unity 4.37.0+)
  • Singular SDK atau S2S API: Singular SDK v12.3.0+ (Unity 4.2.0+, React Native 3.3.0+, Unreal 2.2.0+)
  • Kochava SDK: Kochava Android SDK v5.1.0+
  • Airbridge SDK: Airbridge Android SDK v2.22.3+
  • Branch SDK: Branch SDK v5.10.1+

Langkah 2: Pastikan ID aplikasi Facebook Anda terkait dengan MMP SDK Anda

Lihat petunjuk melalui tautan di bawah.

Langkah 3: Tergantung pada MMP, Anda mungkin harus memperbarui file Android Manifest untuk aplikasi Anda

Lihat petunjuk melalui tautan di bawah.

  • Petunjuk Kochava (Buka bagian Meta/Facebook)
  • AppsFlyer, Adjust, Singular, dan Airbridge menangani langkah ini secara otomatis melalui SDK-nya
  • Silakan periksa dengan MMP Anda jika menggunakan Flutter / React SDK alih-alih Android SDK mereka

Langkah 4: Bagikan Kode Dekripsi Install Referrer Anda untuk memungkinkan MMP Anda mendekripsi metadata referrer

Catatan: Jika Anda telah melakukan hal ini untuk Google Play Store Install Referrer, langkah ini tidak diperlukan.