設定メソッド

iOS ライブラリが提供するメソッドの一覧を以下に示します。

SDK は現在、Analytics、Target、Audience Manager、Adobe Experience Platform ID サービスなど、複数の Adobe Experience Cloud ソリューションをサポートしています。

  • setAppExtensionType

    現在実行中の拡張機能の種類を特定するために、Adobe モバイル SDK の設定をおこないます。

    次のいずれかの値に設定します。

    • ADBMobileAppExtensionTypeRegular:エクステンションは本体アプリにバンドルされています。
    • ADBMobileAppExtensionTypeStandAlone:エクステンションは本体アプリにバンドルされていません。
    ヒント

    このメソッドは、アプリにエクステンションがあるか、アプリがスタンドアロンエクステンションの場合に​のみ​使用してください。詳しくは、以下の ADBMobileAppExtensionType を参照してください。

    • このメソッドの構文を次に示します。

      + (void) setAppExtensionType:(ADBMobileAppExtensionType)type;
      
    • このメソッドのコードサンプルを次に示します。

      [ADBMobile setAppExtensionType:ADBMobileAppExtensionTypeStandAlone]; 
      
  • version

    Adobe Mobile ライブラリの現在のバージョンを返します。

    • このメソッドの構文を次に示します。

      +(NSString*) version;
      
    • このメソッドのコードサンプルを次に示します。

      NSString*libraryVersion = [ADBMobileversion];
      
  • privacyStatus

    現在のユーザーのプライバシーステータスの enum 表現を返します。

    • ADBMobilePrivacyStatusOptIn:ヒットは即座に送信されます。

    • ADBMobilePrivacyStatusOptOut:ヒットは破棄されます。

    • ADBMobilePrivacyStatusUnknown:オフライン追跡が有効になっている場合、プライバシーステータスがオプトイン(ヒットが送信される)またはオプトアウト(ヒットが破棄される)に変更されるまで、ヒットは保存されます。オフライン追跡が有効になっていない場合、プライバシーステータスがオプトインに変更されるまで、ヒットは破棄されます。デフォルト値は ADBMobileConfig.json ファイルに設定します。

    • このメソッドの構文を次に示します。

      + (ADBMobilePrivacyStatus) privacyStatus;
      
    • このメソッドのコードサンプルを次に示します。

      ADBMobilePrivacyStatus privacyStatus = [ADBMobileprivacyStatus];
      
  • setPrivacyStatus

    現在のユーザーのプライバシーステータスを status に設定します。

    次のいずれかの値に設定します。

    • ADBMobilePrivacyStatusOptIn:ヒットは即座に送信されます。

    • ADBMobilePrivacyStatusOptOut:ヒットは破棄されます。

    • ADBMobilePrivacyStatusUnknown:オフライン追跡が有効になっている場合、プライバシーステータスがオプトイン(ヒットが送信される)またはオプトアウト(ヒットが破棄される)に変更されるまで、ヒットは保存されます。オフライン追跡が有効になっていない場合、プライバシーステータスがオプトインに変更されるまで、ヒットは破棄されます。

    • このメソッドの構文を次に示します。

      + (void) setPrivacyStatus:(ADBMobilePrivacyStatus)status;
      
    • このメソッドのコードサンプルを次に示します。

      [ADBMobile setPrivacyStatus:ADBMobilePrivacyStatusOptIn];
      
  • lifetimeValue

    現在のユーザーのライフタイム値を返します。デフォルト値は 0 です。

    • このメソッドの構文を次に示します。

      + (NSDecimalNumber *) lifetimeValue;
      
    • このメソッドのコードサンプルを次に示します。

      NSDecimalNumber *lifeValue = [ADBMobile lifetimeValue];
      
  • trackingIdentifier

    自動的に生成された訪問者識別子を返します。これは、Adobe のサーバーによって生成される、アプリ固有の一意の訪問者 ID です。生成時に Adobe のサーバーに到達できない場合、Apple の CFUUID を使用して ID が生成されます。この値は、初回起動時に生成され、その時点から保存および使用されます。この ID は、アプリがアップグレードされても保持され、標準のアプリケーションバックアッププロセス中に保存および復元され、アンインストール時には削除されます。

    ヒント

    アプリを Experience Cloud 3.x から 4.x SDK にアップグレードした場合、以前のカスタムまたは自動生成された訪問者 ID が取得され、カスタムユーザー識別子として保存されます。詳しくは、以下の userIdentifier 行を参照してください。これによって、SDK をアップグレードしても訪問者データが保持されます。4.x SDK を新規インストールした場合、ユーザー識別子は nil なので、トラッキング識別子が使用されます。

    • このメソッドの構文を次に示します。

      + (NSString *) trackingIdentifier;
      
    • このメソッドのコードサンプルを次に示します。

      NSString *tid = [ADBMobile trackingIdentifier];
      
  • userIdentifier

    カスタムの識別子が設定されている場合は、ユーザーの識別子が返されます。カスタムの識別子が設定されていない場合は、nil が返されます。デフォルト値は nil です。

    ヒント

    アプリを Experience Cloud 3.x から 4.x SDK にアップグレードした場合、以前のカスタムまたは自動生成された訪問者 ID が取得され、カスタムユーザー識別子として保存されます。これにより、SDK をアップグレードしても訪問者データは保存されます。

    4.x SDK での新規インストールの場合、ユーザー識別子は設定されるまで nil です。

    • このメソッドの構文を次に示します。

      +(NSString *) userIdentifier;
      
    • このメソッドのコードサンプルを次に示します。

      NSString *uid = [ADBMobileuserIdentifier];
      
  • setUserIdentifier

    ユーザー識別子を identifier に設定します。

    • このメソッドの構文を次に示します。

      +(void)setUserIdentifier:(NSString*)identifier;
      
    • このメソッドのコードサンプルを次に示します。

      [ADBMobile setUserIdentifier:@"billybob"]; 
      
  • debugLogging

    現在のデバッグログの環境設定を返します。デフォルト値は NO です。

    • このメソッドの構文を次に示します。

      + (BOOL) debugLogging;
      
    • このメソッドのコードサンプルを次に示します。

      BOOL debugging = [ADBMobile debugLogging];
      
  • setDebugLogging

    デバッグログの環境設定を debug に設定します。

    • このメソッドの構文を次に示します。

      + (void) setDebugLogging:(BOOL)debug;
      
    • このメソッドのコードサンプルを次に示します。

      [ADBMobile setDebugLogging:YES];
      
  • keepLifecycleSessionAlive

    設定ファイル内のライフサイクルセッションのタイムアウト値にかかわらず、バックグラウンドから次に戻ったときに新しいセッションを開始しないように SDK に指示します。

    ヒント

    このメソッドは、バックグラウンドにある間に通知を登録するアプリで使用されることを目的としており、アプリがバックグラウンドにある間に実行されるコードからのみ呼び出される必要があります。

    • このメソッドの構文を次に示します。

      + (void) keepLifecycleSessionAlive;
      
    • このメソッドのコードサンプルを次に示します。

      [ADBMobile keepLifecycleSessionAlive]; 
      
  • collectLifecycleData

    SDK のすべてのソリューションで使用するライフサイクルデータを収集するように SDK に指示します。詳しくは、「ライフサイクル指標」を参照してください。

    ヒント

    このメソッドを呼び出すのに望ましい場所は、application:didFinishLaunchingWithOptions: 内です。

    • このメソッドの構文を次に示します。

      + (void) collectLifecycleData;
      
    • このメソッドのコードサンプルを次に示します。

      [ADBMobile collectLifecycleData];
      
  • collectLifecycleDataWithAdditionalData:

    ライフサイクル指標収集時に追加データとして渡すことができます。

    このメソッドは、アプリのエントリポイントから呼び出す必要があります。該当する場合、application:didFinishLaunchingWithOptions: メソッドと applicationWillEnterForeground: メソッドのどちらかまたは両方を AppDelegate クラスに含めることができます。

    重要

    collectLifecycleDataWithAdditionalData: を使用して SDK に渡されたデータは、SDK によって NSUserDefaults に保持されます。SDK は、NSDictionary 型または NSString 型ではない NSNumber パラメーターの値を削除します。collectLifecycleDataWithAdditionalData: を使用するには、SDK バージョン 4.4 以降が必要です。

    • このメソッドの構文を次に示します。

      + (void) collectLifecycleDataWithAdditionalData:(nullableNSDictionary*)data; 
      
    • このメソッドのコードサンプルを次に示します。

      [ADBMobile collectLifecycleDataWithAdditionalData:@{@"entryType":@"appShortcutIcon"}]; 
      
  • pauseCollectingLifecycleData

    この API を使用して、ライフサイクルデータの収集を一時停止します。詳しくは、「ライフサイクル指標」を参照してください。

    重要

    applicationDidEnterBackground delegate メソッドでは、まず pauseCollectingLifecycleData メソッドを呼び出す必要があります。

    この API は、セッション長指標が異常となった iOS 13 を搭載した、iPhone 7/7s 以前のデバイスでの問題を軽減するために提供されています。これは、iOS 13 で発生した不明な変更が原因です。iOS では、アプリケーションをバックグラウンドで実行する際、バックグラウンドタスクを完了するのに十分な時間が残りません。

    • このメソッドの構文を次に示します。

      + (void) pauseCollectingLifecycleData;
      
    • このメソッドのコードサンプルを次に示します。

      - (void)applicationDidEnterBackground:(UIApplication *)application{
          // manually stop the lifecycle of SDK
          // important: do NOT call any track state or track action after this line
          [ADBMobile pauseCollectingLifecycleData];   
      
      
          // the following code is optional, may help to mitigate the issue a bit more. If you have other logic to run here that probably takes more than 10ms, then there is no need to add this line of code.
          [NSThread sleepForTimeInterval:0.01];
      
      
          // app's code to handle applicationDidEnterBackground
      }
      
  • overrideConfigPath

    アプリケーションの起動時に、別の ADBMobile JSON 設定ファイルを読み込むことができます。アプリケーションが閉じられるまで、この設定が使用されます。

    重要

    overrideConfigPath を使用するには、SDK バージョン 4.2 以降が必要です。

    • このメソッドの構文を次に示します。

       + (void) overrideConfigPath: (nullableNSString *) path;
      
    • このメソッドのコードサンプルを次に示します。

      NSString *filePath = [[NSBundle mainBundle] pathForResource:@"ExampleJSONFile" ofType:@"json"]; 
      [ADBMobile overrideConfigPath:filePath];
      
  • setPushIdentifier

    プッシュ通知用のデバイストークンを設定します。

    重要

    このメソッドは、application:didRegisterForRemoteNotificationsWithDeviceToken:メソッド内でのみ使用する必要があります。

    • このメソッドの構文を次に示します。

      + (void) setPushIdentifier:(NSData *)deviceToken;
      
    • このメソッドのコードサンプルを次に示します。

      - (void) application:(UIApplication *) application  didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { 
      [ADBMobile setPushIdentifier:deviceToken];  
      }
      
  • setAdvertisingIdentifier

    IDFA を SDK に設定します。IDFA が SDK で設定されている場合、IDFA はライフサイクル内に送信されます。IDFA にはシグナル(ポストバック)でもアクセスできます。

    ヒント

    広告サービスを使用している場合に​のみ、Apple API から IDFA を取得してください。IDFA を取得し、正しく使用していない場合は、アプリが拒否されることがあります。

    アプリケーションで IDFA が必要な場合は、広告トラッキングに関するユーザーの環境設定の照会と IDFA 値の取得に関して Apple のドキュメントを参照してください。

    iOS 14 以降では、IDFA 値を正しく取得するために、新しく App Tracking Transparency フレームワークを実装する必要があります。

    • このメソッドの構文を次に示します。

      +(void) setAdvertisingIdentifier:(NSString*)identifier;
      
    • このメソッドのコードサンプルを次に示します。

      NSString *idfa = // retrieve IDFA using AdSupport (before iOS 14.0) and/or AppTrackingTransparency (iOS 14.0+)
      [ADBMobile setAdvertisingIdentifier:idfa]; 
      

ADBMobileAppExtensionType enum

/** 
 * @brief An enum type. 
 * The possible types of app extension you might use 
 * @see setAppExtensionType 
 */ 
typedef NS_ENUM(NSUInteger, ADBMobileAppExtensionType) { 
    ADBMobileAppExtensionTypeRegular = 0, /*!< Enum value ADBMobileAppExtensionTypeRegular. */ 
    ADBMobileAppExtensionTypeStandAlone = 1 /*!< Enum value ADBMobileAppExtensionTypeStandAlone. */ 
};

このページ

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now