Panduan Memulai
Salin prompt setup yang berisi langkah install dan panduan markdown lengkap untuk plugin ini.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-appsflyer`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/appsflyer/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
Anda bisa menggunakan AI-Assisted Setup kami untuk menginstal plugin ini. Tambahkan skill Capgo ke tool AI Anda dengan command berikut:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsLalu gunakan prompt berikut:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-appsflyer` plugin in my project.Jika Anda lebih memilih Manual Setup, instal plugin dengan menjalankan perintah berikut dan ikuti petunjuk khusus platform di bawah ini:
bun add @capgo/capacitor-appsflyernpx cap syncimport { AppsFlyer } from '@capgo/capacitor-appsflyer';import type { AFAdRevenueData, AFAndroidInAppPurchase, AFAnonymizeUser, AFAppendToDeepLink, AFConsentData, AFConsentOptions, AFCuid, AFCurrency, AFData, AFDisable, AFEmails, AFEnableTCFDataCollection, AFEvent, AFFbDAL, AFFilters, AFHost, AFInit, AFIosInAppPurchase, AFLanguage, AFLatLng, AFLinkGenerator, AFLogInvite, AFOnelinkDomain, AFOnelinkID, AFPartnerData, AFPath, AFPhone, AFPromotion, AFPurchaseDetailsV2, AFPushPayload, AFUninstall, AFUrls,} from '@capgo/capacitor-appsflyer';Mulai cepat
Bagian berjudul “Mulai cepat”import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.initSDK({ devKey: 'dev-key-123', appID: 'app-id-123',});console.log(result);Contoh: startSDK
Bagian berjudul “Contoh: startSDK”import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.startSDK();console.log(result);Contoh: logEvent
Bagian berjudul “Example: logEvent”import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.logEvent({ eventName: 'event' });console.log(result);Kesalahan umum
Bagian berjudul “Kesalahan umum”- Listeners: hapus handle saat screen unmount.
- Sinkronisasi Native: jalankan
npx cap syncsetelah upgrade plugin. - Sumber kebenaran tunggal: percayai
src/definitions.tsdi repo GitHub.
Ringkasan API
Bagian berjudul “Ikhtisar API”initSDK
Bagian berjudul “initSDK”Gunakan metode ini untuk inisialisasi dan menjalankan AppsFlyer SDK. API ini harus dipanggil segera setelah aplikasi dijalankan.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.initSDK({ devKey: 'dev-key-123', appID: 'app-id-123',});console.log(result);startSDK
Bagian berjudul “startSDK”Gunakan metode ini untuk menjalankan AppsFlyer SDK, hanya pada mode start manual.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.startSDK();console.log(result);logEvent
Bagian berjudul “logEvent”Log event di dalam aplikasi.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.logEvent({ eventName: 'event' });console.log(result);setCustomerUserId
Bagian berjudul “setCustomerUserId”Mengatur customer ID sendiri memungkinkan Anda melakukan cross-reference antara ID unik Anda dengan ID unik AppsFlyer dan ID perangkat lainnya. ID ini tersedia di laporan raw-data dan di Postback APIs untuk cross-referencing dengan ID internal Anda.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setCustomerUserId({ cuid: 'cuid' });setCurrencyCode
Bagian berjudul “setCurrencyCode”Mengatur mata uang yang digunakan untuk in-app purchases. Masukkan kode ISO 4217 tiga karakter code.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setCurrencyCode({ currencyCode: 'USD' });updateServerUninstallToken
Bagian berjudul “updateServerUninstallToken”Teruskan token GCM/FCM pada Android atau token APNs pada iOS saat dikumpulkan oleh plugin lain. Gunakan ini untuk meneruskan token pengukuran uninstall ke AppsFlyer.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.updateServerUninstallToken({ token: 'token-123' });setAppInviteOneLink
Bagian berjudul “setAppInviteOneLink”Mengatur OneLink ID yang digunakan sebagai base link untuk atribusi invite.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setAppInviteOneLink({ onelinkID: 'onelink-id-123' });setOneLinkCustomDomain
Bagian berjudul “setOneLinkCustomDomain”Mendaftarkan domain OneLink bermerek agar AppsFlyer dapat me-resolve parameter atribusi yang tersembunyi di short link.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setOneLinkCustomDomain({ domains: ['example.com'] });appendParametersToDeepLinkingURL
Bagian berjudul “appendParametersToDeepLinkingURL”Mengaktifkan atribusi untuk deep link App Links tanpa OneLink. Panggil metode ini sebelum startSDK().
Sertakan setidaknya pid dan is_retargeting=true di dalam map parameters.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.appendParametersToDeepLinkingURL({ contains: 'contains', parameters: {},});setResolveDeepLinkURLs
Bagian berjudul “setResolveDeepLinkURLs”Gunakan ini saat AppsFlyer OneLink dibungkus di dalam Universal Link lain. Ini memungkinkan SDK me-resolve URL yang dibungkus agar deep linking tetap berjalan dengan benar.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setResolveDeepLinkURLs({ urls: ['https://example.com'] });addPushNotificationDeepLinkPath
Bagian berjudul “addPushNotificationDeepLinkPath”Mengatur cara SDK mengekstrak nilai deep link dari payload push notification.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.addPushNotificationDeepLinkPath({ path: ['path/to/file'] });setSharingFilter
Bagian berjudul “setSharingFilter”Menghentikan event agar tidak diteruskan ke partner AppsFlyer yang ditentukan.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setSharingFilter({ filters: ['filter'] });setSharingFilterForAllPartners
Bagian berjudul “setSharingFilterForAllPartners”Menghentikan event agar tidak diteruskan ke semua partner AppsFlyer. Menimpa setSharingFilter.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setSharingFilterForAllPartners();setSharingFilterForPartners
Bagian berjudul “setSharingFilterForPartners”Menghentikan event agar tidak diteruskan ke partner AppsFlyer yang ditentukan.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setSharingFilterForPartners({ filters: ['filter'] });setAdditionalData
Bagian berjudul “setAdditionalData”Menetapkan data key-value tambahan untuk dikirim ke AppsFlyer.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setAdditionalData({ additionalData: {} });getAppsFlyerUID
Bagian berjudul “getAppsFlyerUID”Dapatkan ID perangkat unik AppsFlyer (dibuat untuk setiap instalasi aplikasi baru).
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.getAppsFlyerUID();console.log(result);anonymizeUser
Bagian berjudul “anonymizeUser”Opt-out pengguna akhir dari analitik AppsFlyer (anonimkan data pengguna).
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.anonymizeUser({ anonymizeUser: true });Setelah API ini dipanggil, SDK kami tidak lagi berkomunikasi dengan server dan berhenti berfungsi. Berguna saat mengimplementasikan user opt-in/opt-out.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.stop();console.log(result);disableSKAdNetwork
Bagian berjudul “disableSKAdNetwork”Opt-out dari SKAdNetwork
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.disableSKAdNetwork({ shouldDisable: true });disableAdvertisingIdentifier
Bagian berjudul “disableAdvertisingIdentifier”Menonaktifkan pengumpulan berbagai Advertising ID oleh SDK. Ini mencakup Apple Identity for Advertisers (IDFA), Google Advertising ID (GAID), OAID, dan Amazon Advertising ID (AAID).
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.disableAdvertisingIdentifier({ shouldDisable: true });disableCollectASA
Bagian berjudul “disableCollectASA”Opt-out dari atribusi Apple Search Ads.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.disableCollectASA({ shouldDisable: true });setHost
Bagian berjudul “setHost”Atur host kustom.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setHost({ hostPrefixName: 'host-prefix', hostName: 'host',});generateInviteLink
Bagian berjudul “generateInviteLink”Memungkinkan pengguna yang sudah ada mengundang teman dan kontak mereka sebagai pengguna baru ke aplikasi Anda
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.generateInviteLink({ brandDomain: 'example.com' });console.log(result);validateAndLogInAppPurchaseAndroid
Bagian berjudul “validateAndLogInAppPurchaseAndroid”API untuk verifikasi server pada pembelian dalam aplikasi. Event af_purchase dengan nilai yang relevan akan otomatis tercatat jika validasi berhasil.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.validateAndLogInAppPurchaseAndroid({ currency: 'USD', publicKey: 'public-key-123', signature: 'signature', purchaseData: 'purchase-data', price: 'price',});console.log(result);validateAndLogInAppPurchaseIos
Bagian berjudul “validateAndLogInAppPurchaseIos”Lihat definisi sumber untuk kontrak saat ini.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.validateAndLogInAppPurchaseIos({ currency: 'USD', inAppPurchase: 'in-app-purchase', price: 'price', transactionId: 'transaction-id-123',});console.log(result);getSdkVersion
Bagian berjudul “getSdkVersion”Dapatkan versi SDK AppsFlyer yang digunakan di aplikasi.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.getSdkVersion();console.log(result);enableFacebookDeferredApplinks
Bagian berjudul “enableFacebookDeferredApplinks”Aktifkan pengumpulan Facebook Deferred AppLinks. Memerlukan Facebook SDK dan aplikasi Facebook di perangkat target/klien. API ini harus dipanggil sebelum menginisialisasi SDK AppsFlyer agar berfungsi dengan benar.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.enableFacebookDeferredApplinks({ enableFacebookDAL: true });console.log(result);sendPushNotificationData
Bagian berjudul “sendPushNotificationData”Ukur dan ambil data dari kampanye push notification.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.sendPushNotificationData({ pushPayload: {} });setCurrentDeviceLanguage
Bagian berjudul “setCurrentDeviceLanguage”Atur bahasa perangkat. Data akan ditampilkan di Raw Data Reports
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.setCurrentDeviceLanguage({ language: 'en-US' });console.log(result);logCrossPromoteImpression
Bagian berjudul “logCrossPromoteImpression”Mencatat impression sebagai bagian dari kampanye cross-promotion. Pastikan menggunakan ID aplikasi yang dipromosikan sesuai yang muncul di dashboard AppsFlyer.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.logCrossPromoteImpression({ appID: 'app-id-123', campaign: 'campaign', parameters: {},});console.log(result);setUserEmails
Bagian berjudul “setUserEmails”Atur email pengguna dan enkripsikan email tersebut.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.setUserEmails({ emails: ['user@example.com'] });console.log(result);logLocation
Bagian berjudul “logLocation”Log lokasi pengguna secara manual
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.logLocation({ latitude: 48.8566, longitude: 2.3522,});console.log(result);setPhoneNumber
Bagian berjudul “setPhoneNumber”Akan dikirim sebagai string terenkripsi SHA-256.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.setPhoneNumber({ phone: '+15555550123' });console.log(result);setPartnerData
Bagian berjudul “setPartnerData”Memungkinkan pengiriman data kustom untuk tujuan integrasi partner.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.setPartnerData({ data: {}, partnerId: 'partner-id-123',});console.log(result);logInvite
Bagian berjudul “logInvite”Gunakan untuk mencatat event in-app user-invite (af_invite).
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.logInvite({ eventParameters: {}, channel: 'channel',});console.log(result);setDisableNetworkData
Bagian berjudul “setDisableNetworkData”Gunakan untuk menonaktifkan pengumpulan nama operator jaringan (carrier) dan nama operator SIM dari perangkat.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setDisableNetworkData({ shouldDisable: true });enableTCFDataCollection
Bagian berjudul “enableTCFDataCollection”Gunakan untuk opt-in/opt-out pengumpulan data persetujuan secara otomatis, bagi pengguna yang memakai CMP. Nilai flag akan dipertahankan antar sesi aplikasi.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.enableTCFDataCollection({ shouldEnableTCFDataCollection: true });setConsentData
Bagian berjudul “setConsentData”Gunakan ini untuk mengatur data persetujuan (consent) pengguna secara manual. Jika aplikasi Anda tidak menggunakan CMP yang kompatibel dengan TCF v2.2, gunakan metode berikut untuk memberikan data persetujuan secara manual langsung ke SDK.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setConsentData({ data: { isUserSubjectToGDPR: true } });logAdRevenue
Bagian berjudul “logAdRevenue”Dengan atribusi pendapatan iklan, pemilik aplikasi mendapatkan gambaran lengkap tentang LTV pengguna dan ROI kampanye. Pendapatan iklan dihasilkan dari penayangan iklan pada rewarded video, offer wall, interstitial, dan banner di dalam aplikasi. Anda dapat menggunakan metode ini untuk mencatat pendapatan iklan Anda.
import { AppsFlyer, MediationNetwork } from '@capgo/capacitor-appsflyer';
await AppsFlyer.logAdRevenue({ monetizationNetwork: 'monetization-network', mediationNetwork: MediationNetwork.IRONSOURCE, currencyIso4217Code: 'USD', revenue: 1,});setConsentDataV2
Bagian berjudul “setConsentDataV2”Gunakan ini untuk mengatur data persetujuan (consent) pengguna secara manual. Jika aplikasi Anda tidak menggunakan CMP yang kompatibel dengan TCF v2.2, gunakan metode berikut untuk memberikan data persetujuan secara manual langsung ke SDK.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setConsentDataV2({ isUserSubjectToGDPR: true, hasConsentForDataUsage: true, hasConsentForAdsPersonalization: true, hasConsentForAdStorage: true,});isSDKStarted
Bagian berjudul “isSDKStarted”Gunakan metode ini untuk mengecek apakah SDK AppsFlyer sudah dijalankan pada sesi saat ini.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.isSDKStarted();console.log(result);isSDKStopped
Bagian berjudul “isSDKStopped”Gunakan metode ini untuk mengecek apakah SDK AppsFlyer saat ini sudah dihentikan.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.isSDKStopped();console.log(result);disableAppSetId
Bagian berjudul “disableAppSetId”Menonaktifkan pengumpulan AppSet ID. Jika dipanggil sebelum inisialisasi SDK, App Set ID tidak akan dikumpulkan. Jika dipanggil setelah inisialisasi, App Set ID akan dikumpulkan tetapi tidak dikirim dalam payload request. Hanya Android.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.disableAppSetId();validateAndLogInAppPurchaseV2
Bagian berjudul “validateAndLogInAppPurchaseV2”API untuk verifikasi server in-app purchase V2. Event af_purchase dengan nilai yang relevan akan otomatis dicatat jika validasi berhasil.
import { AppsFlyer, AFPurchaseType } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.validateAndLogInAppPurchaseV2({ purchaseDetails: { purchaseType: AFPurchaseType.oneTimePurchase, purchaseToken: 'purchase-token-123', productId: 'product-id-123', },});console.log(result);Sumber Kebenaran
Bagian berjudul “Sumber Kebenaran”Halaman ini dibuat dari plugin src/definitions.ts. Jalankan ulang sync saat API publik berubah di upstream.
Lanjutkan dari Getting Started
Bagian berjudul “Lanjutkan dari Getting Started”Jika Anda menggunakan Panduan Memulai untuk merencanakan operasi dashboard dan API, hubungkan dengan Menggunakan @capgo/capacitor-appsflyer untuk kapabilitas native saat menggunakan @capgo/capacitor-appsflyer, Ringkasan API untuk detail implementasi di API Overview, Pendahuluan untuk detail implementasi di Introduction, Kunci API untuk detail implementasi di API Keys, dan Perangkat untuk detail implementasi di Devices.