Erste Schritte
Kopiere einen Setup-Prompt mit den Installationsschritten und dem vollständigen Markdown-Guide für dieses Plugin.
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.
Installieren
Abschnitt „Installation“Du kannst unser KI-gestütztes Setup nutzen, um das Plugin zu installieren. Füge die Capgo Skills mit dem folgenden Befehl deinem KI-Tool hinzu:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsNutze dann diesen Prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-appsflyer` plugin in my project.Wenn du ein manuelles Setup bevorzugst, installiere das Plugin mit den folgenden Befehlen und befolge die plattformspezifischen Anweisungen unten:
bun add @capgo/capacitor-appsflyernpx cap syncImportieren
Abschnitt mit dem Titel „Import“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';Quickstart
Abschnitt „Quick start“import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.initSDK({ devKey: 'dev-key-123', appID: 'app-id-123',});console.log(result);Beispiel: startSDK
Abschnitt mit dem Titel „Beispiel: startSDK“import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.startSDK();console.log(result);Beispiel: logEvent
Abschnitt mit dem Titel „Beispiel: logEvent“import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.logEvent({ eventName: 'event' });console.log(result);Häufige Stolperfallen
Abschnitt „Häufige Fallstricke“- Listener: Handles beim Unmounten von Screens entfernen.
- Nativer Sync: ausführen
npx cap syncnach Plugin-Upgrades. - Single Source of Truth: Vertrauen
src/definitions.tsim GitHub Repo.
API Übersicht
Abschnitt „API Übersicht“initSDK
Abschnitt „initSDK“Nutze diese Methode, um AppsFlyer SDK zu initialisieren und zu starten. Diese API sollte direkt beim App-Start aufgerufen werden.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.initSDK({ devKey: 'dev-key-123', appID: 'app-id-123',});console.log(result);startSDK
Abschnitt „startSDK“Nutze diese Methode, um AppsFlyer SDK zu starten, jedoch nur im manuellen Startmodus.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.startSDK();console.log(result);logEvent
Abschnitt „logEvent“Ein In-App-Event loggen.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.logEvent({ eventName: 'event' });console.log(result);setCustomerUserId
Abschnitt „setCustomerUserId“Durch das Setzen einer eigenen Customer ID kannst du deine eindeutige ID mit der AppsFlyer-ID und den IDs anderer Geräte abgleichen. Diese ID ist in Raw-Data-Reports und in den Postback-APIs verfügbar, um sie mit deinen internen IDs abzugleichen.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setCustomerUserId({ cuid: 'cuid' });setCurrencyCode
Abschnitt „setCurrencyCode“Legt die Währung für In-App-Käufe fest. Gib einen dreistelligen ISO 4217 code an.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setCurrencyCode({ currencyCode: 'USD' });updateServerUninstallToken
Abschnitt „updateServerUninstallToken“Übergib GCM/FCM-Tokens auf Android oder APNs-Tokens auf iOS, wenn ein anderes Plugin sie gesammelt hat. Nutze dies, um Uninstall-Measurement-Tokens an AppsFlyer weiterzuleiten.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.updateServerUninstallToken({ token: 'token-123' });setAppInviteOneLink
Abschnitt „setAppInviteOneLink“Legt die OneLink-ID fest, die als Basis-Link für die Invite-Attribution dient.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setAppInviteOneLink({ onelinkID: 'onelink-id-123' });setOneLinkCustomDomain
Abschnitt „setOneLinkCustomDomain“Registriert gebrandete OneLink-Domains, damit AppsFlyer Attributionsparameter in Short-Links auflösen kann.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setOneLinkCustomDomain({ domains: ['example.com'] });appendParametersToDeepLinkingURL
Abschnitt „appendParametersToDeepLinkingURL“Ermöglicht die Attribution für App Links Deep Links ohne OneLink. Rufe diese Methode vor startSDK()auf.
Füge mindestens pid und is_retargeting=true in die Parameter-Map ein.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.appendParametersToDeepLinkingURL({ contains: 'contains', parameters: {},});setResolveDeepLinkURLs
Abschnitt „setResolveDeepLinkURLs“Nutze dies, wenn ein AppsFlyer OneLink in einem anderen Universal Link eingebettet ist. So kann SDK die verschachtelte URL auflösen, damit Deep Linking weiterhin korrekt funktioniert.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setResolveDeepLinkURLs({ urls: ['https://example.com'] });addPushNotificationDeepLinkPath
Abschnitt „addPushNotificationDeepLinkPath“Konfiguriert, wie SDK Deep-Link-Werte aus Push-Notification-Payloads extrahiert.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.addPushNotificationDeepLinkPath({ path: ['path/to/file'] });setSharingFilter
Abschnitt „setSharingFilter“Verhindert, dass Events an die angegebenen AppsFlyer-Partner weitergegeben werden.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setSharingFilter({ filters: ['filter'] });setSharingFilterForAllPartners
Abschnitt „setSharingFilterForAllPartners“Verhindert die Weitergabe von Events an alle AppsFlyer-Partner. Überschreibt setSharingFilter.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setSharingFilterForAllPartners();setSharingFilterForPartners
Abschnitt „setSharingFilterForPartners“Verhindert, dass Events an die angegebenen AppsFlyer-Partner weitergegeben werden.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setSharingFilterForPartners({ filters: ['filter'] });setAdditionalData
Abschnitt „setAdditionalData“Setzt zusätzliche Key-Value-Daten, die an AppsFlyer gesendet werden.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setAdditionalData({ additionalData: {} });getAppsFlyerUID
Abschnitt „getAppsFlyerUID“Ruft die eindeutige AppsFlyer-Device-ID ab (wird bei jeder neuen App-Installation erstellt).
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.getAppsFlyerUID();console.log(result);anonymizeUser
Abschnitt „anonymizeUser“Opt-Out für Endnutzer bei AppsFlyer-Analytics (Nutzerdaten anonymisieren).
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.anonymizeUser({ anonymizeUser: true });Sobald dieses API aufgerufen wird, kommuniziert unser SDK nicht mehr mit unseren Servern und stellt die Funktion ein. Nützlich bei der Implementierung von User Opt-in/Opt-out.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.stop();console.log(result);disableSKAdNetwork
Abschnitt „disableSKAdNetwork“Opt-out von SKAdNetwork
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.disableSKAdNetwork({ shouldDisable: true });disableAdvertisingIdentifier
Abschnitt „disableAdvertisingIdentifier“Deaktiviert die Erfassung verschiedener Advertising IDs durch SDK. Dazu gehören Apple Identity for Advertisers (IDFA), Google Advertising ID (GAID), OAID und Amazon Advertising ID (AAID).
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.disableAdvertisingIdentifier({ shouldDisable: true });disableCollectASA
Abschnitt „disableCollectASA“Opt-out von Apple Search Ads Attributionen
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.disableCollectASA({ shouldDisable: true });setHost
Abschnitt „setHost“Einen benutzerdefinierten Host festlegen.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setHost({ hostPrefixName: 'host-prefix', hostName: 'host',});generateInviteLink
Abschnitt mit dem Titel „generateInviteLink“Ermöglichen Sie es Ihren bestehenden Nutzern, Freunde und Kontakte als neue Nutzer in Ihre App einzuladen
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.generateInviteLink({ brandDomain: 'example.com' });console.log(result);validateAndLogInAppPurchaseAndroid
Abschnitt mit dem Titel „validateAndLogInAppPurchaseAndroid“API zur Server-Verifizierung von In-App-Käufen. Wenn die Validierung erfolgreich ist, wird automatisch ein af_purchase-Event mit den entsprechenden Werten geloggt.
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
Abschnitt mit dem Titel „validateAndLogInAppPurchaseIos“Sieh dir die Source-Definitionen für den aktuellen Contract an.
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
Abschnitt mit dem Titel „getSdkVersion“Die in der App verwendete AppsFlyer SDK Version abrufen.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.getSdkVersion();console.log(result);enableFacebookDeferredApplinks
Abschnitt mit dem Titel „enableFacebookDeferredApplinks“Aktiviert die Erfassung von Facebook Deferred AppLinks. Erfordert Facebook SDK und die Facebook-App auf dem Ziel-/Client-Gerät. Um ordnungsgemäß zu funktionieren, muss API vor der Initialisierung des AppsFlyer SDK aufgerufen werden.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.enableFacebookDeferredApplinks({ enableFacebookDAL: true });console.log(result);sendPushNotificationData
Abschnitt mit dem Titel „sendPushNotificationData“Daten aus Push-Benachrichtigungskampagnen messen und abrufen.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.sendPushNotificationData({ pushPayload: {} });setCurrentDeviceLanguage
Abschnitt mit dem Titel „setCurrentDeviceLanguage“Legt die Sprache des Geräts fest. Die Daten werden in den Raw Data Reports angezeigt.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.setCurrentDeviceLanguage({ language: 'en-US' });console.log(result);logCrossPromoteImpression
Abschnitt mit dem Titel „logCrossPromoteImpression“Loggt eine Impression im Rahmen einer Cross-Promotion-Kampagne. Verwende dabei unbedingt die App-ID der beworbenen App, so wie sie im AppsFlyer Dashboard angezeigt wird.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.logCrossPromoteImpression({ appID: 'app-id-123', campaign: 'campaign', parameters: {},});console.log(result);setUserEmails
Abschnitt „setUserEmails“User-E-Mails festlegen und verschlüsseln.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.setUserEmails({ emails: ['user@example.com'] });console.log(result);logLocation
Abschnitt „logLocation“Den Standort des Nutzers manuell loggen
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.logLocation({ latitude: 48.8566, longitude: 2.3522,});console.log(result);setPhoneNumber
Abschnitt „setPhoneNumber“Wird als SHA-256-verschlüsselter String gesendet.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.setPhoneNumber({ phone: '+15555550123' });console.log(result);setPartnerData
Abschnitt „setPartnerData“Ermöglicht das Senden benutzerdefinierter Daten für Partner-Integrationen.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.setPartnerData({ data: {}, partnerId: 'partner-id-123',});console.log(result);logInvite
Abschnitt „logInvite“Verwenden Sie dies, um ein User-Invite In-App-Event (af_invite) zu loggen.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.logInvite({ eventParameters: {}, channel: 'channel',});console.log(result);setDisableNetworkData
Abschnitt „setDisableNetworkData“Damit können Sie der Erfassung des Netzbetreibers (carrier) und des SIM-Betreibers vom Gerät verzichten.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setDisableNetworkData({ shouldDisable: true });enableTCFDataCollection
Abschnitt „enableTCFDataCollection“Nutzen Sie dies, um die automatische Erfassung von Consent-Daten für Nutzer mit einer CMP zu aktivieren oder zu deaktivieren. Der Flag-Wert wird über App-Sessions hinweg gespeichert.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.enableTCFDataCollection({ shouldEnableTCFDataCollection: true });setConsentData
Abschnitt „setConsentData“Nutzen Sie dies, um Nutzer-Consent-Daten manuell zu setzen. Falls Ihre App keine CMP verwendet, die mit TCF v2.2 kompatibel ist, nutzen Sie die folgende Methode, um die Consent-Daten manuell direkt an das SDK zu übergeben.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setConsentData({ data: { isUserSubjectToGDPR: true } });logAdRevenue
Abschnitt mit dem Titel „logAdRevenue“Durch die Zuordnung von Werbeeinnahmen erhalten App-Betreiber eine vollständige Übersicht über den LTV der Nutzer und den ROI der Kampagnen. Werbeeinnahmen werden durch das Anzeigen von Werbung in Rewarded Videos, Offer Walls, Interstitials und Bannern in einer App generiert. Sie können diese Methode nutzen, um Ihre Werbeeinnahmen zu loggen.
import { AppsFlyer, MediationNetwork } from '@capgo/capacitor-appsflyer';
await AppsFlyer.logAdRevenue({ monetizationNetwork: 'monetization-network', mediationNetwork: MediationNetwork.IRONSOURCE, currencyIso4217Code: 'USD', revenue: 1,});setConsentDataV2
Abschnitt mit dem Titel „setConsentDataV2“Nutzen Sie dies, um Nutzer-Consent-Daten manuell zu setzen. Falls Ihre App keine CMP verwendet, die mit TCF v2.2 kompatibel ist, nutzen Sie die folgende Methode, um die Consent-Daten manuell direkt an das SDK zu übergeben.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setConsentDataV2({ isUserSubjectToGDPR: true, hasConsentForDataUsage: true, hasConsentForAdsPersonalization: true, hasConsentForAdStorage: true,});isSDKStarted
Abschnitt mit dem Titel „isSDKStarted“Nutzen Sie diese Methode, um zu prüfen, ob das AppsFlyer SDK in der aktuellen Session bereits gestartet wurde.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.isSDKStarted();console.log(result);isSDKStopped
Abschnitt mit dem Titel „isSDKStopped“Nutzen Sie diese Methode, um zu prüfen, ob das AppsFlyer SDK aktuell gestoppt ist.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.isSDKStopped();console.log(result);disableAppSetId
Abschnitt mit dem Titel „disableAppSetId“Deaktiviert die Erfassung der App Set ID. Wird dies vor dem Init von SDK aufgerufen, wird die App Set ID nicht erfasst. Wird es nach dem Init aufgerufen, wird die App Set ID erfasst, aber nicht in Request-Payloads gesendet. Nur für Android.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.disableAppSetId();validateAndLogInAppPurchaseV2
Abschnitt mit dem Titel „validateAndLogInAppPurchaseV2“API zur Server-Verifizierung von In-App-Käufen V2. Bei erfolgreicher Validierung wird automatisch ein af_purchase-Event mit den entsprechenden Werten geloggt.
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);Source of Truth
Abschnitt mit dem Titel „Source of Truth“Diese Seite wird aus dem Plugin generiert src/definitions.ts. Führe den Sync erneut aus, wenn sich das öffentliche API upstream ändert.
Weiter geht's nach Getting Started
Abschnitt: „Weiter geht’s mit Getting Started“Wenn du es nutzt Erste Schritte um Dashboard- und API-Operationen zu planen, verbinde es mit Verwendung von @capgo/capacitor-appsflyer für die native Funktionalität in Verwendung von @capgo/capacitor-appsflyer, API Übersicht für Details zur Implementierung im API Overview, Einführung für die Implementierungsdetails in der Einleitung, API Schlüssel für das Implementierungsdetail in API Keys und Geräte für das Implementierungsdetail in Devices.