概要

AppsFlyerLib は、AppsFlyer iOS SDKのメインクラスで、ほどんとのメソッドをカプセル化しています。

AppsFlyerLib をインポートする方法:

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

@interface AppDelegate : UIResponder <UIApplicationDelegate, AppsFlyerLibDelegate>

@end
import AppsFlyerLib

SDK参照インデックスに戻る。

プロパティ

advertisingIdentifier

プロパティ宣言

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

詳細
AppsFlyer SDK は、AdSupport.framework がSDKに含まれている場合、Appleの advertisingIdentifier を収集します。
この動作を無効にするには、disableAdvertisingIdentifiertrue に設定してください。

タイプ

名前

NSString

advertisingIdentifier

anonymizeUser

プロパティ宣言

@property(atomic) BOOL anonymizeUser;

詳細
特定のユーザーに対するログのオプトアウト

タイプ

名前

bool

anonymizeUser

appInviteOneLinkID

プロパティ宣言

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

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

タイプ

名前

NSString

appInviteOneLinkID

appleAppID

プロパティ宣言

@property(nonatomic, strong) NSString * appleAppID

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

タイプ

名前

NSString

appleAppID

appsFlyerDevKey

プロパティ宣言

@property(nonatomic, strong) NSString * appsFlyerDevKey

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

タイプ

名前

詳細

NSString

appsFlyerDevKey

AppsFlyer 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

詳細
イベントのペイロードにカスタマーデータを追加するために使用します。ローデータレポートで受信します。

タイプ

名前

NSDictionary

customData

customerUserID

プロパティ宣言

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

詳細
アプリ内で独自のユーザーIDを使用している場合、このプロパティにそのIDを設定することができます。
独自のユニークIDをAppsFlyerのユニークIDやその他のデバイスIDと照合することができます。

タイプ

名前

NSString

customerUserID

deepLinkDelegate

プロパティ宣言

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

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

タイプ

名前

DeepLinkDelegate

deepLinkDelegate

使用例:

AppsFlyerLib.shared().deepLinkDelegate = self

deepLinkTimeout

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

プロパティ宣言

@property(nonatomic) NSUInteger deepLinkTimeout

タイプ

名前

NSUInteger

deepLinkTimeout

delegate

詳細
AppsFlyer delegate。AppsFlyerLibDelegateをご覧ください。
プロパティ宣言

@property (nonatomic, weak) id<AppsFlyerLibDelegate> delegate;

タイプ

名前

AppsFlyerLibDelegate

delegate

disableAdvertisingIdentifier

プロパティ宣言

@property (nonatomic) int disableAdvertisingIdentifier;

詳細
AdSupport.framework が無効になっていない場合、SDKはAppleの advertisingIdentifier を収集します。
この動作はを無効にするには、次のプロパティを YES に設定してください。

タイプ

名前

NSString

advertisingIdentifier

disableAppleAdsAttribution

プロパティ宣言

@property(nonatomic) BOOL disableAppleAdsAttribution

詳細

タイプ

名前

bool

disableAppleAdsAttribution

disableCollectASA

プロパティ宣言

@property(atomic) BOOL disableCollectASA;

詳細
Apple Search Adsの計測を無効化します。

タイプ

名前

bool

disableCollectASA

disableIDFVCollection

プロパティ宣言

@property(nonatomic) BOOL disableIDFVCollection;

詳細
アプリのベンダー識別子 (IDFV) の収集を無効にするには、disableIDFVCollectionYES に設定してください。

タイプ

名前

bool

disableIDFVCollection

disableSKAdNetwork

プロパティ宣言

@property(nonatomic) BOOL disableSKAdNetwork

詳細

タイプ

名前

bool

disableSKAdNetwork

facebookDeferredAppLink

プロパティ宣言

@property (nonatomic, nullable) int *facebookDeferredAppLink;

詳細
Facebookのディファードアプリリンクを手動で設定します。

タイプ

名前

NSString

advertisingIdentifier

host

プロパティ宣言

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

詳細
このプロパティは、全てのエンドポイントのホスト名を表す文字列値を受け入れます。
アプリケーションのデータ使用量をゼロにするために使用できます。詳細については、CSMにお問合せください。

デフォルトのSDKエンドポイントを使用するには、値を nil に設定してください。

タイプ

名前

NSString

host

使用例:

[[AppsFlyerLib shared] setHost:@"example.com"];
AppsFlyerLib.shared().host = "example.com"

hostPrefix

プロパティ宣言

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

詳細
このプロパティは、全てのエンドポイントのプレフィックスホスト名を表す文字列値を受け入れます。

タイプ

名前

NSString

hostPrefix

isDebug

プロパティ宣言

@property(nonatomic) BOOL isDebug;

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

タイプ

名前

bool

isDebug

isStopped

プロパティ宣言

@property(atomic) BOOL isStopped;

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

タイプ

名前

bool

isStopped

minTimeBetweenSessions

プロパティ宣言

@property(atomic) NSUInteger minTimeBetweenSessions;

詳細
このプロパティはセッション間のタイムアウトを秒単位で指定します。

タイプ

名前

NSUInteger

minTimeBetweenSessions

oneLinkCustomDomains

プロパティ宣言

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

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

タイプ

名前

NSArray<NSString *>

oneLinkCustomDomains

phoneNumber

プロパティ宣言

@property(nonatomic, nullable) NSString *phoneNumber

詳細

タイプ

名前

NSString

phoneNumber

resolveDeepLinkURLs

プロパティ宣言

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

詳細

タイプ

名前

NSArray<NSString *>

resolveDeepLinkURLs

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

この問題を解決するために、setResolveDeepLinkURLs を使用してアプリを起動したクリックドメインからOneLinkを取得してください。このAPIはSDK初期化よりも前に必ず呼び出してください。

たとえば、あなたの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に設定してください。

タイプ

名前

bool

shouldCollectDeviceName

useReceiptValidationSandbox

プロパティ宣言

@property (nonatomic) BOOL useReceiptValidationSandbox;

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

タイプ

名前

bool

useReceiptValidationSandbox

useUninstallSandbox

プロパティ宣言

@property (nonatomic) BOOL useUninstallSandbox;

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

タイプ

名前

bool

useUninstallSandbox

メソッド

addPushNotificationDeepLinkPath

メソッドのシグネチャ

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

詳細
キーの配列を追加します。これは、プッシュ通知のペイロードからディープリンクを解決するためのキーパスを構成するために使用されます。

引数の入力

タイプ

名前

NSArray<NSString *>

deepLinkPath

返されるコード
void.

appendParametersToDeepLinkingURL

メソッドのシグネチャ

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

詳細
contains を部分文字列として含むURLに一致し、クエリパラメーターを追加します。URLが一致しない場合、パラメータ―は追加されません。

引数の入力

タイプ

名前

詳細

NSString

contains

URLで確認すべき文字列です。

NSDictionary

parameters

検証に合格した後、ディープリンクURLに追加するパラメータです。

返されるコード
void.

continue

メソッドのシグネチャ

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

詳細
AppsFlyerが `NSUserActivity からの復元を処理できるようにします。この方法を使用してユニバーサルリンクを処理してください。

引数の入力

タイプ

名前

詳細

NSUserActivity

userActivity

アプリのデリゲートに渡された NSUserActivity です。

void (^_Nullable)(int *_Nullable)

restorationHandler

pass nil

返されるコード
void.

enableFacebookDeferderedApplinks

メソッドのシグネチャ

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

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

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

引数の入力

タイプ

名前

詳細

FBSDKAppLinkUtility

facebookAppLinkUtilityClass

返されるコード
void.

getAppsFlyerUID

メソッドのシグネチャ

- (NSString *)getAppsFlyerUID;
getAppsFlyerUID()

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

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

返されるコード

タイプ

詳細

NSString

AppsFlyerの内部IDです。

getSDKVersion

メソッドのシグネチャ

- (NSString *)getSDKVersion;
getSDKVersion()

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

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

返されるコード

タイプ

詳細

NSString

AppsFlyer SDKのバージョンです。

handleOpen

メソッドのシグネチャ

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

詳細
AppDelegate openURL メソッドの中からこのメソッドを呼び出してください。
このメソッドはiOS9以上のURIスキームを扱います。

引数の入力

タイプ

名前

詳細

NSURL

url

アプリのデリゲートに渡されたURLです。

AnyHashable

options

AppDelegateに渡されたオプションの辞書です。

返されるコード
void.

handlePushNotification

メソッドのシグネチャ

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

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

引数の入力

タイプ

名前

詳細

AnyHashable

pushPayload

受信したリモート通知からの userInfo です。addPushNotificationDeepLinkPathを使用しない限り、データは @“af” キーの下にある必要があります。

返されるコード
void.

logEvent

メソッドのシグネチャ

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

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

引数の入力

タイプ

名前

詳細

NSString

eventName

定義済みの定数から提供されるイベント名を含みます

AnyHashable

withValues

バックエンドが処理する値のディクショナリです

返されるコード
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)?)

詳細
このメソッドを使用して、イベントパラメーターを含むイベントのログを記録し、完了ハンドラを渡してイベント送信の成功と失敗を処理します。

引数の入力

タイプ

名前

詳細

NSString

eventName

定義済みの定数から提供されるイベント名を含みます

AnyHashable

withValues

バックエンドが処理する値のディクショナリです

(^ _Nullable)(NSDictionary<NSString *, id> * _Nullable dictionary, NSError * _Nullable error))

completionHandler

返されるコード
void.

logLocation

メソッドのシグネチャ

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

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

引数の入力

タイプ

名前

詳細

Double

longitude

場所の経度

Double

latitude

場所の緯度

返されるコード
void.

performOnAppAttribution

メソッドのシグネチャ

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

詳細
onAppOpenAttribution デリゲートを手動でトリガーするのに使用します。

引数の入力

タイプ

名前

詳細

NSURL

URL

解決するパラメーターは -[AppsFlyerLibDelegate onAppOpenAttribution:] です

返されるコード
void.

registerUninstall

メソッドのシグネチャ

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

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

引数の入力

タイプ

名前

詳細

NSData

deviceToken

deviceTokendidRegisterForRemoteNotificationsWithDeviceToken から取得できます。

返されるコード
void.

setCurrentDeviceLanguage

メソッドのシグネチャ

- (void)setCurrentDeviceLanguage:(NSString *)currentDeviceLanguage

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

引数の入力

タイプ

名前

詳細

NSString

currentDeviceLanguage

現在のデバイスの言語。

使用例:

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

setHost

メソッドのシグネチャ

- (void)setHost:(id)host withHostPrefix:(id)hostPrefix;
setHost(host: String, withHostPrefix: String)

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

引数の入力

タイプ

名前

詳細

NSString

host

ホスト名

NSString

withHostPrefix

ホストプレフィックス

返されるコード
void.

setPartnerData

メソッドのシグネチャ

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

詳細
パートナーとの連携を目的としたカスタムデータの送信を可能にします。

引数の入力

タイプ

名前

詳細

NSString

partnerId

パートナーのID (通常 _int の接尾語をもつ)

NSDictionary<NSString *, id> * _Nullable

partnerInfo

特定のパートナーとの連携に依存する顧客データ

返されるコード
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 *> * _Nullable

sharingFilter

除外したい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()

詳細
連携済みパートナーとのイベントの共有をブロックします。このメソッドは -[setSharingFilter](#setsharingfilter) を上書きします。

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

返されるコード
void

setUserEmails

メソッドのシグネチャ

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

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

引数の入力

タイプ

名前

詳細

NSArray<NSString *>

userEmails

Eメールの配列。

EmailCryptType

type

暗号化タイプ。

返されるコード
void.

shared

メソッドのシグネチャ

(AppsFlyerLib *)shared;

詳細
AppsFlyerLib クラスのシングルトン・インスタンスを取得し、必要に応じてそれを作成します。

使用例:

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

詳細
アプリ内購入をログし検証するためには、 SKPaymentTransactionObserver の [completeTransaction] メソッドからこのメソッドを呼び出すことができます。

引数の入力

タイプ

名前

詳細

NSString

productIdentifier

inAppPurchase in Swift

NSString

price

NSString

currency

NSString

transactionId

NSDictionary

additionalParameters

void (^_Nullable)(int *))successBlock

successBlock

ログと検証が成功した場合の完了ハンドラ。

void (^_Nullable)(int *_Nullable, id _Nullable))

failedBlock

ログと検証が失敗した場合の完了ハンドラ。

返されるコード
void.

waitForATTUserAuthorization

メソッドのシグネチャ

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

詳細
アプリに関連するデータにアクセスするためのユーザー認証要求を待ちます。

引数の入力

タイプ

名前

詳細

NSInteger

timeoutInterval

使用例:

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.


このページは役に立ちましたか?