API 참조
아래에 이 플러그인에 사용할 수 있는 방법 목록을 설명했습니다.
- 안드로이드, iOS 및 윈도우 API
- 안드로이드 및 iOS API
- stopSDK
- isSDKStopped
- getSdkVersion
- setIsDebug
- addPushNotificationDeepLinkPath
- setCustomerUserId
- setAppInviteOneLinkID
- setAdditionalData
- setResolveDeepLinkURLs
- setOneLinkCustomDomain
- setCurrencyCode
- setDeepLinkTimeout
- enableTCFDataCollection
- setConsentData
- recordLocation
- anonymizeUser
- getAppsFlyerId
- setMinTimeBetweenSessions
- setHost
- setUserEmails
- setPhoneNumber
- getConversionData
- attributeAndOpenStore
- logAdRevenue
- recordCrossPromoteImpression
- generateUserInviteLink
- setSharingFilterForAllPartners 더 이상 사용되지 않음
- setSharingFilter 더 이상 사용되지 않음
- setSharingFilterForPartners
- setPartnerData
- 안드로이드 전용 API
- updateServerUninstallToken
- setImeiData
- setAndroidIdData
- waitForCustomerUserId
- setCustomerIdAndStartSDK
- getOutOfStore
- setOutOfStore
- setCollectAndroidID
- setCollectIMEI
- setIsUpdate
- setPreinstallAttribution
- isPreInstalledApp
- handlePushNotifications
- getAttributionId
- validateAndSendInAppPurchase-beta
- validateAndSendInAppPurchase
- setCollectOaid
- setDisableAdvertisingIdentifiers
- setDisableNetworkData
- iOS 전용 API
- setDisableCollectAppleAdSupport
- handlePushNotifications(iOS)
- setShouldCollectDeviceName
- setDisableCollectIAd
- setUseReceiptValidationSandbox
- setUseUninstallSandbox
- validateAndSendInAppPurchase-beta-iOS
- validateAndSendInAppPurchase
- registerUninstall
- handleOpenUrl
- waitForATTUserAuthorizationWithTimeoutInterval
- disableSKAdNetwork
- setLanguage
- disableIDFVCollection
- IAppsFlyerConversionData
- IAppsFlyerUserInvite
- IAppsFlyerValidateReceipt
- IAppsFlyerValidateAndLog
- 이벤트
안드로이드, iOS 및 윈도우 API
initSDK
void initSDK(string devKey, string appID, MonoBehaviour gameObject)
앱스플라이어 SDK를 dev 키와 앱 ID로 초기화합니다.
dev 키는 모든 앱에 필요하며 앱 ID는 iOS에만 필요합니다.
앱이 안드로이드 전용인 경우 앱 ID에 null을 전달합니다.
parameter | type | description |
---|---|---|
dev_key | string | 앱스플라이어의 Dev-Key, 앱스플라이어 계정에서 대시보드의 '앱 설정' 에서 액세스할 수 있습니다. |
app_id | string | 사용자 앱의 Apple ID. |
gameObject (선택사항) | MonoBehaviour | IAppsFlyerConversionData 인터페이스가 포함되어 있는 게임 개체. |
예:
AppsFlyer.initSDK("dev_key", "app_id"); // without deeplinking
AppsFlyer.initSDK("dev_key", "app_id", this); // with deeplinking
참고: 인터페이스를 사용하는 경우에만 딥링킹을 통해 SDK를 IAppsFlyerConversionData
구현하면 됩니다.
startSDK
void startSDK()
이 API가 호출되면 SDK가 시작되고 세션이 즉시 전송되며 모든 배경(background)-전경(foreground) 전환이 발생하면 세션이 기록됩니다.
예:
AppsFlyer.startSDK();
안드로이드 및 iOS API
stopSDK
void stopSDK(bool isSDKStopped)
간혹, 법률 및 개인 정보 보호 준수를 위해서 모든 SDK 기능을 중단해야 하는 경우가 있을 수 있습니다. stopSDK API로 이를 실행할 수 있습니다. 이 API를 호출한 후에는 당사 SDK가 더 이상 서버와 통신하지 않고 작동을 중지합니다.
서로 다른 몇 가지 사용자 옵트아웃 시나리오가 있습니다. 앱과 관련된 각 시나리오에 맞는 정확한 지침을 따르는 것을 권장합니다.
어떤 이벤트에서든 이 API에 false를 넘기면서 호출하면 SDK를 다시 활성화할 수 있습니다.
중요 사항:
stopSDK()가 true로 설정된 경우 startSDK()을 호출하지 마십시오.
SDK 기능을 다시 시작하려면 다음 API를 사용하십시오.
AppsFlyer.stopSDK(false);
경고
사용자의 SDK 기능을 완전히 제외하려는 경우에만 stopSDK API를 사용하십시오. 이 API를 사용하면 어트리뷰션, 데이터 수집 및 딥링킹 동작에 심각한 영향을 줄 수 있습니다.
parameter | type | description |
---|---|---|
isSDKStopped | bool | SDK가 중지되면 True (기본 값은 false). |
예:
AppsFlyer.stopSDK(true);
isSDKStopped
bool isSDKStopped()
stopSDK(부울 값) API를 다음으로 설정 true
.
예:
if (!AppsFlyer.isSDKStopped())
{
}
getSdkVersion
string getSdkVersion()
앱이 사용하는 앱스플라이어 SDK 버전을 가져옵니다.
예:
string version = AppsFlyer.getSdkVersion();
setIsDebug
void setIsDebug(bool shouldEnable)
앱스플라이어 SDK를 위해 디버깅 로그를 활성화합니다.
경고
개발 /디버그 환경에서만 true로 설정합니다.
parameter | type | description |
---|---|---|
shouldEnable | bool | 디버그 모드가 설정되면 True (기본 값은 false) |
예:
AppsFlyer.setIsDebug(true);
addPushNotificationDeepLinkPath
void addPushNotificationDeepLinkPath(params string[] paths)
키 경로를 구성하는 데 사용되는 키 배열을 추가하여 푸시 알림 페이로드에서 딥링크를 분석합니다.
parameter | type | description |
---|---|---|
paths | string[] | array of strings that represent the key path to the deeplink in the push notification payload |
예:
사용법 예시
기본 설정:
AppsFlyer.addPushNotificationDeepLinkPath("af_push_link")
이 호출은 다음 페이로드 구조와 일치합니다.
{
"af_push_link": "https://yourdeeplink2.onelink.me"
}
ֿAdvanced configuration:
string[] paths = {"deeply", "nested", "deep_link"};
AppsFlyer.addPushNotificationDeepLinkPath(paths);
이 호출은 다음 페이로드 구조와 일치합니다.
{
"deeply": {
"nested": {
"deep_link": "https://yourdeeplink2.onelink.me"
}
}
}
setCustomerUserId
void setCustomerUserId(string id)
자체 커스텀 ID를 설정하면 자체 유저 ID를 앱스플라이어의 고유 ID와 다른 기기의 ID와 연결하여 상호 참조할 수 있습니다. 이 ID는 앱스플라이어 CSV 리포트와 포스트백 API에서 내부 ID와 상호 참조할 수 있습니다.
parameter | type | description |
---|---|---|
id | string | 커스텀 사용자 ID |
예:
AppsFlyer.setCustomerUserId("custom_user_id");
setAppInviteOneLinkID
void setAppInviteOneLinkID(string oneLinkId)
User-Invite-API에 사용할 원링크 ID를 설정합니다
사용자 초대를 위해 생성된 링크는 이 원링크를 기본 링크로 사용합니다.
parameter | type | description |
---|---|---|
oneLinkId | string | 사용자 초대 어트리뷰션을 위한 원링크 ID |
예:
AppsFlyer.setAppInviteOneLinkID("abcd");
setAdditionalData
void setAdditionalData(Dictionary<string, string> customData)
setAdditionalData API는 SDK 수준에서 Segment, Adobe 및 Urban Airship과 같은 몇몇 외부 파트너 플랫폼과 연동할 때 필요합니다. 이 API는 해당 플랫폼의 연동 안내 문서에서 setAdditionalData API가 필요하다고 특별히 명시된 경우에만 사용하십시오.
parameter | type | description |
---|---|---|
customData | Dictionary<string, string> | 추가 데이터 |
예:
Dictionary<string, string> customData = new Dictionary<string, string>();
customData.Add("custom1", "someData");
AppsFlyer.setAdditionalData(customData);
setResolveDeepLinkURLs
void setResolveDeepLinkURLs(params string[] urls)
안드로이드 앱 링크를 지원하는 원링크를 사용하고 이를 제3자 유니버설 링크로 래핑하는 경우, setResolveDeepLinkURLs API를 사용하여 앱을 호출하는 클릭 도메인이 SDK에 의해 확인되어야 하고 기본 원링크를 추출해야 하는 앱스플라이어 SDK에 알릴 수 있습니다. 이렇게 하면 딥링크와 어트리뷰션을 유지하면서 를 원링크제3자 유니버설 링크로 래핑할 수 있습니다. 반드시 SDK 초기화 전에 이 API를 호출해야합니다.
parameter | type | description |
---|---|---|
urls | params string[] | URL 배열 |
예:
AppsFlyer.setResolveDeepLinkURLs("test.com", "test2.ca");
setOneLinkCustomDomain
void setOneLinkCustomDomain(params string[] domains)
광고주는 이 메서드를 사용하여 무의미한 원링크 도메인을 설정할 수 있습니다.
parameter | type | description |
---|---|---|
domains | params string[] | 커스텀 도메인 배열 |
예:
AppsFlyer.setOneLinkCustomDomain("test.domain", "test2.domain");
setCurrencyCode
void setCurrencyCode(string currencyCode)
인앱 구매를 위한 사용자 지역 통화 코드 설정.
통화 코드는 3문자 ISO 4217 코드여야 합니다. (기본 값은 USD).
다음 방법으로 모든 이벤트의 통화 코드를 설정할 수 있습니다.
parameter | type | description |
---|---|---|
currencyCode | string | 3문자 ISO 4217 코드입니다. (기본 값은 USD) |
예:
AppsFlyer.setCurrencyCode("GBP");
setDeepLinkTimeout
void setDeepLinkTimeout(long deepLinkTimeout)
Setting the deepLink timeout value that should be used for DDL.
If you want to use it, set it before the DDL setting.
parameter | type | description |
---|---|---|
deepLinkTimeout | long | in milliseconds |
예:
AppsFlyer.setDeepLinkTimeout(2000);
enableTCFDataCollection
void enableTCFDataCollection(bool shouldCollectTcfData)
Calling enableTCFDataCollection(true) will enable collecting and sending any TCF related data.
Calling enableTCFDataCollection(false) will disable the collection of TCF related data and from sending it.
parameter | type | description |
---|---|---|
shouldCollectTcfData | bool | true to enable data collection |
예:
AppsFlyer.enableTCFDataCollection(true);;
setConsentData
void setConsentData(AppsFlyerConsent appsFlyerConsent)
Sets or updates the user consent data related to GDPR and DMA regulations for advertising and data usage purposes within the application.
parameter | type | description |
---|---|---|
appsFlyerConsent | AppsFlyerConsent | Instance of AppsFlyerConsent class |
예:
AppsFlyerConsent consent = AppsFlyerConsent.ForGDPRUser(false, false);
AppsFlyer.setConsentData(consent);
recordLocation
void recordLocation(double latitude, double longitude)
사용자의 위치를 수동으로 기록합니다.
parameter | type | description |
---|---|---|
latitude | double | 사용자의 위도 |
longitude | double | 사용자의 경도 |
예:
AppsFlyer.recordLocation(40.7128, 74.0060);
anonymizeUser
void anonymizeUser(bool shouldAnonymizeUser)
앱스플라이어에는 특정 사용자 식별자를 앱스플라이어 분석에서 익명 처리하는 메서드가 있습니다. 이 메서드는 최신 개인 정보 보호 요구 사항을 준수하며 Facebook 데이터 및 개인 정보 보호 정책을 준수합니다. 기본값은 기본적으로 익명화가 수행되지 않는 NO입니다.
SDK를 초기화하는 동안 다음 API를 사용하면, 사용자의 설치, 이벤트, 세션을 명시적으로 익명처리할 수 있습니다.
anonymizeUser를 다시 호출하고 false로 설정하여 익명화를 취소할 수 있습니다.
경고
Anonymizing users SEVERELY impacts your attribution information. Use this option ONLY for regions which legally prevents you from collecting your users' information.
parameter | type | description |
---|---|---|
shouldAnonymizeUser | bool | 익명화를 수행하는 경우 true |
예:
AppsFlyer.anonymizeUser(true);
getAppsFlyerId
string getAppsFlyerId()
앱스플라이어 고유 장치 ID는 앱의 모든 신규 인스톨이 발생할 때마다 발급됩니다. 앱스플라이어의 고유 ID를 얻기 위해서 다음 API를 사용하십시오.
예:
string uid = AppsFlyer.getAppsFlyerId();
setMinTimeBetweenSessions
void setMinTimeBetweenSessions(int seconds)
기본적으로 2개 앱을 실행할 때의 간격이 적어도 5초 이상이 되어야 2 개의 별도 세션으로 계산합니다(세션 계산에 대해 알아보기). 하지만, 다음 API를 사용하면 세션 사이의 최소 필요 시간을 사용자 정의 값으로 설정할 수 있습니다.
참고: 높은 값을 사용자정의 실행 간격 시간으로 설정하면 딥링킹과 같이 세션 데이터를 사용하는 API에 문제가 생길 수 있습니다.
parameter | type | description |
---|---|---|
seconds | int | 세션 간 시간(기본 값은 5초) |
예:
AppsFlyer.setMinTimeBetweenSessions(4);
setHost
void setHost(string hostPrefixName, string hostName)
사용자정의 호스트를 설정합니다.
parameter | type | description |
---|---|---|
hostPrefixName | string | |
hostName | string |
예:
AppsFlyer.setHost("hostPrefixName","hostName");
setUserEmails
void setUserEmails(EmailCryptType cryptMethod, params string[] emails)
사용자 이메일을 설정하고 암호화합니다.
cryptMethod 암호화 메서드:
EmailCryptType.EmailCryptTypeSHA256
EmailCryptType.EmailCryptTypeNone
parameter | type | description |
---|---|---|
cryptMethod | EmailCryptType | none, 또는 sha256 |
emails | params string[] | 이메일 목록 |
예:
AppsFlyer.setUserEmails(EmailCryptType.EmailCryptTypeSHA256, "[email protected]", "[email protected]");
setPhoneNumber
void setPhoneNumber(string phoneNumber)
사용자 전화 번호를 설정합니다.
parameter | type | description |
---|---|---|
phoneNumber | string |
예:
AppsFlyer.setPhoneNumber("4166358181");
getConversionData
void getConversionData(string objectName);
전환 데이터 리스너를 등록합니다.
개발사가 SDK 수준에서 직접 새로 인스톨할 때마다 사용자 어트리뷰션 데이터에 실시간으로 액세스할 수 있도록 합니다.
이렇게 하면 사용자에게 개인화된 콘텐츠를 제공하거나 특정 인앱 활동으로 보낼 수 있습니다.
앱에 대한 인게이지먼트를 크게 향상시킬 수 있습니다.
IAppsFlyerConversionData 인터페이스를 구현하여 콜백을 가져옵니다.
parameter | type | description |
---|---|---|
objectName | string | IAppsFlyerConversionData 인터페이스를 포함한 게임 개체 |
예:
AppsFlyer.getConversionData(gameObject.name);
attributeAndOpenStore
void attributeAndOpenStore(string appID, string campaign, Dictionary<string, string> userParams, MonoBehaviour gameObject)
다음 API를 이용하여 클릭을 어트리뷰션하고 앱스토어의 앱 페이지를 실행하십시오.
IAppsFlyerUserInvite 인터페이스를 구현하여 콜백을 가져옵니다.
parameter | type | description |
---|---|---|
appID | string | |
campaign | string | |
userParams | Dictionary<string, string> | |
gameObject | MonoBehaviour | IAppsFlyerUserInvite 인터페이스를 포함한 게임 개체 |
예:
Dictionary<string, string> parameters = new Dictionary<string, string>();
parameters.Add("af_sub1", "val");
parameters.Add("custom_param", "val2");
AppsFlyer.attributeAndOpenStore("123456789", "test campaign", parameters, this);
logAdRevenue
void logAdRevenue(AFAdRevenueData adRevenueData, Dictionary<string, string> additionalParameters)
Logs ad revenue data along with additional parameters if provided.
parameter | type | description |
---|---|---|
adRevenueData | AFAdRevenueData | Instance of AFAdRevenueData containing ad revenue information |
additionalParameters | Dictionary<string, string> | An optional map of additional parameters to be logged with ad revenue data |
예:
Dictionary<string, string> parameters = new Dictionary<string, string>();
parameters.Add("value1", "5");
parameters.Add(AdRevenueScheme.COUNTRY, "USA");
var logRevenue = new AFAdRevenueData("monetizationNetworkEx", MediationNetwork.GoogleAdMob, "USD", 0.99);
AppsFlyer.logAdRevenue(logRevenue, parameters);
recordCrossPromoteImpression
void recordCrossPromoteImpression(string appID, string campaign);
To attribute an impression use the following API call.
Make sure to use the promoted App ID as it appears within the AppsFlyer dashboard.
parameter | type | description |
---|---|---|
appID | string | 앱 ID |
campaign | string | campaign |
params | Dictionary<string, string> | 추가 파라미터 |
예:
Dictionary<string, string> parameters = new Dictionary<string, string>();
parameters.Add("af_sub1", "val");
parameters.Add("custom_param", "val2");
AppsFlyer.recordCrossPromoteImpression("appID", "campaign", parameters);
generateUserInviteLink
void generateUserInviteLink(Dictionary<string, string> parameters, MonoBehaviour gameObject)
앱 추천 링크는 LinkGenerator 클래스로 URL을 빌드합니다. 이 클래스 내 여러 가지 setter 메서드에 따라 링크 클릭 시 정보가 수집됩니다.
참고 - https://support.appsflyer.com/hc/en-us/articles/115004480866-User-invite-attribution-
parameter | type | description |
---|---|---|
parameters | Dictionary<string, string> | |
gameObject | MonoBehaviour | IAppsFlyerUserInvite 인터페이스를 포함한 게임 개체 |
예:
AppsFlyer.generateUserInviteLink(params, this);
setSharingFilterForAllPartners Deprecated
void setSharingFilterForAllPartners()
광고주가 모든 애드 네트워크/연동 파트너에게 데이터를 보내지 않도록 할 때 사용합니다.
예:
AppsFlyer.setSharingFilterForAllPartners();
setSharingFilter Deprecated
void setSharingFilter(params string[] partners)
광고주가 이 메서드를 이용하여 일부(하나 혹은 복수의) 애드 네트워크/연동 파트너를 데이터 공유 대상에서 제외되도록 설정할 수 있습니다.
parameter | type | description |
---|---|---|
partners | params string[] partners | 데이터 가져오기 기능을 제외할 파트너 |
예:
AppsFlyer.setSharingFilter("googleadwords_int","snapchat_int","doubleclick_int");
setSharingFilterForPartners
void setSharingFilterForPartners(params string[] partners)
광고주가 이 메서드를 이용하여 일부(하나 혹은 복수의) 애드 네트워크/연동 파트너를 데이터 공유 대상에서 제외되도록 설정할 수 있습니다.
parameter | type | description |
---|---|---|
partners | params string[] partners | 데이터 가져오기 기능을 제외할 파트너 |
예:
AppsFlyer.setSharingFilterForPartners("partner1_int"); // Single partner
AppsFlyer.setSharingFilterForPartners("partner1_int", "partner2_int"); // Multiple partners
AppsFlyer.setSharingFilterForPartners("all"); // All partners
AppsFlyer.setSharingFilterForPartners(""); // Reset list (default)
AppsFlyer.setSharingFilterForPartners(); // Reset list (default)
setPartnerData
void setPartnerData(string partnerID, params string[] partnerInfo)
파트너 연동 용도로 사용자정의 데이터를 전송할 수 있도록 합니다.
parameter | type | description |
---|---|---|
partnerID | string | 파트너의 ID(일반적으로 "_int" 접미사가 붙음). |
partnerInfo | params string[] | 고객 데이터, 특정 파트너와의 연동 구성에 따라 다릅니다. |
예:
Dictionary<string, string> partnerInfo = new Dictionary<string, string>();
partnerInfo.Add("puid", "1234567890");
AppsFlyer.setPartnerData("partner_test", partnerInfo);
안드로이드 전용 API
updateServerUninstallToken
void updateServerUninstallToken(string token)
앱 삭제 측정을 위해 Firebase 기기 토큰을 수동으로 전달합니다.
parameter | type | description |
---|---|---|
token | string | Firebase FCM 토큰 |
예:
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.updateServerUninstallToken("token");
#endif
setImeiData
void setImeiData(string imei)
OS 버전이 KitKat (4.4) 이상이고 기기가 Google Play Services를 포함하고 있으면
(SDK 버전 4.8.8 및 GPS가 필요한 특정 앱에서), 기본적으로 SDK가 IMEI 및 안드로이드 ID를 수집하지 않습니다.
이 API를 사용해 앱스플라이어에 IMEI를 발송합니다.
parameter | type | description |
---|---|---|
imei | string | 기기 IMEI |
예:
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.setImeiData("imei");
#endif
setAndroidIdData
void setAndroidIdData(string androidId)
OS 버전이 KitKat (4.4) 이상이고 기기가 Google Play Services를 포함하고 있으면 (SDK 버전 4.8.8 및 GPS가 필요한 특정 앱에서), 기본적으로 SDK가 IMEI 및 안드로이드 ID를 수집하지 않습니다.
이 API를 사용해 앱스플라이어에 안드로이드 ID를 발송합니다.
parameter | type | description |
---|---|---|
androidId | string | 기기의 안드로이드 ID |
예:
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.setAndroidIdData("androidId");
#endif
waitForCustomerUserId
void waitForCustomerUserId(bool wait)
customerUserID가 설정될 때까지 SDK 초기화를 지연시킬 수 있습니다.
이 기능은 customerUserID를 얻기 전까지 SDK가 동작을 시작할 수 없도록 합니다. 이 API를 사용하면 customerUserID가 제공될 때까지 모든 인앱 이벤트 및 기타 SDK API 호출이 무시됩니다.
parameter | type | description |
---|---|---|
wait | bool | SDK가 customerUserID를 기다리도록 하려는 경우 true로 설정 |
예:
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.waitForCustomerUserId(true);
#endif
setCustomerIdAndStartSDK
void setCustomerIdAndStartSDK(string id)
Before calling this method, the method
waitForCustomerUserId
must be called
이 API를 사용하여 SDK에 관련 고객 사용자 ID를 제공하고 SDK가 정상적인 활동을 시작하도록 합니다.
parameter | type | description |
---|---|---|
id | string | 고객용 고객 ID입니다. |
예:
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.setCustomerIdStartSDK("id");
#endif
getOutOfStore
string getOutOfStore()
현재 AF_STORE 값을 가져옵니다.
예:
#if UNITY_ANDROID && !UNITY_EDITOR
string af_store = AppsFlyer.getOutOfStore();
#endif
setOutOfStore
void setOutOfStore(string sourceName)
수작업으로 AF_STORE 값을 설정합니다.
parameter | type | description |
---|---|---|
sourceName | string |
예:
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.setOutOfStore("sourceName");
#endif
setCollectAndroidID
void setCollectAndroidID(bool isCollect)
안드로이드 ID 모음에서 옵트아웃합니다.
앱이 Google Play 서비스를 사용하지 않는 경우 안드로이드 ID는 SDK로 수집합니다.
하지만, Google Play Services를 사용하는 앱은 안드로이드 ID를 수집하지 말아야 합니다. 이는 Google Play 정책 위반입니다.
parameter | type | description |
---|---|---|
isCollect | bool |
예:
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.setCollectAndroidID(true);
#endif
setCollectIMEI
void setCollectIMEI(bool isCollect)
IMEI 수집에서 옵트아웃합니다.
앱이 Google Play Services를 사용하지 않는 경우 SDK는 기기 IMEI를 수집합니다.
하지만 Google Play Services를 사용하는 앱은 IMEI를 수집하지 말아야 합니다. 이는 Google Play 정책 위반입니다.
parameter | type | description |
---|---|---|
isCollect | bool |
예:
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.setCollectIMEI(true);
#endif
setIsUpdate
void setIsUpdate(bool isUpdate)
애플리케이션이 업데이트되었음을 수동으로 설정합니다.
parameter | type | description |
---|---|---|
isUpdate | bool | 앱이 업데이트된 경우 true |
예:
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.setIsUpdate(true);
#endif
setPreinstallAttribution
void setPreinstallAttribution(string mediaSource, string campaign, string siteId)
사전 설치가 어트리뷰션된 제조사나 미디어소스를 지칭합니다.
parameter | type | description |
---|---|---|
mediaSource | string | 사전 설치 어트리뷰션에 대한 제조사 또는 미디어소스 이름입니다. |
campaign | string | 사전 설치 어트리뷰션 캠페인 이름입니다. |
siteId | string | 사전 설치 어트리뷰션의 사이트 ID입니다. |
예:
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.setPreinstallAttribution("mediaSource", "campaign", "siteId");
#endif
isPreInstalledApp
bool isPreInstalledApp()
제조사 사전 설치에 대한 부울 지표입니다.
예:
#if UNITY_ANDROID && !UNITY_EDITOR
if (AppsFlyer.isPreInstalledApp())
{
}
#endif
handlePushNotifications
void handlePushNotifications()
handlePushNotifications API가 호출되면 푸시 알림이 기록됩니다.
예:
AppsFlyer.handlePushNotifications();
getAttributionId
string getAttributionId()
Facebook 어트리뷰션 ID를 가져옵니다(있는 경우).
예:
#if UNITY_ANDROID && !UNITY_EDITOR
string attributionId = AppsFlyer.getAttributionId();
#endif
validateAndSendInAppPurchase-beta
void validateAndSendInAppPurchase(AFPurchaseDetailsAndroid details, string> additionalParameters, MonoBehaviour gameObject)
API for server verification of in-app purchases.
An af_purchase event with the relevant values will be automatically sent if the validation is successful.
parameter | type | description |
---|---|---|
details | AFPurchaseDetailsAndroid | Instance of AFPurchaseDetailsAndroid class |
additionalParameters | Dictionary<string, string> | 구매 시 전송할 파라미터. |
gameObject | MonoBehaviour | 전송할 콜백용 게임 개체 |
예:
#if UNITY_ANDROID && !UNITY_EDITOR
AFPurchaseDetailsAndroid details = new AFPurchaseDetailsAndroid(AFPurchaseType.Subscription,
"token", "productId", "price", "currency");
AppsFlyer.validateAndSendInAppPurchase(
details,
null,
this);
#endif
validateAndSendInAppPurchase
void validateAndSendInAppPurchase(string publicKey, string signature, string purchaseData, string price, string currency, Dictionary<string, string> additionalParameters, MonoBehaviour gameObject)
API for server verification of in-app purchases.
An af_purchase event with the relevant values will be automatically sent if the validation is successful.
parameter | type | description |
---|---|---|
publicKey | string | Google Play Console에서 얻은 라이선스 키 |
signature | string | data.INAPP_DATA_SIGNATURE. |
purchaseData | string | data.INAPP_PURCHASE_DATA |
price | string | 구매 가격 |
currency | string | 사전 설치 어트리뷰션의 사이트 ID입니다. |
additionalParameters | Dictionary<string, string> | 구매 시 전송할 파라미터. |
gameObject | MonoBehaviour | 전송할 콜백용 게임 개체 |
예:
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.validateAndSendInAppPurchase(
"publicKey",
"signature",
"purchaseData",
"price",
"currency",
null,
this);
#endif
setCollectOaid
void setCollectOaid(boolean isCollect)
setCollectOaid
You must include the appsflyer oaid library for this api to work.
parameter | type | description |
---|---|---|
isCollect | bool | OAID 수집을 허용하려는 경우 true로 설정 |
예:
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.setCollectOaid(true);
#endif
setDisableAdvertisingIdentifiers
void setDisableAdvertisingIdentifiers(boolean disable)
setDisableAdvertisingIdentifiers
Disables collection of various Advertising IDs by the SDK. This includes Google Advertising ID (GAID), OAID and Amazon Advertising ID (AAID)
parameter | type | description |
---|---|---|
disable | bool | 비활성화하려면 true로 설정 |
예:
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.setDisableAdvertisingIdentifiers(true);
#endif
setDisableNetworkData
void setDisableNetworkData(boolean disable)
setDisableNetworkData
Use to opt-out of collecting the network operator name (carrier) and sim operator name from the device.
parameter | type | description |
---|---|---|
disable | bool | 옵트아웃하려면 true로 설정 |
예:
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.setDisableNetworkData(true);
#endif
iOS 전용 API
setDisableCollectAppleAdSupport
void setDisableCollectAppleAdSupport(bool disable)
AppsFlyer SDK는 Apple를 수집 advertisingIdentifier
if the AdSupport.framework
SDK에 포함되어 있습니다.
다음 속성을 true로 설정하여 이 작동을 사용하지 않을 수 있습니다.
parameter | type | description |
---|---|---|
disable | bool |
예:
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.setDisableCollectAppleAdSupport(true);
#endif
handlePushNotifications(iOS)
void handlePushNotification(Dictionary<string, string> pushPayload)
When the handlePushNotifications API is called from a service that is swizzling, like Firebase, the push notifications payload will be handled by the AppsflyerSDK.
parameter | type | description |
---|---|---|
pushPayload | Dictionary<string, string> | the push notification payload |
예:
#if UNITY_IOS && !UNITY_EDITOR
// e.Message.Data = push notification payload
var dataDict = new Dictionary<string, string>(e.Message.Data);
AppsFlyeriOS.handlePushNotification(dataDict);
#endif
setShouldCollectDeviceName
void setShouldCollectDeviceName(bool shouldCollectDeviceName)
현재 기기 이름을 수집하려면 이 플래그를 true로 설정합니다(예: "내 iPhone"). 기본 값은 false입니다.
parameter | type | description |
---|---|---|
shouldCollectDeviceName | bool |
예:
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.setShouldCollectDeviceName(true);
#endif
setDisableCollectIAd
void setDisableCollectIAd(bool disableCollectIAd)
Apple Search Ads 어트리뷰션 거부.
parameter | type | description |
---|---|---|
disableCollectIAd | bool |
예:
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.setDisableCollectIAd(true);
#endif
setUseReceiptValidationSandbox
void setUseReceiptValidationSandbox(bool useReceiptValidationSandbox)
인앱 구매 영수증 유효성 검증 Apple 환경(생산 또는 샌드박스)입니다. 기본 값은 false입니다.
parameter | type | description |
---|---|---|
useReceiptValidationSandbox | bool | 인앱 구매가 샌드박스로 완료된 경우 true |
예:
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.setUseReceiptValidationSandbox(true);
#endif
setUseUninstallSandbox
void setUseUninstallSandbox(bool useUninstallSandbox)
Apple 환경(생산 또는 샌드박스)에서 앱 삭제를 테스트하려면 이 플래그를 설정합니다. 기본 값은 false입니다.
parameter | type | description |
---|---|---|
useUninstallSandbox | bool | APN 인증서를 사용하는 경우 true |
예:
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.setUseUninstallSandbox(true);
#endif
validateAndSendInAppPurchase-beta-iOS
void validateAndSendInAppPurchase(AFSDKPurchaseDetailsIOS details, Dictionary<string, string> extraEventValues, MonoBehaviour gameObject)
인앱 구매를 전송하고 검증하려면 processPurchase 메서드에서 이 메서드를 호출합니다.
parameter | type | description |
---|---|---|
details | AFSDKPurchaseDetailsIOS | Instance of AFSDKPurchaseDetailsIOS class. |
extraEventValues | Dictionary<string, string> | 로데이터 리포트에서 받으려는 추가 파라미터. |
gameObject | MonoBehaviour | the game object for the |
예:
#if UNITY_IOS && !UNITY_EDITOR
AFSDKPurchaseDetailsIOS details = AFSDKPurchaseDetailsIOS.Init("productId", "price", "currency",
"transactionId");
AppsFlyer.validateAndSendInAppPurchase(
details,
null,
this);
#endif
validateAndSendInAppPurchase
void validateAndSendInAppPurchase(string productIdentifier, string price, string currency, string tranactionId, Dictionary<string, string> additionalParameters, MonoBehaviour gameObject)
인앱 구매를 전송하고 검증하려면 processPurchase 메서드에서 이 메서드를 호출합니다.
parameter | type | description |
---|---|---|
productIdentifier | string | 제품 식별자. |
price | string | 제품 가격. |
currency | string | 제품 통화. |
tranactionId | string | 구매 트랜잭션 ID. |
additionalParameters | Dictionary<string, string> | 로데이터 리포트에서 받으려는 추가 파라미터. |
gameObject | MonoBehaviour | 콜백용 게임 개체 |
예:
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.validateAndSendInAppPurchase(
"productIdentifier",
"price",
"currency",
"tranactionId",
null,
this);
#endif
registerUninstall
void registerUninstall(byte[] deviceToken)
앱 삭제 등록 - 원격 알림을 등록하고 앱스프라이어에게 푸시 기기 토큰을 제공해야 합니다.
parameter | type | description |
---|---|---|
deviceToken | byte[] | API 토큰 |
예:
private bool tokenSent;
void Update()
{
#if UNITY_IOS && !UNITY_EDITOR
if (!tokenSent)
{
byte[] token = UnityEngine.iOS.NotificationServices.deviceToken;
if (token != null)
{
AppsFlyer.registerUninstall(token);
tokenSent = true;
}
}
#endif
}
handleOpenUrl
void handleOpenUrl(string url, string sourceApplication, string annotation)
In case you want to track deep linking manually call handleOpenUrl.
The continueUserActivity and onOpenURL are implemented in the AppsFlyerAppController.mm class, so
only use this method if the other methods do not cover your apps deeplinking needs.
parameter | type | description |
---|---|---|
url | string | AppDelegate로 전달할 URL |
sourceApplication | string | AppDelegate로 전달할 sourceApplication |
annotation | string | AppDelegate로 전달할 주석 |
예:
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.handleOpenUrl(string url, string sourceApplication, string annotation);
#endif
waitForATTUserAuthorizationWithTimeoutInterval
void waitForATTUserAuthorizationWithTimeoutInterval(int timeoutInterval)
자세한 내용은 여기를 참조하세요.
parameter | type | description |
---|---|---|
timeoutInterval | int | idfa 대기 시간 |
예:
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.waitForATTUserAuthorizationWithTimeoutInterval(60);
#endif
disableSKAdNetwork
bools disableSKAdNetwork(bool isDisabled)
parameter | type | description |
---|---|---|
isDisabled | bool | SKAdNetwork를 비활성화하려면 True로 설정 |
예:
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.disableSKAdNetwork(true);
#endif
setLanguage
setCurrentDeviceLanguage(string language)
parameter | type | description |
---|---|---|
language | String | 설정할 언어 |
예:
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.setCurrentDeviceLanguage("english");
#endif
disableIDFVCollection
disableIDFVCollection(bool isDisabled)
parameter | type | description |
---|---|---|
isDisabled | bool | True to disable IDFV collection |
예:
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.disableIDFVCollection(true);
#endif
IAppsFlyerConversionData
onConversionDataSuccess
public void onConversionDataSuccess(string conversionData)
ConversionData에는 인스톨에 대한 정보가 포함되어 있습니다.
오가닉/논오가닉 등. 자세한 내용은 여기를 참조하세요.
parameter | type | description |
---|---|---|
conversionData | string | 반환된 전환 데이터의 JSON 문자열 |
예:
public void onConversionDataSuccess(string conversionData)
{
AppsFlyer.AFLog("onConversionDataSuccess", conversionData);
Dictionary<string, object> conversionDataDictionary = AppsFlyer.CallbackStringToDictionary(conversionData);
// add deferred deeplink logic here
}
onConversionDataFail
public void onConversionDataFail(string error)
parameter | type | description |
---|---|---|
error | string | 오류를 설명하는 문자열 |
예:
public void onConversionDataFail(string error)
{
AppsFlyer.AFLog("onConversionDataFail", error);
}
onAppOpenAttribution
public void onAppOpenAttribution(string attributionData)
attributionData에는 원링크, 딥링크에 대한 정보가 포함되어 있습니다.
parameter | type | description |
---|---|---|
attributionData | string | 반환된 딥링크 데이터의 JSON 문자열 |
예:
public void onAppOpenAttribution(string attributionData)
{
AppsFlyer.AFLog("onAppOpenAttribution", attributionData);
Dictionary<string, object> attributionDataDictionary = AppsFlyer.CallbackStringToDictionary(attributionData);
// add direct deeplink logic here
}
onAppOpenAttributionFailure
public void onAppOpenAttributionFailure(string error)
어트리뷰션 요청 중에 발생한 모든 오류.
parameter | type | description |
---|---|---|
error | string | 오류를 설명하는 문자열 |
예:
public void onAppOpenAttributionFailure(string error)
{
AppsFlyer.AFLog("onAppOpenAttributionFailure", error);
}
IAppsFlyerUserInvite
onInviteLinkGenerated
public void onInviteLinkGenerated(string link)
원링크 URL을 생성하기 위한 콜백 성공.
parameter | type | description |
---|---|---|
link | string | 생성된 링크 |
예:
public void onInviteLinkGenerated(string link)
{
}
onInviteLinkGeneratedFailure
public void onInviteLinkGeneratedFailure(string error)
원링크 URL을 생성하기 위한 콜백 오류
parameter | type | description |
---|---|---|
error | string | 오류를 설명하는 문자열 |
예:
public void onInviteLinkGeneratedFailure(string error)
{
AppsFlyer.AFLog("onInviteLinkGeneratedFailure", error);
}
onOpenStoreLinkGenerated
public void onOpenStoreLinkGenerated(string link)
(iOS 전용) iOS에서는 Storekit 컴포넌트를 사용하여
해당 앱에 맞는 앱스토어를 열 수 있습니다.
자세한 내용은 여기를 참조
parameter | type | description |
---|---|---|
attributionData | string | 반환된 딥링크 데이터의 JSON 문자열 |
예:
public void onOpenStoreLinkGenerated(string link)
{
}
IAppsFlyerValidateReceipt
didFinishValidateReceipt
public void didFinishValidateReceipt(string result)
validateAndSendInAppPurchase API에 대한 콜백 성공.
안드로이드의 경우: 콜백은 "성공 검증"을 반환합니다.
iOS의 경우: 콜백은 애플 verifyReceipt API에서 JSON 문자열을 반환합니다.
parameter | type | description |
---|---|---|
result | string | 결과 검증 |
예:
public void didFinishValidateReceipt(string link)
{
}
IAppsFlyerValidateAndLog
onValidateAndLogComplete
public void didFinishValidateReceipt(string result)
The success callback for validateAndSendInAppPurchase API.
The callback will return a JSON string which can be converted to dictionary.
parameter | type | description |
---|---|---|
result | string | 결과 검증 |
예:
public void onValidateAndLogComplete(string result)
{
AppsFlyer.AFLog("onValidateAndLogComplete", result);
Dictionary<string, object> validateAndLogDataDictionary = AppsFlyer.CallbackStringToDictionary(result);
}
onValidateAndLogFailure
public void onValidateAndLogFailure(string error)
The error callback for validating receipts.
The callback will return a JSON string which can be converted to dictionary.
parameter | type | description |
---|---|---|
error | string | 오류를 설명하는 문자열 |
예:
public void onValidateAndLogFailure(string error)
{
AppsFlyer.AFLog("onValidateAndLogFailure", error);
}
이벤트
onRequestResponse
public static event EventHandler OnRequestResponse
세션용 콜백입니다.
statusCode | errorDescription |
---|---|
200 | null |
10 | "Event timeout. Check 'minTimeBetweenSessions' param |
11 | "Skipping event because 'isStopTracking' enabled" |
40 | Network error: Error description comes from Android |
41 | "No dev key" |
50 | "Status code failure" + 서버에서 받은 실제 응답 코드 |
예:
AppsFlyer.OnRequestResponse += (sender, args) =>
{
var af_args = args as AppsFlyerRequestEventArgs;
AppsFlyer.AFLog("AppsFlyerOnRequestResponse", "status code" + af_args.statusCode);
};
onInAppResponse
public static event EventHandler OnInAppResponse
인앱이벤트에 대한 콜백입니다.
statusCode | errorDescription |
---|---|
200 | null |
10 | "Event timeout. Check 'minTimeBetweenSessions' param |
11 | "Skipping event because 'isStopTracking' enabled" |
40 | Network error: Error description comes from Android |
41 | "No dev key" |
50 | "Status code failure" + 서버에서 받은 실제 응답 코드 |
예:
AppsFlyer.OnInAppResponse += (sender, args) =>
{
var af_args = args as AppsFlyerRequestEventArgs;
AppsFlyer.AFLog("OnRequestResponse", "status code" + af_args.statusCode);
};
onDeepLinkReceived
public static event EventHandler OnDeepLinkReceived
통합 딥링크 API에 대한 콜백입니다.
예:
// First call init with devKey, appId and gameObject
AppsFlyer.initSDK(devKey, appID, this);
AppsFlyer.OnDeepLinkReceived += (sender, args) =>
{
var deepLinkEventArgs = args as DeepLinkEventsArgs;
// DEEPLINK LOGIC HERE
};
최신 데이터 3개월 전