시작하기
이 플러그인의 설치 단계와 전체 마크다운 가이드가 포함된 설정 프롬프트를 복사하세요.
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.
AI-Assisted Setup으로 플러그인을 설치할 수 있습니다. 다음 명령어로 AI 도구에 Capgo 스킬을 추가하세요:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins그런 다음 아래 프롬프트를 사용하세요:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-appsflyer` plugin in my project.수동 설정을 선호한다면, 다음 명령어를 실행하여 플러그인을 설치하고 아래의 플랫폼별 지침을 따르세요:
bun add @capgo/capacitor-appsflyernpx cap sync가져오기
“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';빠른 시작
“빠른 시작” 섹션import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.initSDK({ devKey: 'dev-key-123', appID: 'app-id-123',});console.log(result);예시: startSDK
“예시: startSDK”라는 제목의 섹션import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.startSDK();console.log(result);예시: logEvent
“예시: logEvent” 섹션import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.logEvent({ eventName: 'event' });console.log(result);자주 하는 실수
“흔한 실수” 섹션- 리스너: 화면이 언마운트될 때 핸들을 제거합니다.
- 네이티브 동기화: 실행
npx cap sync플러그인 업그레이드 후. - 신뢰할 수 있는 소스: 신뢰
src/definitions.tsGitHub 레포지토리에서.
API 개요
“API 개요” 섹션initSDK
“initSDK” 섹션이 메서드를 사용하여 AppsFlyer SDK를 초기화하고 시작하세요. API은 앱이 실행되자마자 호출해야 합니다.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.initSDK({ devKey: 'dev-key-123', appID: 'app-id-123',});console.log(result);startSDK
“startSDK” 섹션수동 시작 모드에서만 AppsFlyer SDK를 시작하려면 이 메서드를 사용하세요.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.startSDK();console.log(result);logEvent
“logEvent” 섹션인앱 이벤트를 로깅합니다.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.logEvent({ eventName: 'event' });console.log(result);setCustomerUserId
“setCustomerUserId” 섹션자체 고객 ID를 설정하면 사용자의 고유 ID를 AppsFlyer의 고유 ID 및 다른 기기의 ID와 교차 참조할 수 있습니다. 이 ID는 로우 데이터(raw-data) 보고서와 Postback API에서 제공되어 내부 ID와 대조할 수 있습니다.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setCustomerUserId({ cuid: 'cuid' });setCurrencyCode
“setCurrencyCode” 섹션인앱 결제에 사용되는 통화를 설정합니다. ISO 4217 기준의 3자리 code를 입력하세요.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setCurrencyCode({ currencyCode: 'USD' });updateServerUninstallToken
“updateServerUninstallToken” 섹션다른 플러그인을 통해 GCM/FCM 토큰(Android) 또는 APNs 토큰(iOS)을 수집한 경우 이를 전달하세요. 이 기능을 사용하여 앱 삭제 측정 토큰을 AppsFlyer로 전달할 수 있습니다.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.updateServerUninstallToken({ token: 'token-123' });setAppInviteOneLink
“setAppInviteOneLink” 섹션초대 어트리뷰션의 기본 링크로 사용될 OneLink ID를 설정합니다.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setAppInviteOneLink({ onelinkID: 'onelink-id-123' });setOneLinkCustomDomain
“setOneLinkCustomDomain” 섹션브랜드 OneLink 도메인을 등록하여 AppsFlyer가 단축 링크에 숨겨진 어트리뷰션 파라미터를 해석할 수 있도록 합니다.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setOneLinkCustomDomain({ domains: ['example.com'] });appendParametersToDeepLinkingURL
“appendParametersToDeepLinkingURL” 섹션OneLink 없이 App Links 딥링크의 어트리뷰션을 활성화합니다. 이 메서드를 호출하기 전에 startSDK().
최소한 다음을 포함하세요: pid 및 is_retargeting=true 를 parameters map에.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.appendParametersToDeepLinkingURL({ contains: 'contains', parameters: {},});setResolveDeepLinkURLs
“setResolveDeepLinkURLs” 섹션AppsFlyer OneLink이 다른 Universal Link로 감싸져 있는 경우에 사용하세요. 이를 통해 SDK가 감싸진 URL을 해석하여 딥 링크가 정상적으로 작동하도록 합니다.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setResolveDeepLinkURLs({ urls: ['https://example.com'] });addPushNotificationDeepLinkPath
“addPushNotificationDeepLinkPath” 섹션SDK가 푸시 알림 페이로드에서 딥링크 값을 추출하는 방식을 설정합니다.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.addPushNotificationDeepLinkPath({ path: ['path/to/file'] });setSharingFilter
“setSharingFilter” 섹션지정된 AppsFlyer 파트너에게 이벤트가 전달되지 않도록 차단합니다.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setSharingFilter({ filters: ['filter'] });setSharingFilterForAllPartners
“setSharingFilterForAllPartners” 섹션모든 AppsFlyer 파트너에게 이벤트가 전달되지 않도록 차단합니다. setSharingFilter 설정을 덮어씁니다.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setSharingFilterForAllPartners();setSharingFilterForPartners
“setSharingFilterForPartners” 섹션지정된 AppsFlyer 파트너에게 이벤트가 전달되지 않도록 차단합니다.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setSharingFilterForPartners({ filters: ['filter'] });setAdditionalData
“setAdditionalData” 섹션AppsFlyer로 전송할 추가 키-값 데이터를 설정합니다.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setAdditionalData({ additionalData: {} });getAppsFlyerUID
“getAppsFlyerUID” 섹션AppsFlyer의 고유 디바이스 ID(앱을 새로 설치할 때마다 생성됨)를 가져옵니다.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.getAppsFlyerUID();console.log(result);anonymizeUser
“anonymizeUser” 섹션최종 사용자를 AppsFlyer 분석에서 옵트아웃 처리합니다(사용자 데이터 익명화).
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.anonymizeUser({ anonymizeUser: true });stop
“stop” 섹션이 API이 호출되면, SDK은 더 이상 서버와 통신하지 않으며 작동을 중단합니다. 사용자의 데이터 수집 동의/거부(opt-in/opt-out) 기능을 구현할 때 유용합니다.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.stop();console.log(result);disableSKAdNetwork
“disableSKAdNetwork” 섹션SKAdNetwork 사용 중단
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.disableSKAdNetwork({ shouldDisable: true });disableAdvertisingIdentifier
“disableAdvertisingIdentifier” 섹션SDK를 통한 다양한 광고 ID 수집을 비활성화합니다. 여기에는 Apple IDFA(Identity for Advertisers), Google GAID(Google Advertising ID), OAID, Amazon AAID(Amazon Advertising ID)가 포함됩니다.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.disableAdvertisingIdentifier({ shouldDisable: true });disableCollectASA
“disableCollectASA” 섹션Apple Search Ads 어트리뷰션을 옵트아웃합니다.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.disableCollectASA({ shouldDisable: true });setHost
“setHost” 섹션커스텀 호스트를 설정합니다.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setHost({ hostPrefixName: 'host-prefix', hostName: 'host',});generateInviteLink
“generateInviteLink” 섹션기존 사용자가 친구나 지인을 앱의 새로운 사용자로 초대할 수 있도록 허용합니다
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.generateInviteLink({ brandDomain: 'example.com' });console.log(result);validateAndLogInAppPurchaseAndroid
“validateAndLogInAppPurchaseAndroid” 섹션인앱 결제 서버 검증을 위한 API입니다. 검증에 성공하면 관련 값이 포함된 af_purchase 이벤트가 자동으로 기록됩니다.
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
“validateAndLogInAppPurchaseIos” 섹션현재 contract의 소스 정의를 확인하세요.
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
“getSdkVersion” 섹션앱에서 사용 중인 AppsFlyer SDK 버전을 가져옵니다.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.getSdkVersion();console.log(result);enableFacebookDeferredApplinks
“enableFacebookDeferredApplinks” 섹션Facebook Deferred AppLinks 수집을 활성화합니다. Facebook SDK 및 대상/클라이언트 기기에 Facebook 앱이 설치되어 있어야 합니다. 정상적으로 작동하려면 AppsFlyer SDK를 초기화하기 전에 이 API를 호출해야 합니다.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.enableFacebookDeferredApplinks({ enableFacebookDAL: true });console.log(result);sendPushNotificationData
“sendPushNotificationData” 섹션푸시 알림 캠페인의 데이터를 측정하고 가져옵니다.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.sendPushNotificationData({ pushPayload: {} });setCurrentDeviceLanguage
“setCurrentDeviceLanguage” 섹션기기 언어를 설정합니다. 설정된 데이터는 Raw Data Reports에 표시됩니다.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.setCurrentDeviceLanguage({ language: 'en-US' });console.log(result);logCrossPromoteImpression
“logCrossPromoteImpression” 섹션교차 프로모션 캠페인의 일부로 impression을 로그로 기록합니다. AppsFlyer dashboard에 표시된 그대로 프로모션 앱 ID를 사용하세요.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.logCrossPromoteImpression({ appID: 'app-id-123', campaign: 'campaign', parameters: {},});console.log(result);setUserEmails
“setUserEmails” 섹션사용자 이메일을 설정하고 암호화합니다.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.setUserEmails({ emails: ['user@example.com'] });console.log(result);logLocation
“logLocation” 섹션사용자 위치를 수동으로 로깅하기
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.logLocation({ latitude: 48.8566, longitude: 2.3522,});console.log(result);setPhoneNumber
“setPhoneNumber” 섹션SHA-256으로 암호화된 문자열로 전송됩니다.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.setPhoneNumber({ phone: '+15555550123' });console.log(result);setPartnerData
“setPartnerData” 섹션파트너 연동을 위한 커스텀 데이터를 전송할 수 있습니다.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.setPartnerData({ data: {}, partnerId: 'partner-id-123',});console.log(result);logInvite
“logInvite” 섹션사용자 초대 인앱 이벤트(af_invite)를 기록할 때 사용합니다.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.logInvite({ eventParameters: {}, channel: 'channel',});console.log(result);setDisableNetworkData
“setDisableNetworkData” 섹션기기에서 네트워크 사업자(carrier) 및 SIM 사업자 이름을 수집하지 않도록 설정할 때 사용합니다.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setDisableNetworkData({ shouldDisable: true });enableTCFDataCollection
“enableTCFDataCollection” 섹션CMP를 사용하는 사용자를 위해 동의 데이터 자동 수집 여부를 설정합니다. 설정된 플래그 값은 앱 세션 간에 유지됩니다.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.enableTCFDataCollection({ shouldEnableTCFDataCollection: true });setConsentData
“setConsentData” 섹션사용자 동의 데이터를 수동으로 설정할 때 사용합니다. 앱에서 TCF v2.2와 호환되는 CMP를 사용하지 않는 경우, 다음 메서드를 사용하여 SDK에 동의 데이터를 직접 전달하세요.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setConsentData({ data: { isUserSubjectToGDPR: true } });logAdRevenue
“logAdRevenue” 섹션광고 수익을 어트리뷰션하면 앱 소유자는 사용자 LTV와 캠페인 ROI를 완벽하게 파악할 수 있습니다. 앱 내 보상형 동영상, 오퍼월, 전면 광고, 배너에 광고를 표시하여 광고 수익이 발생합니다. 이 메서드를 사용하여 광고 수익을 기록할 수 있습니다.
import { AppsFlyer, MediationNetwork } from '@capgo/capacitor-appsflyer';
await AppsFlyer.logAdRevenue({ monetizationNetwork: 'monetization-network', mediationNetwork: MediationNetwork.IRONSOURCE, currencyIso4217Code: 'USD', revenue: 1,});setConsentDataV2
“setConsentDataV2” 섹션사용자 동의 데이터를 수동으로 설정할 때 사용합니다. 앱에서 TCF v2.2와 호환되는 CMP를 사용하지 않는 경우, 다음 메서드를 사용하여 SDK에 동의 데이터를 직접 전달하세요.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setConsentDataV2({ isUserSubjectToGDPR: true, hasConsentForDataUsage: true, hasConsentForAdsPersonalization: true, hasConsentForAdStorage: true,});isSDKStarted
“isSDKStarted” 섹션현재 세션에서 AppsFlyer SDK이 이미 시작되었는지 확인하는 데 사용합니다.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.isSDKStarted();console.log(result);isSDKStopped
“isSDKStopped” 섹션현재 AppsFlyer SDK이 중지된 상태인지 확인하는 데 사용합니다.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.isSDKStopped();console.log(result);disableAppSetId
“disableAppSetId” 섹션App Set ID 수집을 비활성화합니다. SDK 초기화 전에 호출하면 App Set ID가 수집되지 않습니다. 초기화 후에 호출하면 App Set ID가 수집되지만 요청 페이로드에는 포함되지 않습니다. Android 전용.
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.disableAppSetId();validateAndLogInAppPurchaseV2
“validateAndLogInAppPurchaseV2” 섹션인앱 결제 V2의 서버 검증을 위한 API. 검증에 성공하면 관련 값이 포함된 af_purchase 이벤트가 자동으로 기록됩니다.
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
“Source Of Truth” 섹션이 페이지는 플러그인의 src/definitions.tsupstream에서 public API가 변경되면 sync를 다시 실행하세요.
시작하기 다음 단계
“Getting Started에서 계속하기” 섹션사용 중이라면 시작하기 대시보드 및 API 운영을 계획하려면, 이를 다음과 연결하세요 @capgo/capacitor-appsflyer 사용하기 @capgo/capacitor-appsflyer 사용 시 네이티브 기능을 위해, API 개요 구현 세부 사항은 API 개요에서 소개 구현 세부 사항은 소개에서 API 키 API Keys의 구현 세부 사항은, 기기 Devices의 구현 세부 사항은.