개요

AppsFlyerLib 는 앱스플라이어 iOS SDK의 메인 클래스이며, 대부분의 메서드를 캡슐화합니다.

다음을 가져오는 방법: AppsFlyerLib:

// AppDelegate.h
#import <AppsFlyerLib/AppsFlyerLib.h>

@interface AppDelegate : UIResponder <UIApplicationDelegate, AppsFlyerLibDelegate>

@end
import AppsFlyerLib

SDK 참조 인덱스로 되돌아갑니다.

속성

advertisingIdentifier (read-only)

속성 선언

@property(nonatomic, strong, readonly) NSString *advertisingIdentifier

설명
앱스플라이어 SDK는 SDK에 포함된 Apple의 advertisingIdentifier if the AdSupport.framework 를 수집합니다.
다음 설정으로 이 작동을 사용하지 않을 수 있습니다: disableAdvertisingIdentifier to true.

유형이름
NSStringadvertisingIdentifier

anonymizeUser

속성 선언

@property(atomic) BOOL anonymizeUser;

설명
특정 사용자 로깅을 옵트아웃합니다.

유형이름
boolanonymizeUser

appInviteOneLinkID

속성 선언

@property(nonatomic, strong, nullable, setter = setAppInviteOneLink:) NSString * appInviteOneLinkID

설명
원링크 구성에서 원링크 ID를 설정합니다. 원링크를 생성하기 위해 앱 추천에 사용합니다.

유형이름
NSStringappInviteOneLinkID

appleAppID

속성 선언

@property(nonatomic, strong) NSString * appleAppID

설명
이 속성을 사용하여 앱의 Apple ID(iTunes Connect 상의 앱 페이지에서 가져온 것)를 설정합니다.

유형이름
NSStringappleAppID

appsFlyerDevKey

속성 선언

@property(nonatomic, strong) NSString * appsFlyerDevKey

설명
이 속성을 사용하여 앱스플라이어 dev key를 설정하십시오.

유형이름설명
NSStringappsFlyerDevKey귀하의 앱스플라이어 dev key

currencyCode

속성 선언

@property(nonatomic, strong, nullable) NSString *currencyCode

설명
앱 구매 이벤트의 경우 사용자가 구매할 떄 사용한 통화 코드를 설정할 수 있습니다.
통화 코드는 ISO 표준에 따른 3문자 코드입니다.

사용법 예시

[[AppsFlyerLib shared] setCurrencyCode:@"USD"];
AppsFlyerLib.shared().currencyCode = "USD"

customData

📘

설정 customData before first launch will have the additional data included in installs, sessions, as well as in-app events.

속성 선언

@property(nonatomic, strong, nullable, setter = setAdditionalData:) NSDictionary * customData

설명
이벤트의 페이로드에 커스텀 데이터를 추가하는 데 사용합니다. 로데이터 리포트에서 받게 됩니다.

유형이름
NSDictionarycustomData

customerUserID

속성 선언

@property(nonatomic, strong, nullable) NSString * customerUserID

설명
앱에서 자체 고객 ID를 사용하는 경우, 해당 ID에 이 속성을 설정할 수 있습니다.
자체 고유 ID를 앱스플라이어의 고유 ID와 다른 기기의 ID와 연결하여 상호 참조할 수 있습니다.

유형이름
NSStringcustomerUserID

deepLinkDelegate

속성 선언

@property(weak, nonatomic) id<AppsFlyerDeepLinkDelegate> deepLinkDelegate

설명
DeepLinkDelegate 프로토콜을 준수하고 메서드를 구현하는 객체의 속성을 위임합니다.

유형이름
DeepLinkDelegatedeepLinkDelegate

사용법 예시

AppsFlyerLib.shared().deepLinkDelegate = self

deepLinkTimeout

설명
디퍼드 딥링킹 에 대한 요청 시간 초과.

밀리초 단위.

속성 선언

@property(nonatomic) NSUInteger deepLinkTimeout
유형이름
NSUIntegerdeepLinkTimeout

delegate

설명
앱스플라이어 위임. AppsFlyerLibDelegate를 참조하세요.
속성 선언하기

@property (nonatomic, weak) id<AppsFlyerLibDelegate> delegate;
유형이름
AppsFlyerLibDelegatedelegate

disableAdvertisingIdentifier

속성 선언

@property (nonatomic) int disableAdvertisingIdentifier;

설명
경우 AdSupport.framework 이 사용하지 않는 것으로 설정되면 SDK는 Apple advertisingIdentifier을 수집합니다.
다음 속성을 다음으로 설정하여 이 작동을 사용하지 않을 수 있습니다: YES.

유형이름
NSStringadvertisingIdentifier

disableAppleAdsAttribution

속성 선언

@property(nonatomic) BOOL disableAppleAdsAttribution

설명
Disables AdServices framework-based attribution for Apple Search Ads.

유형이름
booldisableAppleAdsAttribution

disableCollectASA

속성 선언

@property(atomic) BOOL disableCollectASA;

설명
Disables the collection of data from the iAd Framework. This API has no effect in v6.12.3 and above, where the iAd Framework is no longer in use.

유형이름
booldisableCollectASA

disableIDFVCollection

속성 선언

@property(nonatomic) BOOL disableIDFVCollection;

설명
앱 공급업체 식별자(IDFV) 모음을 사용하지 않으려면 다음과 같이 설정합니다: disableIDFVCollection to YES.

유형이름
booldisableIDFVCollection

disableSKAdNetwork

속성 선언

@property(nonatomic) BOOL disableSKAdNetwork

설명

유형이름
booldisableSKAdNetwork

facebookDeferredAppLink

속성 선언

@property (nonatomic, nullable) int *facebookDeferredAppLink;

설명
Facebook 디퍼드 앱링크를 수동으로 설정합니다.

유형이름
NSStringadvertisingIdentifier

host (read-only)

속성 선언

@property(nonatomic, strong, readonly) NSString *host

설명
이 속성은 모든 엔드포인트의 호스트 이름을 나타내는 문자열 값을 승인합니다.
호스트를 설정하려면 setHost를 사용하십시오.

기본 SDK 엔드포인트 값을 사용하려면 값을 다음으로 설정합니다: nil.

유형이름
NSStringhost

hostPrefix (read-only)

속성 선언

@property(nonatomic, strong, readonly) NSString *hostPrefix

설명이 속성은 모든 엔드포인트의 접두사 호스트 이름을 나타내는 문자열 값을 허용합니다. 호스트를 설정하려면 setHost를 사용하십시오.

유형이름
NSStringhostPrefix

isDebug

속성 선언

@property(nonatomic) BOOL isDebug;

설명
콘솔 로그에 SDK 메시지를 출력합니다. 프로덕션 빌드에서는 사용 해제해야 합니다.

유형이름
boolisDebug

isStopped

속성 선언

@property(atomic) BOOL isStopped;

📘

SDK 재시작

설정 isStopped = true 설정 및 설정 isStopped = false

다음 함수를 호출할 필요 없음: start()

설명
API to shut down all SDK activities. This will disable all requests from the SDK except for those related to fetching SKAd Network data from the server.

유형이름
boolisStopped

minTimeBetweenSessions

속성 선언

@property(atomic) NSUInteger minTimeBetweenSessions;

설명
세션 간 최소 필요 시간을 맞춤 설정합니다.

입력 인수

유형이름설명
NSUIntegerminTimeBetweenSessions두 개의 개별 세션으로 계수하기 위해 두 개의 앱 실행 사이에 경과해야 하는 최소 시간을 설정합니다. 설정하지 않으면 세션 간의 최소 시간 기본값은 5초입니다.

oneLinkCustomDomains

속성 선언

@property(nonatomic, nullable) NSArray<NSString *> *oneLinkCustomDomains;

설명
배니티 원링크를 사용하는 광고주 전용입니다.

유형이름
NSArray<NSString *>oneLinkCustomDomains

phoneNumber

속성 선언

@property(nonatomic, nullable) NSString *phoneNumber

설명

유형이름
NSStringphoneNumber

resolveDeepLinkURLs

속성 선언

@property(nonatomic, nullable) NSArray<NSString *> *resolveDeepLinkURLs;

설명

유형이름
NSArray<NSString *>resolveDeepLinkURLs

사용법 예시
이메일 서비스 제공 업체(ESP)와 같은 몇몇 외부 업체 서비스 사는 이메일 내의 링크를 자체 클릭 기록 도메인으로 래핑(wrapping)합니다. 어떤 업체는 자신의 클릭 기록 도메인을 직접 설정하도록 허용하기도 합니다. 만약 원링크가 이런 도메인들에서 래핑된다면, 원링크의 기능이 제한될 수 있습니다.

이 문제를 해결하려면 setResolveDeepLinkURLs 를 사용하여 앱을 시작하는 클릭 도메인에서 원링크를 가져옵니다. 반드시 SDK 초기화 전에 이 API를 호출해야합니다.

예를 들어, https://mysubdomain.onelink.me/abCD인 원링크로 리다이렉션되는 세 개의 클릭 도메인이 있습니다. 이 API를 사용하여 클릭 도메인이 리다이렉션하는 원링크를 가져오십시오. 이 API 메서드는 SDK가 분석하는 도메인 목록을 수신합니다.

[AppsFlyerLib shared].resolveDeepLinkURLs = @[@"example.com",@"click.example.com"];
AppsFlyerLib.shared().resolveDeepLinkURLs = ["example.com", "click.example.com"]

이렇게 하면 원링크 기능을 유지하면서 클릭 도메인을 사용할 수 있습니다. 여기에서 클릭 도메인은 앱 실행을 담당합니다. 대신 API가 이 클릭 도메인에서 원링크를 가져오고, 이 원링크에서 데이터를 확보하여 맞춤식 콘텐츠로 딥링크 하는데 사용할 수 있습니다.

sharingFilter

속성 선언

@property(nonatomic, nullable) NSArray<NSString *> *sharingFilter;

설명

유형이름
NSArray<NSString *>sharingFilter

shouldCollectDeviceName

속성 선언

@property(nonatomic) BOOL shouldCollectDeviceName;

설명
현재 기기 이름을 수집하려면 이 플래그를 예로 설정합니다(예: "내 iPhone").

유형이름
boolshouldCollectDeviceName

useReceiptValidationSandbox

속성 선언

@property (nonatomic) BOOL useReceiptValidationSandbox;

설명
인앱 구매 영수증 검증 Apple 환경(생산 또는 샌드박스)입니다.

유형이름
booluseReceiptValidationSandbox

useUninstallSandbox

속성 선언

@property (nonatomic) BOOL useUninstallSandbox;

설명
Apple 환경(생산 또는 샌드박스)에서 설치 제거를 테스트하려면 이 플래그를 설정합니다.

유형이름
booluseUninstallSandbox

메서드

addPushNotificationDeepLinkPath

Method signature

- (void)addPushNotificationDeepLinkPath:(NSArray<NSString *> *)deepLinkPath;
addPushNotificationDeepLinkPath(deepLinkPath: [String])

설명
키 경로를 구성하는 데 사용되는 키 배열을 추가하여 푸시 알림 페이로드에서 딥링크를 분석합니다.

입력 인수

유형이름
NSArray<NSString *>deepLinkPath

반환
void.

사용법 예시
기본 설정:

[AppsFlyerLib shared] addPushNotificationDeepLinkPath:@[@"af_push_link"]]
AppsFlyerLib.shared().addPushNotificationDeepLinkPath(["af_push_link"])

고급 설정:

[AppsFlyerLib shared] addPushNotificationDeepLinkPath:@[@"deeply", @"nested", @"deep_link"]]
AppsFlyerLib.shared().addPushNotificationDeepLinkPath(["deeply", "nested", "deep_link"])

이 호출은 다음 페이로드 구조와 일치합니다.

{
  "deeply": {
      "nested": {
          “deep_link”: “https://yourdeeplink2.onelink.me”
      }
  }
}

appendParametersToDeepLinkingURL

Method signature

(void)appendParametersToDeepLinkingURLWithString:(NSString *)containsString parameters:(NSDictionary<NSString *, NSString*> *)parameters;
appendParametersToDeeplinkURL(contains: String, parameters: [String : String])

설명
하위 문자열로 contains 를 포함하는 URL을 일치시키고 쿼리 파라미터를 추가합니다. URL이 일치하지 않는 경우에는 파라미터가 추가되지 않습니다.

🚧

다음을 호출하기 전에 이 메서드를 호출하십시오: start

입력 인수

유형이름설명
NSStringcontainsURL에서 확인해야 하는 문자열입니다.
NSDictionaryparameters검증을 통과한 후에 딥링크 URL에 추가할 파라미터입니다.

반환
void.

continue

Method signature

- (id)continueUserActivity:(id)userActivity
restorationHandler:
(void (^_Nullable)(int *_Nullable))restorationHandler;
AppsFlyerLib.shared().continue(userActivity: NSUserActivity?, restorationHandler: (([Any]?) -> Void)?)

설명

앱스플라이어가 'NSUserActivity에서 복원을 처리하도록 허용합니다. 이 메서드로 유니버설 링크를 처리합니다.

입력 인수

유형이름설명
NSUserActivityuserActivityThe NSUserActivity 이 App Delegate에 전달된 것입니다.
void (^_Nullable)(int *_Nullable)restorationHandler전달 nil

반환
void.

enableFacebookDeferderedApplinks

Method signature

- (void)enableFacebookDeferredApplinksWithClass:(Class _Nullable)facebookAppLinkUtilityClass;
enableFacebookDeferredApplinks(with:AnyClass?)

설명
Facebook 디퍼드 앱링크 모음을 사용하도록 설정합니다.

  • 대상/클라이언트 기기에 Facebook SDK와 Facebook 앱을 요구합니다.
  • 이 API를 적절하게 작동시키려면 앱스플라이어 SDK를 초기화하기 전에 먼저 호출해야 합니다

입력 인수

유형이름설명
FBSDKAppLinkUtilityfacebookAppLinkUtilityClass

반환
void.

enableTCFDataCollection

Method signature

- (void)enableTCFDataCollection:(BOOL)flag;
func enableTCFDataCollection(_ flag: Bool)

설명
Enables the collection of Transparency and Consent Framework (TCF) data from NSUserDefaults. The data was placed in UserDefaults by the device's TCF v2.2 compatible Consent Management Platform (CMP).

입력 인수

유형이름설명
BoolflagA Boolean value to enable or disable the collection of TCF data.

반환
void.

getAppsFlyerUID

Method signature

- (NSString *)getAppsFlyerUID;
getAppsFlyerUID()

설명
앱스플라이어의 고유 기기 ID를 가져옵니다. SDK는 앱 설치 시 앱스플라이어의 고유 기기 ID를 생성합니다. SDK가 시작되면 이 ID가 첫 번째 앱 인스톨의 ID로 기록됩니다.

입력 인수
이 메서드는 입력 인수를 사용하지 않습니다.

반환

유형설명
NSString앱스플라이어 ID

getSDKVersion

Method signature

- (NSString *)getSDKVersion;
getSDKVersion()

설명
SDK 버전

입력 인수
이 메서드는 입력 인수를 사용하지 않습니다.

반환

유형설명
NSString앱스플라이어 SDK 버전을 반환합니다.

handleOpen

Method signature

- (void)handleOpenUrl:(id)url options:(id)options;
AppsFlyerLib.shared().handleOpen(url: URL?, options: [AnyHashable : Any]?)

설명
귀하의 다음 AppDelegate 내부에서 이 메서드를 호출합니다: openURL method.
This method handles URI-scheme for iOS 9 and above.

입력 인수

유형이름설명
NSURLurlApp Delegate에 전달된 URL입니다.
AnyHashableoptions귀하의 AppDelegate에 전달된 옵션 사전입니다.

반환
void.

handlePushNotification

Method signature

- (void)handlePushNotification:(NSDictionary * _Nullable)pushPayload;
AppsFlyerLib.shared().handlePushNotification(pushPayload: [AnyHashable : Any]?)

설명
앱스플라이어가가 푸시 알림을 처리할 수 있도록 합니다.

입력 인수

유형이름설명
AnyHashablepushPayloadThe userInfo 는 받은 원격 알림에서 얻은 것입니다. 만일 addPushNotificationDeepLinkPath 이 사용되지 않은 경우 데이터는 @“af” 키 아래에 있어야 합니다.

반환
void.

logAdRevenue

Added in v6.15.0

Method signature

-(void)logAdRevenue:(AFAdRevenueData *)adRevenueData additionalParameters:(NSDictionary * **_Nullable**)additionalParameters;

설명

The method sends an ad revenue event to AppsFlyer. See more information in Ad revenue.

입력 파라미터

이름유형설명
adRevenueDataAFAdRevenueData*An object that encapsulates all the mandatory parameters of the adRevenue event. The object is passed to the logAdRevenue method.
additionalParametersNSDictionary * _NullableAn optional dictionary containing additional parameters to log with the adRevenue event.

반환

void.

AFAdRevenueData

An object that encapsulates all mandatory adRevenue data received from the mediation network.

Definition

AFAdRevenueData {
	(NSString * **_Nonnull**)monetizationNetwork
	(AppsFlyerAdRevenueMediationNetworkType)mediationNetwork
	(NSString * **_Nonnull**)currencyIso4217Code
	(NSNumber * **_Nonnull**)eventRevenue
}

AFAdRevenueData parameters

이름유형설명
monetizationNetwork문자열The monetization network name.
mediationNetworkAppsFlyerAdRevenueMediationNetworkTypeThe mediation network enum.
currencyIso4217Code문자열The ad revenue event currency is a String validated against currencyIso4217Code
eventRevenueDoubleThe ad revenue event amount.

AppsFlyerAdRevenueMediationNetworkType

이름유형Comments
ironsource문자열
applovinmax문자열
googleadmob문자열
fyber문자열
appodeal문자열
admost문자열
topon문자열
tradplus문자열
yandex문자열
chartboost문자열
unity문자열
customMediation문자열중재 솔루션이 지원되는 중재 파트너 목록에 없습니다.
directMonetizationNetwork문자열이 앱은 중재 없이 수익화 네트워크와 직접 통합됩니다.

logEvent

Method signature

- (void)logEvent:(NSString *)eventName withValues:(NSDictionary * _Nullable)values;
logEvent(eventName: String, withValues: [AnyHashable : Any]?)

설명
이벤트 파라미터를 사용하여 이벤트를 기록하려면 이 메서드를 사용합니다.

입력 인수

유형이름설명
NSStringeventName사전 정의된 상수에서 제공할 수 있는 이벤트의 이름을 포함합니다.
AnyHashablewithValues백엔드가 처리하는 값 사전입니다

반환
void.

logEvent

Method signature

- (void)logEventWithEventName:(NSString *)eventName
  eventValues:(NSDictionary<NSString * , id> * _Nullable)eventValues
  completionHandler:(void (^ _Nullable)(NSDictionary<NSString *, id> * _Nullable dictionary, NSError * _Nullable error))completionHandler;
logEvent(eventName: String, withValues: [AnyHashable : Any]?, completionHandler:(([String : Any]?, Error?) -> Void)?)

설명
이 메서드를 사용하여 이벤트 파라미터로 이벤트를 기록하고 완료 핸들러를 전달하여 이벤트 제출 성공 및 실패를 처리합니다.

입력 인수

유형이름설명
NSStringeventName사전 정의된 상수에서 제공할 수 있는 이벤트의 이름을 포함합니다.
AnyHashablewithValues백엔드가 처리하는 값 사전입니다
(^ _Nullable)(NSDictionary<NSString _, id> _ _Nullable dictionary, NSError * _Nullable error))completionHandler

반환
void.

logLocation

Method signature

- (void)logLocation:(double)longitude latitude:(double)latitude;
logLocation(longitude: Double, latitude: Double)

설명
지오펜싱을 위해 위치를 기록합니다. 아래 코드와 동일한 작업을 합니다.

입력 인수

유형이름설명
Doublelongitude위치의 경도
Doublelatitude위치의 위도

반환
void.

performOnAppAttribution

Method signature

- (void)performOnAppAttributionWithURL:(NSURL * _Nullable)URL;
performOnAppAttribution(with:URL?)

설명
수동적으로 다음 Delegate를 트리거하는 데 사용됩니다: onAppOpenAttribution delegate.

입력 인수

유형이름설명
NSURLURL-[AppsFlyerLibDelegate onAppOpenAttribution:]으로 해석되는 파라미터

반환
void.

registerUninstall

Method signature

- (void)registerUninstall:(NSData * _Nullable)deviceToken;
registerUninstall(deviceToken: Data?)

설명
앱 삭제 등록 - 원격 알림을 등록하고 앱스프라이어에게 푸시 기기 토큰을 제공해야 합니다.

입력 인수

유형이름설명
NSDatadeviceTokenThe deviceToken 는 다음 사이트에서 얻을 수 있습니다. didRegisterForRemoteNotificationsWithDeviceToken.

반환
void.

setConsentData

Method signature

.setConsentData(afConsent: AppsFlyerConsent)
- (void)setConsentData:(AppsFlyerConsent) afConsent

설명

Transfers consent data to the SDK.

입력 인수

유형이름설명
AppsFlyerConsentafConsentAn object containing user consent data

setCurrentDeviceLanguage

Method signature

- (void)setCurrentDeviceLanguage:(NSString *)currentDeviceLanguage

설명
이 방법을 사용하여 SDK에서 기기 언어를 설정하고 앱스플라이어에 전달합니다.

입력 인수

유형이름설명
NSStringcurrentDeviceLanguage현재 장치 언어.

사용법 예시

NSString *language = [[NSLocale preferredLanguages] objectAtIndex:0]
    [[AppsFlyerLib shared] setCurrentDeviceLanguage: @language];
let language = NSLocale.current.languageCode
AppsFlyerLib.shared().currentDeviceLanguage = language

setHost

Method signature

(void)setHost:(NSString *)host withHostPrefix:(NSString *)hostPrefix;
setHost(host: String, withHostPrefix: String)

설명
이 속성은 모든 엔드포인트의 호스트 이름과 접두사 호스트 이름을 설정합니다.

참고: SDK V6.11부터는 호스트 값이 비어 있거나 널(null)인 경우 API 호출이 무시됩니다.

입력 인수

유형이름설명
NSStringhost호스트 이름입니다.
NSStringwithHostPrefix필수. 호스트 접두사입니다.

반환
void.

사용법 예시

[[AppsFlyerLib shared] setHost:@"example.com" withHostPrefix:@"my_host_prefix"];
AppsFlyerLib.shared().setHost("example.com", withHostPrefix: "my_host_prefix")

setPartnerData

Method signature

- (void)setPartnerDataWithPartnerId:(NSString * _Nullable)partnerId partnerInfo:(NSDictionary<NSString *, id> * _Nullable)partnerInfo;
setPartnerData(partnerId: String?, partnerInfo: [String : Any]?)

설명
파트너 연동 용도로 사용자정의 데이터를 전송할 수 있도록 합니다.

입력 인수

유형이름설명
NSStringpartnerId파트너 ID (보통 다음을 포함: _int 접미사 포함)
NSDictionary<NSString _, id> _ _NullablepartnerInfo고객 데이터입니다. 특정 파트너와의 연동 속성에 따라 달라집니다.

반환
void.

사용법 예시

NSDictionary *partnerInfo = @{
 @"puid": @"123456789",
};

[[AppsFlyerLib shared] setPartnerDataWithPartnerId: @"test_int" partnerInfo:partnerInfo];
let partnerInfo = [
  "puid":"123456789",
]

AppsFlyerLib.shared().setPartnerData(partnerId:"test_int", partnerInfo:partnerInfo)

setSharingFilterForPartners

V6.4에 추가됨
Method signature

- (void)setSharingFilterForPartners:(NSArray<NSString *> * _Nullable)sharingFilter;

This function replaces the deprecated setSharingFilterForAllPartners

설명
SDK가 데이터 공유에서 제외해야 하는 파트너를 설정할 수 있습니다.

입력 인수

유형이름설명
NSArray<NSString _> _ _NullablesharingFilter제외하려는 하나 이상의 파트너 식별자입니다. 문자/숫자 및 밑줄만 포함해야 합니다.

최대 파트너 ID 길이: 45

일러두기:
Make sure to use the exact partner ID (PID). Failing to do so may result in privacy-preservation breaches.
To find out the required partner IDs:

  1. 모든 활성 연동 목록에 대해 활성 연동 API 가져오기를 실행합니다.
  2. 메서드(from)를 media_source_name API 응답의 값을 메서드 partners 배열의 입력 값으로 사용합니다.

예외:

  • Apple Search Ads의 경우 Apple Search Ads 사용(및 다음을 사용하지 않음: iossearchads_int).
  • For Twitter, use twitter 사용(및 다음을 사용하지 않음: twitter_int)

사용법 예시

[[AppsFlyerLib shared] setSharingFilterForPartners:@[@"examplePartner1_int"]]; // 1 partner
[[AppsFlyerLib shared] setSharingFilterForPartners:@[@"examplePartner1_int", @"examplePartner2_int"]]; // multiple partners
[[AppsFlyerLib shared] setSharingFilterForPartners:@[@"all"]]; // All partners
[[AppsFlyerLib shared] setSharingFilterForPartners:nil]; // Reset list (default)
AppsFlyerLib.shared().setSharingFilterForPartners(["examplePartner1_int"]) // 1 partner
AppsFlyerLib.shared().setSharingFilterForPartners(["examplePartner2_int", "examplePartner1_int"]) // multiple partners
AppsFlyerLib.shared().setSharingFilterForPartners(["all"]) // All partners
AppsFlyerLib.shared().setSharingFilterForPartners(nil) // Reset list (default)

setSharingFilterForAllPartners

V6.4에서 사용 중단
Method signature

- (void)setSharingFilterForAllPartners;
setSharingFilterForAllPartners()

This function is deprecated and has been replaced by setSharingFilterForPartners

설명
Block an event from being shared with integrated partners.

입력 인수
이 메서드는 입력 인수를 사용하지 않습니다.

반환
void

setUserEmails

Method signature

- (void)setUserEmails:(NSArray<NSString *> * _Nullable)userEmails withCryptType:(EmailCryptType)type;
setUserEmails(userEmails: [String]?, with: EmailCryptType)

설명
Use this to set the user email(s).
Note: MD-5 and SHA-1 encryption types are deprecated starting with SDK V6.9.0. Currently, only SHA-256 and NONE are supported.

입력 인수

유형이름설명
NSArray<NSString *>userEmails이메일 배열입니다.
EmailCryptTypetype암호화 유형입니다.

반환
void.

shared

Method signature

(AppsFlyerLib *)shared;

설명
필요한 경우 AppsFlyerLib 클래스의 싱글톤 인스턴스를 가져와 만듭니다.

사용법 예시

AppsFlyerLib.shared()

start

Method signature

- (void)start;
(void) start()

설명
SDK를 시작합니다.

입력 인수
이 메서드는 입력 인수를 사용하지 않습니다.

반환
void.

start

Method signature

- (void)startWithCompletionHandler:(void (^ _Nullable)(NSDictionary<NSString *, id> * _Nullable dictionary, NSError * _Nullable error))completionHandler;
start(completionHandler: (([String : Any]?, Error?) -> Void)?)

설명
완료 핸들러를 사용하여 SDK를 시작합니다.

입력 인수

유형이름설명
void (^ _Nullable)(NSDictionary<NSString _, id> _ _Nullable dictionary, NSError * _Nullable error)completionHandler

반환
void.

validateAndLogInAppPurchase

(Supported from SDK v.6.14.1)

Method signature

typedef void (^AFSDKValidateAndLogCompletion)(AFSDKValidateAndLogResult * _Nullable result);
- (void)validateAndLogInAppPurchase:(AFSDKPurchaseDetails *)details
                   extraEventValues:(NSDictionary * _Nullable)extraEventValues
                  completionHandler:(AFSDKValidateAndLogCompletion)completionHandler NS_AVAILABLE(10_7, 7_0);

설명

The method validates a purchase event with the store and if the validation is successful, the SDK sends an af_purchase event to AppsFlyer.

See detailed instructions in Validate and log in-app purchase.

입력 파라미터

이름유형설명
details*'AFSDKPurchaseDetails'*An object that encapsulates all data related to the purchase provided to the validateAndLogInAppPurchase method.
extraEventValuesNSDictionary * _NullableAn optional dictionary containing additional parameters to log with the purchase event.
completionHandler*AFSDKValidateAndLogCompletionA completion handler block that is called with the result of the purchase validation and logging.

반환
void.

AFSDKPurchaseDetails

An object that encapsulates all data related to the purchase provided to the validateAndLogInAppPurchase 호출합니다.

AFSDKPurchaseDetails parameters

이름유형설명
productId문자열The product identifier for the purchase.
price문자열The price of the product.
currency문자열The currency used for the billing operation.
transactionId문자열A specific identifier for the transaction.

validateAndLogInAppPurchase (LEGACY)

(Supported until SDK v.6.14.0)

Method signature

- (void)validateAndLogInAppPurchase:(id)productIdentifier
price:(id)price
 currency:(id)currency
transactionId:(id)transactionId
additionalParameters:(id)params
success:(void (^_Nullable)(int *))successBlock
failure:
(void (^_Nullable)(int *_Nullable,
 id _Nullable))failedBlock;
validateAndLog(inAppPurchase: String?, price: String?, currency: String?, transactionId: String?, additionalParameters: [AnyHashable : Any]?, success: ([AnyHashable : Any]) -> Void)?, failure: ((Error?, Any?) -> Void)?)

설명
인앱 구매를 기록하고 검증하려면 다음에 있는 [completeTransaction] 메서드에서 이 메서드를 호출할 수 있습니다: SKPaymentTransactionObserver.

입력 인수

유형이름설명
NSStringproductIdentifierinAppPurchase Swift에 있는 것입니다.
NSStringprice
NSStringcurrency
NSStringtransactionId
NSDictionaryadditionalParameters
void (^_Nullable)(int *))successBlocksuccessBlock로깅 및 유효성 검증이 성공적인 경우 완료 핸들러입니다.
void (^_Nullable)(int *_Nullable, id _Nullable))failedBlock로깅 및 유효성 검증이 실패하는 경우의 완료 핸들러입니다.

반환
void.

waitForATTUserAuthorization

Method signature

- (void)waitForATTUserAuthorizationWithTimeoutInterval:(id)timeoutInterval;
waitForATTUserAuthorization(timeoutInterval:)

설명
앱 관련 데이터에 액세스하는 데 필요한 사용자 권한 요청을 기다립니다.

입력 인수

유형이름설명
NSIntegertimeoutInterval

사용법 예시

if (@available(iOS 14, *)) {
        [[AppsFlyerLib shared] waitForATTUserAuthorizationWithTimeoutInterval:60];
        [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status){
        }];
    }
if #available(iOS 14, *) {
            AppsFlyerLib.shared().waitForATTUserAuthorization(withTimeoutInterval: 60)
            ATTrackingManager.requestTrackingAuthorization { (status) in
            }
        }

반환
void.