본문 바로가기
@capgo/capacitor-appsflyer 분석 오픈 소스

AppsFlyer Capacitor 플러그인

Capacitor 앱에 AppsFlyer 어트리뷰션, 분석, 디퍼드 딥링크 및 OneLink 지원을 추가하세요

설치

bun add @capgo/capacitor-appsflyer bunx cap sync
npm, pnpm 또는 yarn
  • npm install @capgo/capacitor-appsflyer
  • pnpm add @capgo/capacitor-appsflyer
  • yarn add @capgo/capacitor-appsflyer

가이드

Capacitor에서 AppsFlyer 사용하는 법

@capgo/capacitor-appsflyer 사용하기

AppsFlyer 어트리뷰션, 분석 및 딥링크를 위한 Capacitor 플러그인

설치

bun add @capgo/capacitor-appsflyer
bunx cap sync

bunx cap sync 플러그인의 네이티브 code를 네이티브 프로젝트에 복사합니다. 플러그인을 업그레이드할 때마다 다시 실행하세요.

가져오기

import { AppsFlyer } from '@capgo/capacitor-appsflyer';

API 한눈에 보기

메서드 설명
initSDK AppsFlyer SDK를 초기화하고 시작하려면 이 메서드를 사용하세요. 이 API은 앱이 실행되자마자 호출되어야 합니다.
startSDK 수동 시작 모드에서만 AppsFlyer SDK를 시작하려면 이 메서드를 사용하세요.
logEvent 인앱 이벤트를 로깅합니다.
setCustomerUserId 자체 고객 ID를 설정하면 자체 고유 ID를 AppsFlyer의 고유 ID 및 다른 기기의 ID와 교차 참조할 수 있습니다. 이 ID는 raw-data 보고서와 Postback API에서 내부 ID와 교차 참조하는 데 사용할 수 있습니다.
setCurrencyCode 인앱 결제에 사용할 통화를 설정합니다. 통화 code는 3자리 ISO 4217 code 형식이어야 합니다.
updateServerUninstallToken (Android) 타사 플러그인에서 수집한 GCM/FCM Token을 AppsFlyer 서버로 전달할 수 있습니다. 앱 삭제 로그에 사용할 수 있습니다. (iOS) 타사 플러그인에서 수집한 APN Token을 AppsFlyer 서버로 전달할 수 있습니다. 앱 삭제 로그에 사용할 수 있습니다.
setAppInviteOneLink 사용자 초대 어트리뷰션에 사용할 OneLink ID를 설정합니다. 사용자 초대를 위해 생성되는 링크는 이 OneLink를 기본 링크로 사용합니다.
setOneLinkCustomDomain AppsFlyer SDK가 숨겨진(shortlink ID에서 디코딩된) 어트리뷰션 파라미터를 성공적으로 해석하려면, AppsFlyer Dashboard에 브랜드 도메인으로 설정된 모든 도메인을 이 메서드에 제공해야 합니다.
appendParametersToDeepLinkingURL OneLink 없이 App Links로 딥링크를 구현하는 앱 소유자가 앱과 연결된 도메인을 통해 시작된 세션을 어트리뷰션할 수 있게 합니다. start를 호출하기 전에 이 메서드를 호출하세요. parameters Map에 다음 파라미터를 제공해야 합니다. pid, is_retargeting은 true로 설정해야 합니다.
setResolveDeepLinkURLs 광고주는 AppsFlyer OneLink를 다른 Universal Link로 감쌀 수 있습니다. 이 Universal Link는 앱을 실행하지만 딥링크 데이터는 AppsFlyer로 전달되지 않습니다. setResolveDeepLinkURLs를 사용하면 SDK가 감싸진 OneLink URL을 해석하도록 설정해 딥링크가 올바르게 동작하게 할 수 있습니다.
addPushNotificationDeepLinkPath SDK가 푸시 알림 페이로드에서 딥링크 값을 추출하는 방식을 설정합니다.
setSharingFilter 지정된 AppsFlyer 파트너에게 이벤트가 전달되지 않도록 차단합니다.
setSharingFilterForAllPartners 모든 AppsFlyer 파트너에게 이벤트가 전달되지 않도록 차단합니다. setSharingFilter 설정을 덮어씁니다.
setSharingFilterForPartners 지정된 AppsFlyer 파트너에게 이벤트가 전달되지 않도록 차단합니다.
setAdditionalData AppsFlyer로 전송할 추가 데이터를 설정합니다. 자세히 보기.
getAppsFlyerUID AppsFlyer의 고유 디바이스 ID(앱을 새로 설치할 때마다 생성됨)를 가져옵니다.
anonymizeUser 최종 사용자를 AppsFlyer 분석에서 옵트아웃 처리합니다(사용자 데이터 익명화).
stop 이 API가 호출되면 SDK은 더 이상 서버와 통신하지 않고 작동을 중단합니다. 사용자 옵트인/옵트아웃을 구현할 때 유용합니다.
disableSKAdNetwork SKAdNetwork를 옵트아웃합니다.
disableAdvertisingIdentifier SDK를 통한 다양한 광고 ID 수집을 비활성화합니다. 여기에는 Apple IDFA(Identity for Advertisers), Google GAID(Google Advertising ID), OAID, Amazon AAID(Amazon Advertising ID)가 포함됩니다.
disableCollectASA Apple Search Ads 어트리뷰션을 옵트아웃합니다.
setHost 커스텀 호스트를 설정합니다.
generateInviteLink 기존 사용자가 친구나 연락처를 앱의 신규 사용자로 초대할 수 있도록 허용합니다.
validateAndLogInAppPurchaseAndroid 인앱 결제 서버 검증을 위한 API입니다. 검증에 성공하면 관련 값이 포함된 af_purchase 이벤트가 자동으로 기록됩니다.
validateAndLogInAppPurchaseIos 현재 동작 방식은 소스 정의를 참조하세요.
getSdkVersion 앱에서 사용 중인 AppsFlyer SDK 버전을 가져옵니다.
enableFacebookDeferredApplinks Facebook Deferred AppLinks 수집을 활성화합니다. 대상/클라이언트 기기에 Facebook SDK 및 Facebook 앱이 설치되어 있어야 합니다. 정상 작동을 위해 AppsFlyer SDK를 초기화하기 전에 이 API를 호출해야 합니다.
sendPushNotificationData 푸시 알림 캠페인의 데이터를 측정하고 가져옵니다.
setCurrentDeviceLanguage 기기 언어를 설정합니다. 데이터는 Raw Data Reports에 표시됩니다.
logCrossPromoteImpression 교차 프로모션 캠페인의 일부로 임프레션을 기록합니다. AppsFlyer dashboard에 표시되는 것과 동일한 프로모션 App ID를 사용해야 합니다.
setUserEmails 사용자 이메일을 설정하고 암호화합니다.
logLocation 사용자의 위치를 수동으로 기록합니다.
setPhoneNumber SHA-256으로 암호화된 문자열로 전송됩니다.
setPartnerData 파트너 연동을 위한 커스텀 데이터를 전송할 수 있습니다.
logInvite 사용자 초대 인앱 이벤트(af_invite)를 기록할 때 사용합니다.
setDisableNetworkData 기기에서 네트워크 사업자(carrier) 및 SIM 사업자 이름을 수집하지 않도록 설정할 때 사용합니다.
enableTCFDataCollection CMP를 사용하는 사용자의 동의 데이터 자동 수집 여부를 설정합니다. 플래그 값은 앱 세션 간에 유지됩니다.
setConsentData 사용자 동의 데이터를 수동으로 설정할 때 사용합니다. 앱이 TCF v2.2와 호환되는 CMP를 사용하지 않는 경우, 다음 방법을 사용하여 SDK에 동의 데이터를 직접 수동으로 전달하세요.
logAdRevenue 광고 수익을 어트리뷰션함으로써 앱 소유자는 사용자 LTV와 캠페인 ROI를 완벽하게 파악할 수 있습니다. 광고 수익은 앱 내 보상형 동영상, 오퍼월, 전면 광고 및 배너를 통해 발생합니다. 이 메서드를 사용하여 광고 수익을 기록할 수 있습니다.
setConsentDataV2 사용자 동의 데이터를 수동으로 설정할 때 사용합니다. 앱이 TCF v2.2와 호환되는 CMP를 사용하지 않는 경우, 다음 방법을 사용하여 SDK에 동의 데이터를 직접 수동으로 전달하세요.
isSDKStarted 현재 세션에서 AppsFlyer SDK이 이미 시작되었는지 확인하는 데 사용합니다.
isSDKStopped 현재 AppsFlyer SDK이 중지된 상태인지 확인하는 데 사용합니다.
disableAppSetId AppSet ID 수집을 비활성화합니다. SDK 초기화 전에 호출하면 App Set ID가 수집되지 않습니다. 초기화 후에 호출하면 App Set ID가 수집되지만 요청 페이로드에는 포함되지 않습니다. Android 전용.
validateAndLogInAppPurchaseV2 인앱 결제 서버 검증 V2를 위한 API. 검증에 성공하면 관련 값이 포함된 af_purchase 이벤트가 자동으로 기록됩니다.

예시

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

수동 시작 모드에서만 AppsFlyer SDK를 시작하려면 이 메서드를 사용하세요.

import { AppsFlyer } from '@capgo/capacitor-appsflyer';

const result = await AppsFlyer.startSDK();
console.log(result);

logEvent()

인앱 이벤트를 로깅합니다.

import { AppsFlyer } from '@capgo/capacitor-appsflyer';

const result = await AppsFlyer.logEvent({ eventName: 'event' });
console.log(result);

setCustomerUserId()

자체 고객 ID를 설정하면 자체 고유 ID를 AppsFlyer의 고유 ID 및 다른 기기의 ID와 교차 참조할 수 있습니다. 이 ID는 raw-data 보고서와 Postback API에서 내부 ID와 교차 참조하는 데 사용할 수 있습니다.

import { AppsFlyer } from '@capgo/capacitor-appsflyer';

await AppsFlyer.setCustomerUserId({ cuid: 'cuid' });

setCurrencyCode()

인앱 결제에 사용할 통화를 설정합니다. 통화 code는 3자리 ISO 4217 code 형식이어야 합니다.

import { AppsFlyer } from '@capgo/capacitor-appsflyer';

await AppsFlyer.setCurrencyCode({ currencyCode: 'USD' });

updateServerUninstallToken()

(Android) 타사 플러그인에서 수집한 GCM/FCM Token을 AppsFlyer 서버로 전달할 수 있습니다. 앱 삭제 로그에 사용할 수 있습니다. (iOS) 타사 플러그인에서 수집한 APN Token을 AppsFlyer 서버로 전달할 수 있습니다. 앱 삭제 로그에 사용할 수 있습니다.

import { AppsFlyer } from '@capgo/capacitor-appsflyer';

await AppsFlyer.updateServerUninstallToken({ token: 'token-123' });

위 테이블에는 44개의 핵심 메서드가 나열되어 있습니다. 리스너, 버전 헬퍼 및 각 메서드의 전체 계약(contract) 정보는 다음 문서에서 확인할 수 있습니다. GitHub 리포지토리.

이벤트 수신

addListener 핸들을 반환합니다. 호출하세요 handle.remove() 화면이 언마운트될 때.

전체 레퍼런스

@capgo/capacitor-appsflyer 사용법에 이어

사용 중이라면 @capgo/capacitor-appsflyer 사용하기 네이티브 플러그인 작업을 계획하려면, 이를 다음 항목과 연결하세요: @capgo/capacitor-appsflyer @capgo/capacitor-appsflyer의 구현 세부 사항은 시작하기 Getting Started의 구현 상세 내용은 Capgo 플러그인 디렉토리 Capgo Plugin Directory의 제품 워크플로우에 맞춰, Capgo의 Capacitor 플러그인 Capgo의 Capacitor Plugins 구현 세부 사항 및 플러그인 추가 또는 업데이트 플러그인 추가 또는 업데이트의 구현 세부 사항은.

자주 묻는 질문

AppsFlyer 플러그인 FAQ

Capacitor 앱에 AppsFlyer 플러그인을 어떻게 설치하나요?

"bun add @capgo/capacitor-appsflyer" (또는 "npm install @capgo/capacitor-appsflyer")를 실행한 다음, "bunx cap sync"를 실행하여 iOS 및 Android 프로젝트에 네이티브 code가 반영되도록 합니다. 그 후 앱의 "@capgo/capacitor-appsflyer"에서 code를 import 하세요.

@capgo/capacitor-appsflyer가 React, Vue, Angular와 호환되나요?

네. AppsFlyer는 Capacitor 패키지이므로 Ionic, React, Vue, Angular, Svelte 및 일반 JavaScript를 포함하여 Capacitor에서 실행되는 모든 웹 프레임워크와 호환됩니다.

@capgo/capacitor-appsflyer은 어떤 Capacitor 버전을 지원하나요?

Capgo 플러그인은 Capacitor의 메이저 버전을 따릅니다. 사용 중인 Capacitor 메이저 버전과 일치하는 플러그인 메이저 버전을 사용하세요 (예: Capacitor 8에는 플러그인 v8). 유지 관리되는 버전은 GitHub README의 호환성 표에서 확인할 수 있습니다.

@capgo/capacitor-appsflyer는 무료 오픈 소스인가요?

네. code 소스 코드는 GitHub의 https://github.com/Cap-go/capacitor-appsflyer/에서 공개되어 있으며, npm에서 무료로 설치할 수 있습니다. 버그 리포트와 pull request를 언제든 환영합니다.

App Store 심사 없이 AppsFlyer를 사용하는 code를 업데이트할 수 있나요?

플러그인을 설치하거나 업그레이드하면 네이티브 code가 변경되므로 새로운 스토어 빌드가 필요합니다. 그 이후에는 플러그인을 호출하는 JavaScript, HTML, CSS 변경 사항을 Capgo live updates로 즉시 배포할 수 있습니다.

앱 리뷰를 기다릴 필요 없이 AppsFlyer 변경 사항을 즉시 배포하세요

스토어 빌드에 플러그인이 포함되면, Capgo live updates로 JavaScript, HTML, CSS 변경 사항을 몇 분 만에 사용자에게 푸시할 수 있습니다.

Capgo로 시작하기