개요

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

To import 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

설명
AppsFlyer SDK collect Apple's advertisingIdentifier if the AdSupport.framework included in the SDK.
You can disable this behavior by setting the 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

속성 선언

@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;

설명
If AdSupport.framework isn't disabled, the SDK collects the Apple advertisingIdentifier.
You can disable this behavior by setting the following property to YES.

유형이름
NSStringadvertisingIdentifier

disableAppleAdsAttribution

속성 선언

@property(nonatomic) BOOL disableAppleAdsAttribution

설명

유형이름
booldisableAppleAdsAttribution

disableCollectASA

속성 선언

@property(atomic) BOOL disableCollectASA;

설명
Apple Search Ads 어트리뷰션에서 옵트아웃합니다.

유형이름
booldisableCollectASA

disableIDFVCollection

속성 선언

@property(nonatomic) BOOL disableIDFVCollection;

설명
To disable app vendor identifier (IDFV) collection, set 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를 사용하십시오.

To use default SDK endpoint – set value to 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 액티비티를 종료하는 API입니다. 이렇게 하면 SDK의 모든 요청이 비활성화됩니다.

유형이름
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)합니다. 어떤 업체는 자신의 클릭 기록 도메인을 직접 설정하도록 허용하기도 합니다. 만약 원링크가 이런 도메인들에서 래핑된다면, 원링크의 기능이 제한될 수 있습니다.

To overcome this issue, use setResolveDeepLinkURLs to get the OneLink from click domains that launch the app. Make sure to call this API before SDK initialization.

예를 들어, 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])

설명
Matches URLs that contain contains as a substring and appends query parameters to them. In case the URL does not match, parameters are not appended to it.

입력 인수

유형이름설명
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)?)

설명
Allow AppsFlyer to handle restoration from an `NSUserActivity. Use this method to handle Universal links.

입력 인수

유형이름설명
NSUserActivityuserActivityThe NSUserActivity that was passed to your 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.

getAppsFlyerUID

Method signature

- (NSString *)getAppsFlyerUID;
getAppsFlyerUID()

설명
이 메서드는 앱스플라이어의 내부 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]?)

설명
Call this method from inside of your 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 from received remote notification. Unless addPushNotificationDeepLinkPath is used, the data must be under the @“af” key.

반환
void.

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;
performOnAppAttributionWithURL(with:URL?)

설명
Used to manually trigger onAppOpenAttribution delegate.

입력 인수

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

반환
void.

registerUninstall

Method signature

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

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

입력 인수

유형이름설명
NSDatadeviceTokenThe deviceToken is from didRegisterForRemoteNotificationsWithDeviceToken.

반환
void.

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)

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

입력 인수

유형이름설명
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]?)

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

입력 인수

유형이름설명
NSStringpartnerIdID of the partner (usually has _int suffix)
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;

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

입력 인수

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

최대 파트너 ID 길이: 45

사용법 예시

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

설명
Block an event from being shared with integrated partners. This method overwrites -[setSharingFilter](#setsharingfilter).

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

반환
void

setUserEmails

Method signature

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

설명
이를 사용하여 사용자 이메일을 설정합니다.

입력 인수

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

반환
void.

shared

Method signature

(AppsFlyerLib *)shared;

설명
Gets the singleton instance of the AppsFlyerLib class, creating it if necessary.

사용법 예시

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.

validateAndLog

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

설명
To log and validate in-app purchases you can call this method from the [completeTransaction] method in your 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.