Integrasi SDK AppsFlyer - Unity

  • Pengiklan
  • Pengembang

Official_unity_logo.png

Versi Unity SDK Saat Ini:  v4.18.0
Kompatibel dengan Android SDK v4.8.18 dan iOS SDK v4.8.10

1. Garis Besar

SDK AppsFlyer menyediakan instalasi aplikasi mobile dan fungsi pelacakan event untuk Android, iOS, Windows Phone dan banyak platform pengembangan mobile lainnya.

Anda dapat melacak instalasi, pembaruan, sesi, serta melacak event dalam aplikasi (termasuk pembelian dalam aplikasi, tingkat permainan, dll.) untuk mengevaluasi tingkat pulangan investasi (ROI) dan tingkat interaksi pengguna.

Aplikasi seluler yang dikembangkan di platform Unity, dapat menikmati integrasi SDK AppsFlyer sekali dan melacak aplikasi yang dihasilkan dari Android dan iOS. Panduan ini menjelaskan cara mengintegrasi SDK AppsFlyer ke kode Unity untuk aplikasi iOS dan Android Anda.

 Catatan

AppsFlyer mendukung integrasi dengan Unity versi 5 ke atas

 Penting!

Google Play Install Referrer API didukung mulai dari Plugin Unity versi 4.16.0. Jika Anda ingin menggunakan Referrer API baru, perbarui plugin ke versi 4.16.0 ke atas.

 Tips

  • Bab 2 dan 3 MEWAJIBKAN implementasi Integrasi SDK DASAR, yaitu hanya atribusi install
  • Bab mengukur in-app event SANGAT DISARANKAN implementasinya
  • Fitur lain yang dijelaskan bersifat OPSIONAL untuk diimplementasikan, meskipun beberapa fitur mungkin Anda perlukan, tergantung pada logika bisnis app Anda. Misalnya, mengukur pendapatan atau memperoleh data konversi pada peluncuran pertama mungkin sangat penting untuk alur app Anda

2. Mulai

2.1 Mengunduh Plugin Unity AppsFlyer

Anda dapat menemukan plugin di Github di sini: https://github.com/AppsFlyerSDK/Unity

Di bawah ini adalah instruksi integrasi untuk penggunaan Plugin Unity AppsFlyer.

2.2 Menginstal Plugin

Di bawah ini adalah instruksi instalasi untuk plugin AppsFlyer:

  1. Impor AppsFlyerUnityPlugin.unitypackage ke proyek Unity Anda.
  2. Buka Assets >> Import Package >> Custom Package
  3. Pilih file AppsFlyerUnityPlugin.unitypackage.

2.3 Pengaturan Wajib untuk Android dan iOS

Pengaturan Android


Mengatur AF receiver dan hak akses ke AndroidManifest.xml:

<!-- receiver should be inside the <application> tag -->
<receiver android:name="com.appsflyer.MultipleInstallBroadcastReceiver" android:exported="true">
    <intent-filter>
        <action android:name="com.android.vending.INSTALL_REFERRER" />
    </intent-filter>
</receiver>
<!-- Mandatory permission: -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />


Mengatur Hak Akses Yang Diperlukan

File AndroidManifest.xml sudah termasuk hak akses berikut:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!-- Optional : -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />


Mengatur BroadcastReceiver di AndroidManifest.xml

Tersedia dua pilihan untuk penerapan penerima broadcast perujuk instalasi:

Menggunakan Penerima Broadcast Tungga Menggunakan Penerima Broadcast Ganda

Jika tidak ada penerima yang mendengarkan di INSTALL_REFERRER, pada file AndroidManifest.xml, tambahkan penerima berikut ini dalam tag aplikasi:

<receiver android:name="com.appsflyer.SingleInstallBroadcastReceiver" android:exported="true">
  <intent-filter>
     <action android:name="com.android.vending.INSTALL_REFERRER" />
   </intent-filter>
</receiver>

Pengaturan iOS


Framework dan Library Terkait


Setelah membuat proyek menggunakan Unity di xCode, Anda harus menambahkan Security.Framework ke Framework dan Library Terkait xCode jika sebelumnya framework belum ditambah.


IOS Apple Search Ads

tambahkan file berikut:

AdSupport.framework
AppsFlyer mengumpulkan IDFA hanya jika Anda menyertakan framework ini. Jika Anda tidak dapat menambah framework ini, Anda tidak dapat melacak Facebook, Twitter, dan sebagian besar jaringan iklan lainnya.
iAd.framework

Penambahan framework ini ke aplikasi Anda sangatlah disarankan, karena framework ini wajib dipasang untuk melacak Iklan Pencarian Apple.

3. Inisialisasi SDK

Di metode Start / Init, atur kode pengembang AppsFlyer dan ID aplikasi unik yang digunakan oleh iTunes dan Google Play.  Harap diperhatikan bahwa Anda perlu mengatur ID aplikasi iOS hanya dengan angka tanpa awalan "id".

Tambahkan kode berikut:

Plugin Unity versi 4.15.1 dan di atasnya Plugin Unity versi 4.14.3 dan di bawahnya
void Start () {
/* Mandatory - set your AppsFlyer’s Developer key. */
AppsFlyer.setAppsFlyerKey ("YOUR_APPSFLYER_DEV_KEY");
/* For detailed logging */
/* AppsFlyer.setIsDebug (true); */
#if UNITY_IOS
  /* Mandatory - set your apple app ID
   NOTE: You should enter the number only and not the "ID" prefix */
  AppsFlyer.setAppID ("YOUR_APP_ID_HERE");
  AppsFlyer.trackAppLaunch ();
#elif UNITY_ANDROID
  /* Mandatory - set your Android package name */
  AppsFlyer.setAppID ("YOUR_ANDROID_PACKAGE_NAME_HERE");
  /* For getting the conversion data in Android, you need to add the "AppsFlyerTrackerCallbacks" listener.*/
  AppsFlyer.init ("YOUR_APPSFLYER_DEV_KEY","AppsFlyerTrackerCallbacks");
#endif
}

 Penting!

  • Untuk Android, AppsFlyer.init termasuk pemanggilan trackAppLaunch. Jadi, jangan memanggil trackAppLaunch di Android build milik Unity plugin.
  • Di iOS, respon data konversi dipicu di class AppsFlyerTrackerCallbacks.cs.

4. Mengukur Event Dalam-Aplikasi

Event Dalam-Aplikasi memberikan informasi tentang apa yang dilakukan user dalam aplikasi Anda. Sebaiknya luangkan waktu dan tentukan event yang ingin Anda ukur agar Anda dapat melacak ROI (Pulangan Investasi) dan LTV (Lifetime Value).

Mengukur in-app event dilakukan dengan cara memanggil trackRichEvent bersama nama event dan parameter nilai. Lihat dokumentasi In-App Event  untuk detail lebih lanjut.

 Catatan

Nama Event Dalam-Aplikasi tidak boleh lebih dari 45 karakter. Nama Event yang melebihi 45 karakter tidak muncul di dashboard, namun hanya tertera di laporan data lengkap, API Pull dan API Push.


Contoh Event Pengukuran:

System.Collections.Generic.Dictionary<string, string> purchaseEvent = new  
System.Collections.Generic.Dictionary<string, string> ();
purchaseEvent.Add ("af_currency", "USD");
purchaseEvent.Add ("af_revenue", "0.99");
purchaseEvent.Add ("af_quantity", "1");
AppsFlyer.trackRichEvent ("af_purchase", purchaseEvent);

 Catatan

AppsFlyer mendukung karakter non-Inggris dengan event in-app atau dengan API SDK lainnya mulai dari SDK Android versi 4.15.1

5. Mengukur Deep Linking

Untuk deep linking, ikuti instruksi sesuai dengan sistem operasi Anda.

AndroidiOS
Tambahkan kode berikut ke file manifest:

<activity android:name="com.appsflyer.GetDeepLinkingActivity" android:exported="true">
 <intent-filter>
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.DEFAULT" />
  <category android:name="android.intent.category.BROWSABLE" />
  <data android:scheme="your_scheme" />
 </intent-filter>
</activity>

Untuk menerima data deep link, Anda harus menerapkan fungsi callback onAppOpenAttribution (ada di class AppsFlyerTrackerCallbacks) yang dipanggil oleh SDK AppsFlyer. Penerapan ini menghasilkan parameter Onelink/link pengukuran yang digunakan untuk memicu app terbuka. Kemudian, Anda dapat mengekstrak nilai parameternya dan menerapkan suatu logika untuk memicu halaman aplikasi yang dituju.

public void onAppOpenAttribution(string validateResult) {
	print ("AppsFlyerTrackerCallbacks:: got onAppOpenAttribution = " + validateResult);
}

6. Melacak Pendapatan

Gunakan parameter event AFInAppEvents.REVENUE untuk menghitung pendapatan sebagai bagian dari event dalam-aplikasi. Anda dapat mengisinya dengan nilai numerik, positif maupun negatif.

 Catatan

AFInAppEvents.REVENUE(sama dengan penggunaan af_revenue) adalah SATU-SATUNYA parameter event yang dihitung oleh AppsFlyer sebagai pendapatan pada laporan data dan dashboard AppsFlyer. Untuk informasi lebih lanjut klik di sini.

 Contoh

Pendapatan dari Event Dalam-Aplikasi
AppsFlyer.trackRichEvent(AFInAppEvents.LEVEL_ACHIEVED, new Dictionary<string, string>(){
	{AFInAppEvents.CONTENT_ID, "1234567"},
	{AFInAppEvents.CONTENT_TYPE, "category_a"},
	{AFInAppEvents.REVENUE, "1.99"},
	{AFInAppEvents.CURRENCY, "USD"}
});

 Penting!

JANGAN memformat nilai pendapatan dengan cara apa pun. Nilai pendapatan tidak boleh berisi koma, simbol mata uang, atau teks. Misalnya, nilai pendapatan harus serupa dengan 1234.56.

Mengukur Pendapatan Negatif

Jika Anda perlu mengukur pendapatan negatif misalnya ketika user membatalkan pembelian atau menerima pengembalian dana, Anda dapat mengirimkan pendapatan negatif.

AppsFlyer.trackRichEvent(AFInAppEvents.PURCHASE, new Dictionary<string, string>(){
	{AFInAppEvents.CONTENT_ID, "1234567"},
	{AFInAppEvents.CONTENT_TYPE, "category_a"},
	{AFInAppEvents.REVENUE, "-1.99"},
	{AFInAppEvents.CURRENCY, "USD"}
});

 Catatan

Pada kode di atas, perhatikan beberapa hal berikut:

  1. Nilai pendapatan didahului dengan tanda minus
  2. Nama event memiliki nilai unik "cancel_purchase" - agar Anda dapat mengidentifikasi event pendapatan negatif di dashboard dan laporan data lengkap

7. Memperoleh Data Konversi

AppsFlyer memungkinkan Anda untuk mengakses data konversi pengguna secara aktual untuk setiap instalasi baru, langsung dari SDK. Hal ini memungkinkan Anda untuk menyesuaikan halaman utama yang dilihat oleh pengguna saat pertama kali aplikasi dibuka setelah instalasi.

Untuk memuat data konversi AppsFlyer dari server:

  1. Tambahkan GameObject kosong
  2. Lampirkan ke file AppsFlyerTrackerCallbacks.cs yang terdapat di dalam proyek (Anda harus menamai gameobject sebagaiAppsFlyerTrackerCallbacks).
Plugin Android Unity > 4.15.1 Plugin Android Unity < 4.14.3 iOS
/*Anda perlu menambahkan listener berikut ini untuk memperoleh data konversi di Android. ke metode init() */
AppsFlyer.init ("YOUR_DEV_KEY","AppsFlyerTrackerCallbacks");


Di Android, Anda dapat memindahkan metode dari AppsFlyerTrackerCallbacks.cs ke class lainnya dan memanggil class tersebut di listener Anda.

Anda harus menggunakan metode yang sama persis dengan namespace yang muncul di AppsFlyerTrackerCallbacks.

8. Pengidentifikasi Pengguna

Memperoleh AppsFlyer Device ID

ID perangkat unik AppsFlyer dibuat untuk setiap instalasi aplikasi baru. Gunakan API berikut untuk mendapatkan ID Unik AppsFlyer:

public String getAppsFlyerId();


Contoh Penggunaan:

string AppsFlyerUID = AppsFlyer.getAppsFlyerId();

Mengatur ID Pengguna Pelanggan

Mengatur ID Pengguna seperti yang digunakan oleh aplikasi. 

Untuk mengatur ID Pengguna, panggil metode berikut:

AppsFlyer.setCustomerUserID("IdApaPun");

 Catatan

customerUserID HARUS diatur sebelum trackAppLaunch/init. Sebaiknya atur ID User Kustomer sesegera mungkin karena ID hanya terkait dengan event yang dilaporkan setelah ID diatur. ID Pengguna Pelanggan dapat juga digunakan untuk melengkapi integrasi dengan platform Analisis seperti Mixpanel dan Swrve.

 Penting!

Untuk iOS - Sebelum memanggil trackAppLaunch, pastikan untuk mengatur ID user kustomer setiap kali app diluncurkan

Untuk informasi lebih lanjut tentang ID Pengguna Pelanggan, klik di sini.

Google Advertising ID

AppsFlyer secara otomatis mengumpulkan google_advertising_id dari SDK Versi 4.8.0. Persyaratan untuk mengumpulkan ID Iklan Google hanya berlaku untuk SDK versi 4.7.x ke bawah.

IMEI dan Android ID

Secara default, IMEI dan Android ID tidak dikumpulkan oleh SDK jika versi OS lebih tinggi dari KitKat (4.4) dan perangkat berisi Google Play Services (aplikasi  tertentu pada SDK Unity versi 4.16.4 ke bawah membutuhkan GPS). 

Untuk mengirim ID ini secara eksplisit ke AppsFlyer, pengembang dapat menggunakan API berikut:

AppsFlyer.setAndroidIdData(string)
AppsFlyer.setImeiData(string)

Jika aplikasi TIDAK berisi Google Play Services, IMEI dan Android ID dikumpulkan oleh SDK. Namun, aplikasi yang berisi Google play services harus menghindari pengumpulan IMEI karena melanggar kebijakan Google Play.

Pengembang dapat memilih untuk tidak mengumpulkan IMEI dan Android ID dengan menggunakan API berikut:

AppsFlyer.setCollectAndroidID(bool) 
AppsFlyer.setCollectIMEI(bool)

 Peringatan

Setidaknya satu pengidentifikasi perangkat, GAID, ID Android atau IMEI, HARUS dikumpulkan untuk memungkinkan atribusi yang tepat.

IDFA dan IDFV

AppsFlyer secara otomatis mengumpulkan IDFA (ID Untuk Pengiklan) dan IDFV (ID Untuk Vendor) jika AdSupport.framework dimuat di aplikasi.

9. Fitur Pilihan

Mengukur Uninstall

Untuk pengukuran Uninstall, ikuti instruksi sesuai dengan sistem operasi Anda.

Android - FirebaseAndroid - GCMiOS
1.  Unduh SDK Unity Firebase dari: https://firebase.google.com/docs/unity/setup
2.  Impor FirebaseMessaging.unitypackage ke proyek.
3.  Impor google-services.json ke proyek (diperoleh dari konsol Firebase)

 Catatan

Penerima Manifest harus ditambahkan secara otomatis oleh SDK Unity Firebase.


4.  Di class Unity yang menangani kode AppsFlyer, tambahkan:
menggunakan Firebase.Messaging;
menggunakan Firebase.Unity;

5.  Tambahkan ke metode Start():
Firebase.Messaging.FirebaseMessaging.TokenReceived += OnTokenReceived;

6.  Tambahkan metode berikut:
public void OnTokenReceived
  (object sender, Firebase.Messaging.TokenReceivedEventArgs token) { 
    AppsFlyer.updateServerUninstallToken (token.Token);
}

 

 Peringatan

Pengguna yang menerapkan SDK Unity Firebase tidak boleh menambahkan metode call to enableUninstallTracking(“SenderID”) karena SDK Firebase akan memperoleh ID pengirim dari file google-services.json yang telah ditambahkan sebelumnya. Penambahan metode ini akan menyebabkan peringatan debug dari Android.

Mengukur Push Notification

AppsFlyer memungkinkan Anda untuk melacak Push Notification sebagai bagian dari kampanye penargetan ulang.

handlePushNotification(Dictionary<string, string> payload)

Muatan data harus berisi objek: af dengan string key-value yang relevan:

Contoh:

{ 
  "data":{ 
   "score":"5x1",
   "time":"15:10",
   "af":{ 
     "c":"test_campaign",
     "is_retargeting":"true",
     "pid":"push_provider_int"
   }
  }
}

// with deep-linking
{
  "data":{
   "score":"5x1",
   "time":"15:10",
   "click_action":"com.example.someAction",
   "af":{
     "c":"test_campaign",
     "is_retargeting":"true",
     "pid":"push_provider_int"
   }
  }
}

 Catatan

Untuk informasi lebih lanjut tentang pengukuran push notification, baca di sini.

Pengukuran Promosi Silang

AppsFlyer memungkinkan Anda untuk mengukur dan mengatribusi install yang berasal dari promosi cross salah satu app Anda dari dalam app yang saat ini dimiliki oleh user. Melakukan promosi cross app dapat menjadi faktor pertumbuhan utama dalam mendorong install tambahan untuk app Anda.

Untuk detail lebih lanjut, lihat artikel Mengukur Promosi Cross, di sini.

Pelacakan Undangan Pengguna

AppsFlyer memungkinkan Anda untuk mengukur dan mengatribusi install yang berasal dari undangan install di dalam app Anda. Mengizinkan user yang ada untuk mengundang teman dan kontak mereka sebagai user baru bagi app Anda akan menjadi faktor pertumbuhan utama untuk app Anda.

Untuk detail lebih lanjut, lihat artikel Mengukur Undangan User, di sini.

Mengatur Kode Mata Uang

Selain kode mata uang yang dapat digunakan sebagai bagian dari setiap event dalam-aplikasi yang dikirim ke AppsFlyer, Anda dapat mengatur kode mata uang global menggunakan API berikut. Kode mata uang global digunakan saat af_currency

AFInAppEvents.CURRENCY

tidak dikirim sebagai bagian dari event dalam-aplikasi.

Nilai default adalah USD. Anda dapat melihat kode mata uang ISO yang dapat diterima di sini.

Gunakan API berikut untuk mengatur kode mata uang:

public void setCurrencyCode(String currencyCode);

Contoh Penggunaan:

setCurrencyCode(string currencyCode)

Validasi Pembelian Dalam-Aplikasi

Untuk Validasi Penerimaan Pembelian Dalam-Aplikasi, ikuti instruksi sesuai dengan sistem operasi Anda.

Panggilan Android Memanggil Pendengar (Hanya Android) iOS
//Untuk memperoleh callback
//AppsFlyer.createValidateInAppListener ("AppsFlyerTrackerCallbacks", 
"onInAppBillingSuccess", "onInAppBillingFailure"); AppsFlyer.validateReceipt(string publicKey, string purchaseData,
string signature, string price, string currency, Dictionary additionalParametes);

Validasi respon pembelian dipicu dalam kelas AppsFlyerTrackerCallbacks.cs

Menganonimkan Data Pengguna

AppsFlyer memberi Anda metode untuk menganonimkan pengguna tertentu dari analisis AppsFlyer. Metode ini sesuai dengan persyaratan privasi terbaru serta mematuhi kebijakan data dan privasi Facebook. Nilai defaultnya adalah NO, yang berarti penganoniman secara default tidak akan dilakukan.

Gunakan API ini saat inisialisasi SDK untuk menganonimkan instalasi, event, dan sesi pengguna secara eksplisit:

public void setDeviceTrackingDisabled(boolean isDisabled);

Contoh Penggunaan:

AppsFlyer.setDeviceTrackingDisabled(true);
Pengukuran dapat diulang dengan memanggil kembalideviceTrackingDisabled dan mengaturnya ke false.

 Peringatan

Pengecualian pengguna berdampak KRITIS pada informasi atribusi Anda.
Gunakan opsi ini HANYA untuk wilayah yang secara legal mencegah Anda mengumpulkan informasi pengguna.

Waktu Antar Sesi Kustom

Secara default, setidaknya ada jeda selama 5 detik antara 2 peluncuran app agar terhitung sebagai 2 sesi terpisah (lebih lanjut tentang menghitung sesi).
Namun, Anda dapat menggunakan API berikut untuk menentukan nilai kustom sebagai waktu minimum yang diperlukan antar-sesi:
setMinTimeBetweenSessions(int seconds)


Contoh Penggunaan:

AppsFlyer.setMinTimeBetweenSessions(10);

Perlu diperhatikan bahwa mengatur nilai tinggi ke waktu kustom antar-peluncuran dapat berdampak buruk pada API yang bergantung pada data sesi, seperti deep linking.

Sesi Latar Belakang untuk Aplikasi Utilitas

Saat ini tidak tersedia untuk Unity.

Mengukur App Out-of-Store

 Catatan

Google Play adalah bursa aplikasi default. Lewati bagian ini jika aplikasi hanya dipublikasikan di Google Play.

Untuk melacak instalasi selain Google Play, atur saluran/bursa aplikasi pada file AndroidManifest.xml aplikasi dengan nama saluran unik atau nama bursa aplikasi apa pun untuk setiap APK. Nilai SALURAN sensitif huruf besar dan kecil.

Contoh:

<meta-data android:name="CHANNEL" android:value="Amazon" />
<meta-data android:name="CHANNEL" android:value="Standalone"/>
<meta-data android:name="CHANNEL" android:value="Verizon" />

 Catatan

Anda harus mengonfigurasikan nilai SALURAN di dashboard AppsFlyer saat mengatur aplikasi.

Letakkan tag meta-data sebelum tag </application>.

Untuk informasi lebih lanjut tentang cara melacak instalasi aplikasi selain dari bursa aplikasi resmi, baca di sini.

Opt-Out

Dalam beberapa kasus ekstrem, Anda mungkin diharuskan untuk mematikan semua pengukuran SDK karena pemenuhan hukum dan privasi. Tindakan ini dapat dilakukan dengan isStopTracking API. Setelah API dipanggil, SDK kami tidak akan lagi berkomunikasi dengan server dan berhenti berfungsi.

AppsFlyer.stopTracking(true);

SDK dapat diaktifkan kembali dengan memanggil API yang sama dalam event apa pun, tetapi dengan nilai false.

Ada beberapa skenario berbeda untuk opt-out user. Kami sangat menyarankan agar mengikuti instruksi yang tepat untuk skenario tersebut, yang relevan untuk app Anda.

 Peringatan

Gunakan API ini hanya jika Anda ingin sepenuhnya mengabaikan user dari setiap dan semua pengukuran. Penggunaan API ini berdampak KRITIS pada atribusi, pengumpulan data, dan mekanisme deep linking.

Mengatur Data Kustom Tambahan

parameter setAdditionalData diperlukan untuk integrasi dengan beberapa platform partner eksternal di level SDK, termasuk Segment, Adobe, dan Urban Airship. Gunakan API ini hanya jika artikel integrasi platform secara khusus menyatakan bahwa API  setAdditionalData diperlukan.
Berikut ini adalah contoh kode untuk pengimplementasian setAdditionalData di Unity:

Dictionary<string, string> CustomDataMap = new Dictionary<string, string>();
CustomDataMap.Add("custom_param_1", "value_of_param_1");
AppsFlyer.setAdditionalData(CustomDataMap);

Atribusi untuk App Pra-Install

Hanya Android

You can programmatically set a pre-installed media source, from Unity, using the following API:

setPreinstallAttribution(string MediaSource, string Campaign, string Site_Id);

Untuk detail tentang implementasi native, klik di sini.

 Penting!

Saat menggunakan SDK Unity AppsFlyer, hindari

PlayerPrefs.DeleteAll()

10. Menguji Integrasi Anda

Untuk instruksi pengujian integrasi Anda yang sesuai dengan sistem operasi yang Anda pakai, klik Pengujian Android atau Pengujian iOS.

Sekarang Anda dapat mulai mengukur media source yang Anda gunakan.

11. Masalah Yang Diketahui

ProGuard

Jika Anda menggunakan ProGuard untuk Android dan Anda menemukan peringatan tentang class AFKeystoreWrapperkami, tambahkan kode berikut ke file aturan ProGuard Anda:

-keep class com.appsflyer.** { *; }

IL2CPP

Untuk mengecualikan SDK kami dari Managed bytecode stripping dengan IL2CPP, tambahkan kode berikut ke link.xml:

<linker>
  <assembly fullname="mscorlib">
    <type fullname="AppsFlyer.*" preserve="all"/>
  </assembly>
…
</linker>

IMPL_APP_CONTROLLER_SUBCLASS

If you are using additional plugins that need to override AppControllerClassName, modify AppsFlyerAppController as seen below (objective-c):

+(void)load
{
  [AppsFlyerAppController plugin];
}

// Singleton accessor.
+ (AppsFlyerAppController *)plugin
{
  static AppsFlyerAppController *sharedInstance = nil;
  static dispatch_once_t onceToken;
  
  dispatch_once(&onceToken, ^{
    
    sharedInstance = [[AppsFlyerAppController alloc] init];
  });
  
  return sharedInstance;
}

//IMPL_APP_CONTROLLER_SUBCLASS(AppsFlyerAppController)

12. Proyek Sampel Unity

Untuk melihat proyek contoh Unity, klik di sini.

Apakah artikel ini membantu?
4 dari 9 menganggap ini berguna

Komentar

0 komentar

Harap login untuk memberikan komentar.

Artikel dalam bagian ini

Isi Halaman: