Langsung ke konten

Panduan Memulai

GitHub

Anda bisa menggunakan AI-Assisted Setup kami untuk menginstal plugin ini. Tambahkan skill Capgo ke tool AI Anda dengan command berikut:

Jendela terminal
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

Lalu 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:

Jendela terminal
bun add @capgo/capacitor-appsflyer
npx cap sync
import { 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';
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.initSDK({
devKey: 'dev-key-123',
appID: 'app-id-123',
});
console.log(result);
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.startSDK();
console.log(result);
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.logEvent({ eventName: 'event' });
console.log(result);
  • Listeners: hapus handle saat screen unmount.
  • Sinkronisasi Native: jalankan npx cap sync setelah upgrade plugin.
  • Sumber kebenaran tunggal: percayai src/definitions.ts di repo GitHub.

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);

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);

Log event di dalam aplikasi.

import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.logEvent({ eventName: 'event' });
console.log(result);

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' });

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' });

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' });

Mengatur OneLink ID yang digunakan sebagai base link untuk atribusi invite.

import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setAppInviteOneLink({ onelinkID: 'onelink-id-123' });

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'] });

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: {},
});

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'] });

Mengatur cara SDK mengekstrak nilai deep link dari payload push notification.

import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.addPushNotificationDeepLinkPath({ path: ['path/to/file'] });

Menghentikan event agar tidak diteruskan ke partner AppsFlyer yang ditentukan.

import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setSharingFilter({ filters: ['filter'] });

Menghentikan event agar tidak diteruskan ke semua partner AppsFlyer. Menimpa setSharingFilter.

import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setSharingFilterForAllPartners();

Menghentikan event agar tidak diteruskan ke partner AppsFlyer yang ditentukan.

import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setSharingFilterForPartners({ filters: ['filter'] });

Menetapkan data key-value tambahan untuk dikirim ke AppsFlyer.

import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setAdditionalData({ additionalData: {} });

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);

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);

Opt-out dari SKAdNetwork

import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.disableSKAdNetwork({ shouldDisable: true });

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 });

Opt-out dari atribusi Apple Search Ads.

import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.disableCollectASA({ shouldDisable: true });

Atur host kustom.

import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setHost({
hostPrefixName: 'host-prefix',
hostName: 'host',
});

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);

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);

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);

Dapatkan versi SDK AppsFlyer yang digunakan di aplikasi.

import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.getSdkVersion();
console.log(result);

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);

Ukur dan ambil data dari kampanye push notification.

import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.sendPushNotificationData({ pushPayload: {} });

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);

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);

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);

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);

Akan dikirim sebagai string terenkripsi SHA-256.

import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.setPhoneNumber({ phone: '+15555550123' });
console.log(result);

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);

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);

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 });

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 });

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 } });

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,
});

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,
});

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);

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);

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();

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);

Halaman ini dibuat dari plugin src/definitions.ts. Jalankan ulang sync saat API publik berubah di upstream.

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.