概要

AppsFlyerLib は、AppsFlyer 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

詳細
OneLink設定からOneLink IDを設定します。ユーザー招待でOneLinkを生成する際に使用されます。

タイプ名前
NSStringappInviteOneLinkID

appleAppID

プロパティ宣言

@property(nonatomic, strong) NSString * appleAppID

詳細
このプロパティを使用してアプリのApple ID(iTunes Connectのアプリページから取得)を設定してください。

タイプ名前
NSStringappleAppID

appsFlyerDevKey

プロパティ宣言

@property(nonatomic, strong) NSString * appsFlyerDevKey

詳細
このプロパティを使用してAppsFlyer Devキーを設定してください。

タイプ名前詳細
NSStringappsFlyerDevKeyAppsFlyer Devキー。

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をAppsFlyerのユニークIDやその他のデバイスIDと照合することができます。

タイプ名前
NSStringcustomerUserID

deepLinkDelegate

プロパティ宣言

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

詳細
DeepLinkDelegate プロトコルに準拠し、そのメソッドを実装するオブジェクトのDelegateプロパティです。

タイプ名前
DeepLinkDelegatedeepLinkDelegate

使用例:

AppsFlyerLib.shared().deepLinkDelegate = self

deepLinkTimeout

詳細
Deferred Deeplinking のタイムアウトリクエスト。

ミリ秒単位。

プロパティ宣言

@property(nonatomic) NSUInteger deepLinkTimeout
タイプ名前
NSUIntegerdeepLinkTimeout

delegate

詳細
AppsFlyer 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

詳細
This property accepts a string value representing the host name for all endpoints. To set the host, use setHost.

To use default SDK endpoint – set value to nil.

タイプ名前
NSStringhost

hostPrefix (read-only)

プロパティ宣言

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

詳細
This property accepts a string value representing the prefix hostname for all endpoints. To set the host, use setHost.

タイプ名前
NSStringhostPrefix

isDebug

プロパティ宣言

@property(nonatomic) BOOL isDebug;

詳細
SDKメッセージをコンソールログに出力します。本番環境のビルドでは無効にしてください。

タイプ名前
boolisDebug

isStopped

プロパティ宣言

@property(atomic) BOOL isStopped;

詳細
全てのSDKアクティビティを停止するAPIです。これはSDKからの全てのリクエストを無効にします。

タイプ名前
boolisStopped

minTimeBetweenSessions

プロパティ宣言

@property(atomic) NSUInteger minTimeBetweenSessions;

詳細
このセッション計測の最小間隔を任意で設定したい場合には、値を設定してください。

引数の入力

タイプ名前詳細
NSUIntegerminTimeBetweenSessions2つの別々のセッションとしてカウントするために、2つのアプリ起動の間隔を経過する必要がある最小時間を設定します。これが設定されていない場合は、デフォルトのセッション間の最小時間は5秒です。

oneLinkCustomDomains

プロパティ宣言

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

詳細
バニティOneLinkを使用する広告主向けです。

タイプ名前
NSArray<NSString *>oneLinkCustomDomains

phoneNumber

プロパティ宣言

@property(nonatomic, nullable) NSString *phoneNumber

詳細

タイプ名前
NSStringphoneNumber

resolveDeepLinkURLs

プロパティ宣言

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

詳細

タイプ名前
NSArray<NSString *>resolveDeepLinkURLs

使用例:
メールサービスプロバイダー(ESP)などの一部のサードパーティサービスは、独自のクリック計測用ドメインでメール内の計測リンクを変換してしまいます。一方で元々のクリック計測URLを設定できるものもあります。もしもOneLinkがクリック計測用に変換された場合、OneLinkの機能が制限される可能性があります。

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.

たとえば、あなたのOneLink(https://mysubdomain.onelink.me/abCD)にリダイレクトする3つのクリックドメインがあったとします。このAPIを使用してクリックドメインがリダイレクトするOneLinkを取得してください。このAPIメソッドはSDKが解析するドメインの一覧を受信します。

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

これにより、OneLink機能を保ちながらクリックドメインを使用することができるようになります。クリックドメインは、アプリの起動を担います。このAPIは、順番にこれらのクリックドメインからOneLinkを取得し、そのデータを使ってカスタマイズされたユーザーコンテンツへのディープリンクを可能にします。

sharingFilter

プロパティ宣言

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

詳細

タイプ名前
NSArray<NSString *>sharingFilter

shouldCollectDeviceName

プロパティ宣言

@property(nonatomic) BOOL shouldCollectDeviceName;

詳細
現在のデバイス名(例:「My iPhone」)を取得するためには、このフラグをYESに設定してください。

タイプ名前
boolshouldCollectDeviceName

useReceiptValidationSandbox

プロパティ宣言

@property (nonatomic) BOOL useReceiptValidationSandbox;

詳細
iOS(本番環境 or サンドボックス)でのアプリ内課金の検証をします。

タイプ名前
booluseReceiptValidationSandbox

useUninstallSandbox

プロパティ宣言

@property (nonatomic) BOOL useUninstallSandbox;

詳細
iOS(本番環境 or サンドボックス)でのアンインストール計測をテストするには、このフラグを設定してください。

タイプ名前
booluseUninstallSandbox

メソッド

addPushNotificationDeepLinkPath

メソッドのシグネチャ

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

メソッドのシグネチャ

(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

メソッドのシグネチャ

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

返されるコード
void.

enableFacebookDeferderedApplinks

メソッドのシグネチャ

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

詳細
FacebookのDeferred AppLinksの収集を可能にします。

  • Facebook SDKとターゲット/クライアントデバイスにFacebookアプリが必要です。
  • このAPIが正しく機能するためには、AppsFlyer SDKの初期化の前に起動する必要があります。

引数の入力

タイプ名前詳細
FBSDKAppLinkUtilityfacebookAppLinkUtilityClass

返されるコード
void.

getAppsFlyerUID

メソッドのシグネチャ

- (NSString *)getAppsFlyerUID;
getAppsFlyerUID()

詳細
このメソッドはAppsFlyerの内部ID(アプリに固有のもの)を返します。

引数の入力
このメソッドは入力引数を取りません。

返されるコード

タイプ詳細
NSStringAppsFlyerの内部IDです。

getSDKVersion

メソッドのシグネチャ

- (NSString *)getSDKVersion;
getSDKVersion()

詳細
SDKバージョンを取得します。

引数の入力
このメソッドは入力引数を取りません。

返されるコード

タイプ詳細
NSStringAppsFlyer SDKのバージョンです。

handleOpen

メソッドのシグネチャ

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

引数の入力

タイプ名前詳細
NSURLurlアプリのデリゲートに渡されたURLです。
AnyHashableoptionsAppDelegateに渡されたオプションの辞書です。

返されるコード
void.

handlePushNotification

メソッドのシグネチャ

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

詳細
AppsFlyerでプッシュ通知の処理を有効にします。

引数の入力

タイプ名前詳細
AnyHashablepushPayloadThe userInfo from received remote notification. Unless addPushNotificationDeepLinkPath is used, the data must be under the @“af” key.

返されるコード
void.

logEvent

メソッドのシグネチャ

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

詳細
このメソッドはイベントパラメーターを含むイベントをログに記録するために使用します。

引数の入力

タイプ名前詳細
NSStringeventName定義済みの定数から提供されるイベント名を含みます
AnyHashablewithValuesバックエンドが処理する値のディクショナリです

返されるコード
void.

logEvent

メソッドのシグネチャ

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

メソッドのシグネチャ

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

詳細
ジオフェンシングのために位置情報を記録します。以下のコードと同じです。

引数の入力

タイプ名前詳細
Doublelongitude場所の経度
Doublelatitude場所の緯度

返されるコード
void.

performOnAppAttribution

メソッドのシグネチャ

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

詳細
Used to manually trigger onAppOpenAttribution delegate.

引数の入力

タイプ名前詳細
NSURLURL解決するパラメーターは -[AppsFlyerLibDelegate onAppOpenAttribution:] です

返されるコード
void.

registerUninstall

メソッドのシグネチャ

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

詳細
アンインストールの登録 - リモート通知の登録を行い、AppsFlyerにプッシュデバイストークンを提供する必要があります。

引数の入力

タイプ名前詳細
NSDatadeviceTokenThe deviceToken is from didRegisterForRemoteNotificationsWithDeviceToken.

返されるコード
void.

setCurrentDeviceLanguage

メソッドのシグネチャ

- (void)setCurrentDeviceLanguage:(NSString *)currentDeviceLanguage

詳細
このメソッドを使用してSDKでデバイスの言語を設定しAppsFlyerに渡します。

引数の入力

タイプ名前詳細
NSStringcurrentDeviceLanguage現在のデバイスの言語。

使用例:

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

setHost

メソッドのシグネチャ

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

詳細
この関数は、すべてのエンドポイントのホスト名とプレフィックスホスト名を設定します。

引数の入力

タイプ名前詳細
NSStringhostホスト名
NSStringwithHostPrefixRequired. host prefix.

返されるコード
void.

使用例:

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

setPartnerData

メソッドのシグネチャ

- (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で追加
メソッドのシグネチャ

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

詳細
SDKがどのパートナーをデータ共有から除外するかを設定することができます。

引数の入力

タイプ名前詳細
NSArray<NSString _> _ _NullablesharingFilter除外したい1つまたは複数のパートナーの識別子。アルファベット/数字、およびアンダースコアのみを使用してください。

パートナー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で非推奨
メソッドのシグネチャ

- (void)setSharingFilterForAllPartners;
setSharingFilterForAllPartners()

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

引数の入力
このメソッドは入力引数を取りません。

返されるコード
void

setUserEmails

メソッドのシグネチャ

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

詳細
ユーザーのEメールを設定する場合に使用します。

引数の入力

タイプ名前詳細
NSArray<NSString *>userEmailsEメールの配列。
EmailCryptTypetype暗号化タイプ。

返されるコード
void.

shared

メソッドのシグネチャ

(AppsFlyerLib *)shared;

詳細
Gets the singleton instance of the AppsFlyerLib class, creating it if necessary.

使用例:

AppsFlyerLib.shared()

start

メソッドのシグネチャ

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

詳細
SDKを開始します。

引数の入力
このメソッドは入力引数を取りません。

返されるコード
void.

start

メソッドのシグネチャ

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

メソッドのシグネチャ

- (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 in Swift
NSStringprice
NSStringcurrency
NSStringtransactionId
NSDictionaryadditionalParameters
void (^_Nullable)(int *))successBlocksuccessBlockログと検証が成功した場合の完了ハンドラ。
void (^_Nullable)(int *_Nullable, id _Nullable))failedBlockログと検証が失敗した場合の完了ハンドラ。

返されるコード
void.

waitForATTUserAuthorization

メソッドのシグネチャ

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