API event server-ke-server untuk aplikasi seluler (S2S-seluler)

Sekilas: Kirim event dari server Anda ke AppsFlyer untuk mengukur event seluler yang muncul di luar aplikasi.

S2S_us-en.png

API event server-ke-server untuk aplikasi seluler

Untuk aplikasi iOS, mulai iOS 14, Anda harus mengirimkan parameter os (sistem operasi). 

Platform AppsFlyer mengatribusi dan mencatat event aplikasi seluler yang dikirim oleh AppsFlyer SDK dan oleh API. Gunakan S2S API untuk melaporkan event yang terjadi di luar aplikasi; misalnya, pengguna memperbarui langganan menggunakan antarmuka web Anda. Event S2S, setelah direkam, tersedia di seluruh platform, termasuk dasbor, data lengkap, dan analitik. Untuk event web PBA, lihat Web S2S untuk PBA.

AppsFlyer mengisi event S2S dengan:

  • Nilai yang dikirim dalam pesan S2S
  • Beberapa AppsFlyer menginstal nilai atribusi seperti, waktu penginstalan dan sumber media.

Untuk mengirimkan acara lewat API, beri tahu pembuat program Anda untuk mengikuti instruksi API server-to-server event mereka.

Mengisi parameter

Perbedaan antara organik dan non-organik

Saat AppsFlyer memproses in-app event S2S, bidang atribusi diisi dengan menggunakan ID AppsFlyer untuk mengidentifikasi event penginstalan terkait sebelum in-app event.

Artinya, beberapa data yang AppsFlyer kaitkan dengan kejadian dalam aplikasi S2S non-organik, tidak terkait dengan in-app event S2S organik.

 Contoh

Misalnya, jika Anda membandingkan laporan data lengkap dari in-app event S2S non-organik dan organik, event non-organik berisi data yang tidak dimiliki oleh in-app event organik.

In-app event non-organik mencakup data tentang sumber media, kampanye, jenis interaksi yang dikaitkan, dan waktu interaksi yang dikaitkan.

In-app event organik, di sisi lain, mengikuti penginstalan organik. Penginstalan organik tidak memiliki data yang terkait dengan kampanye, sumber media, jenis interaksi yang dikaitkan, dan waktu penginstalan.

Memetakan ID AppsFlyer dengan ID pengguna pelanggan (CUID)

Logika backend diperlukan untuk mendapatkan nilai guna mengisi parameter. Berikut ini menjelaskan cara untuk mendapatkan ID AppsFlyer:

  • ID AppsFlyer bersifat wajib dan digunakan untuk mengatribusikan event.
  • ID ini dibuat saat pengguna pertama kali menginstal aplikasi seluler.
  • Agar Anda dapat memetakan CUID Anda ke ID AppsFlyer, Anda harus mengatur CUID di aplikasi. 

Untuk memudahkan Anda mengetahui pengguna mana yang melakukan event mana, terapkan alur berikut:.

  • Tetapkan ID pengguna pelangganD saat pengguna menginstal aplikasi.
  • Laporan data lengkap AppsFlyer berisi CUID dan ID AppsFlyer. Gunakan salah satu alat pengiriman data untuk mendapatkan ini atau API Push AppsFlyer. 
  • Gunakan laporan data lengkap untuk mencocokkan CUID dengan ID AppsFlyer. 
  • ID AppsFlyer tersedia di SDK yang terintegrasi dengan aplikasi Anda (Android/iOS).
  • Petakan ID AppsFlyer ke ID pengguna pelanggan di sistem internal Anda (penting untuk penggunaan di kemudian hari).

Setelah Anda memetakan ID AppsFlyer dengan CUID, Anda dapat mencocokkan pengguna dengan event yang dilaksanakan. Anda kemudian dapat memperoleh nilai lain (nilai event, mata uang event, waktu event, dll.) dan mengirim server to server in-app event.

Mengambil ID AppsFlyer

appsflyer_idadalah parameter wajib di pesan event server-ke-server. AppsFlyer menggunakan parameter ini untuk mengatribusi event ke perangkat asli dan ke sumber media yang teratribusi. Anda bisa mendapatkan ID ini menggunakan salah satu metode berikut:

 Tips

Saat menguji pesan S2S, jika Anda menggunakan data lengkap, cari catatan dengan sumber media "s2s_test". Ini merupakan perangkat uji Anda dan ID Perangkat AppsFlyer-nya adalah ID yang Anda butuhkan.

Penyetempel waktu acara S2S

diagram logika stempel waktu

Saat acara S2S tiba secara massal ke AppsFlyer, event tersebut diberi stempel waktu sesuai dengan nilai properti eventTime dan waktu kedatangannya. Properti eventTime menunjukkan waktu kejadian dalam aplikasi.

Pada saat kedatangan, acara diberi cap waktu sebagai berikut:

  • Jika parameter eventTime tidak disertakan dalam catatan event, waktu event diatur ke waktu kedatangan pesan HTTP.
  • Event yang tiba sebelum 02.00 UTC dicap dengan nilai eventTime . Artinya, agar event dicap dengan eventTime, event tersebut harus dilaporkan pada hari event, atau hari berikutnya hingga pukul 02.00 UTC.
  • Event yang berlangsung pada hari sebelumnya atau sebelumnya, tiba setelah pukul 02:00 UTC, dicap dengan waktu kedatangan (waktu panggilan API).
  • Event tiba dengan nilai eventTime mendatang (eventTime > waktu kedatangan):
    • Jika eventTime yang dilaporkan dan waktu kedatangan keduanya jatuh pada hari kalender yang sama, acara tersebut diberi stempel waktu dengan nilai eventTime .
    • Jika eventTime yang dilaporkan berada di hari kalender berikutnya, event tersebut diberi stempel waktu dengan waktu kedatangan.
  • Event dengan Nilai eventTime yang tidak valid dicap dengan waktu kedatangan pesan HTTP.

Contoh

  • Sebuah event dikirim dengan eventTime = Senin 21.00.
Tiba di AppsFlyer Penyetempel waktu AppsFlyer Catatan
Selasa 01:00 Senin 21:00 Tiba sebelum akhir hari. Waktu diatur ke nilai eventTime .
Rabu 09:00 Rabu 09:00 Tiba setelah akhir hari. Waktu diatur ke waktu kedatangan. 

Mengirim pendapatan negatif

Event yang memiliki nilai pendapatan negatif dapat dikirim. Misalnya, jika pembelian dibatalkan. Parameter af_revenue dapat memiliki nilai negatif jika mencatat nilai tersebut. 

Jika Anda mengisi af_quantity, Anda mungkin ingin mengisinya dengan nilai negatif tergantung pada logika sistem Anda. AppsFlyer tidak menggunakan af_quantity.

Pemecahan Masalah

Event tidak ditampilkan di dasbor

  • Titik akhir: Pastikan titik akhir yang digunakan sudah benar.
  • Pastikan bahwa payload berisi parameter wajib. Lihat di sini.
  • Pastikan bahwa ID AppsFlyer yang Anda gunakan untuk memulai event tersebut adalah appsflyer_id yang asli dan benar-benar diinstal pada aplikasi tertentu. Lihat di sini.
  • Event S2S tidak mendukung multi-event dalam satu permintaan S2S. Setiap event harus dikirim sebagai event terpisah.
    • Event dapat dikirim dengan metode tidak serentak untuk memudahkan waktu respons.
  • Di dasbor tinjauan, rentang tanggal terkait dengan tanggal penginstalan aplikasi (LTV) dan bukan dengan tanggal event.
    • Pastikan Anda memilih rentang tanggal yang benar.
    • Pastikan rentang tanggal dasbor sesuai dengan tanggal penginstalan perangkat (appsflyer_id) dan bukan tanggal event.
  • Laporan data lengkap event: rentang tanggal berkaitan dengan tanggal event dan bukan tanggal penginstalan. 

Event tidak berisi pendapatan

Jika Anda mengirim event S2S tetapi pendapatannya tidak dicatat, pastikan bahwa JSON yang Anda kirim telah diubah menjadi string JSON. Bagian terpenting adalah parameter nilai event di JSON. Ini harus diubah menjadi string JSON seperti yang ditunjukkan pada contoh berikut.

"{\"af_revenue\":\"6\" ,\"af_content_type\":\"wallets\"}"

Jika nilai event tidak diubah menjadi string, maka nilai tidak akan diproses dengan tepat dan pendapatan tidak dapat dicatat.

Nilai pendapatan tidak boleh diformat dengan cara apa pun. Ini dapat berisi titik desimal. Jangan menyertakan simbol atau kode mata uang atau , pemisah. Pendapatan dapat diawali dengan -

  • Contoh nilai event yang valid adalah: 123, -123.45123.456 
  • Contoh nilai yang tidak valid: 1,234.561,234

Tidak semua bidang diisi dalam event S2S

Bidang data lengkap diisi menggunakan nilai yang dikirim dalam panggilan S2S dan beberapa bidang diisi menggunakan event penginstalan. Perilaku serupa tetapi tidak identik diamati untuk in-app event yang dilaporkan menggunakan AppsFlyer SDK. Ada beberapa perbedaan, khususnya, bidang berikut tidak diisi untuk event S2S:

  • wifi
  • Operator
  • bahasa
  • Model Perangkat
  • Kategori Perangkat
  • Versi Aplikasi: Anda dapat menggunakan app_version_name
  • Nama aplikasi
  • Agen Pengguna