Adobe Analytics の追加

このレッスンでは、アプリで Adobe Analytics のトラッキングを有効にします。

Adobe Analytics は、顧客像を把握し、顧客インテリジェンスを活用してビジネスを導く力をユーザーに提供する、業界最先端のソリューションです。

拡張機能の追加 」と「Mobile SDK のインストール 」のレッスンでは、Adobe Analytics拡張機能をタグプロパティに追加し、サンプルアプリケーションに読み込みました。 後は、アプリケーション内の状態とアクションを追跡するコードを追加するだけです。

メモ

Adobe Experience Platform Launch は、データ収集テクノロジーのスイートとして Adobe Experience Platform に統合されています。 このコンテンツの使用中に注意が必要な、いくつかの用語の変更がインターフェイスにロールアウトされました。

  • platform launch(クライアント側)が tags になりました。
  • platform launchサーバー側が event forwarding になりました。
  • エッジ設定は datastreams になりました。

学習内容

このレッスンを最後まで学習すると、以下の内容を習得できます。

  • ライフサイクル指標が Adobe Analytics に送信されていることを確認する
  • 追加データを使用してアプリケーション内の状態を追跡するコードを追加する
  • 追加データを使用してアプリケーション内のアクションを追跡するコードを追加する

Analytics のタグには、多くの機能を実装できます。 このレッスンは完全なものではありませんが、お客様独自のアプリケーションで実装するために必要となる、主な技術の概要について明確に説明します。

前提条件

タグの設定 の節のレッスンを既に完了していること。 この節では、Analytics 拡張機能を追加し、トラッキングサーバー ID とレポートスイート ID を設定しました。

ライフサイクル指標と Adobe Analytics

ライフサイクル指標は、Experience Platform Mobile SDK を使用してアプリケーションで簡単に有効にできる、環境ベースの指標およびディメンションです。実際、既に追加されています。

プロパティにコア拡張機能を追加し、インターフェイスに表示されるモバイルインストール手順に従って、既にライフサイクル指標を有効にしています。これらの指標およびディメンション(アプリケーションのバージョン、アクションを実行したユーザー数、OS のバージョン、時間分割、前回使用からの日数など、環境およびアプリケーション固有の指標を含む)は、特に、アプリケーションから Analytics セグメントを作成してすべてのレポートに適用する際に、アプリケーションの分析に非常に役立ちます。指標の完全なリストは、ドキュメントで参照できます。

Analytics のライフサイクルヒットの表示

ライフサイクルヒットは、任意のデバッグプログラムやパケットスニファーで確認できますが、ここでは単に Xcode デバッグコンソールで表示します。

  1. Xcode でプロジェクトをビルドして実行し、シミュレーターを起動します。

  2. Xcode デバッグコンソールで、下部のフィルターに lifecycle と入力して表示内容を制限し、一番下までスクロールします。

  3. Analytics request was sent with body」セクションに注意してください。

  4. ライフサイクル指標には、AppID、CarrierName、DayOfWeek、DaysSinceFirstUse、およびドキュメントに記載されているその他の指標/ディメンションが含まれます。

    ライフサイクルヒットのデバッグ

ACPCore ライブラリの読み込み

次の演習では、API を使用して、アプリケーション内の状態(「trackState」)とアクション(「trackAction」)を追跡します。これらの API を使用するには、それらを含むライブラリを読み込む必要があります。新しいExperience Cloudプラットフォーム Mobile SDK では、 trackState API と trackAction API が Analytics ライブラリから Core ライブラリに移動され、Adobe Analyticsトラッキング以外の目的でこれらの API を使用できるようになりました。

このチュートリアルでは、1 つの状態のみを追跡しますが、実際のアプリでは、複数の状態を追跡する必要があります。

ACPCore ライブラリを読み込むには、以下を実行します。

  1. BookingViewController.swift を Xcode で開きます。

  2. ファイルの先頭(通常は他のインポート文と並べて)に、import ACPCore を追加します。

  3. 保存します。

  4. これで、このファイルで trackState API と trackAction API を使用する準備が整いました。

    ACPCore をファイルに読み込む

状態の追跡

アプリケーションには、ユーザーに提供する様々な画面のコンテンツが含まれる場合があります。これは、Web サイト上のページと同じです。Adobe Analytics では、これらの「ページビューヒット」を送信し、Web プロパティと同じレポートに表示するメソッドが用意されています。このメソッドは「trackState」と呼ばれます。

このチュートリアルでは、 trackState 呼び出しのコードを、アプリ内の 1 つの画面(ページ)にのみ配置します。 実際には、アプリケーション内の他のすべての画面と状態にこの画像を複製します。また、ヒットと共にデータを送信するいくつかの異なる方法(キーと値のペア)を調べます。

以下に、このチュートリアルまたは独自のアプリケーションでコピー&ペーストできるドキュメントの構文とコード例を示します。

構文:

+ (void) trackState: (nullable NSString*) state data: (nullable NSDictionary*) data;

例:

ACPCore.trackState("state name", data: ["key": "value"])

データを伴わない状態の追跡

  1. Xcode でサンプルアプリを開き、BookingViewController.swift に移動し、viewDidLoad() 関数に trackState メソッドの呼び出しを追加します。

  2. state name を「Home Screen」に設定します。

  3. さらにデータを追加する代わりに、メソッド呼び出しでプレースホルダーとして nil を追加します。

  4. または、次の場所にコピー&ペーストします。

    ACPCore.trackState("Home Screen", data: nil)
    

    基本的な trackState の呼び出し

trackState を検証するには、以下を実行します。

  1. プロジェクトを保存、ビルド、実行します。

  2. シミュレーターが実行され、アプリケーションのホーム画面が開いたら、Xcode コンソールを表示します。

  3. コンソールを「home」を含むエントリにフィルターし、下部のエントリを見ると、Analytics request was sent with body が示されています。

  4. pageName 変数は Home Screen に設定され、他のカスタムデータペアは存在しません。技術的には、「ページ名」ではなく「状態名」を設定しますが、Web サイトの実装との一貫性を保つために、パラメーター名 pageName が使用されます。

    基本的な trackState の結果

データを伴う状態の追跡

  1. BookingViewController.swift に戻り、viewDidLoad() 関数内で、最後の演習からの基本的な(データが追加されていない)trackState の呼び出しをコメントアウト(または削除)します。

  2. キーとして key1、値として value1 を使用して、今回は新しい trackState メソッドの呼び出しを追加します。

  3. state name を「Home Screen」のままにします。

  4. または、次の場所にコピー&ペーストします。

    ACPCore.trackState("Home Screen", data: ["key1": "value1"])
    

    基本的な trackState の呼び出し

データを伴う trackState を検証するには、以下を実行します。

  1. プロジェクトを再び保存、ビルド、実行します。

  2. シミュレーターが実行され、アプリケーションのホーム画面が開いたら、Xcode コンソールを表示します。

  3. フィルターを「home」のままにして下部のエントリを見ると、Analytics request was sent with body が示されています。

  4. ここで、pageName が設定されている以外に、ヒット時に送信されたキーと値のペアもあることを確認します。

    基本的な trackState の結果

メモ

Analytics の「prop と eVar」に詳しい人は、これらの変数名が SDK に含まれていないことに気が付くかもしれません。SDK からのすべてのキー/値データは contextData 変数として送信されるので、Analytics UI の処理ルールを使用して、prop または eVar(または他の変数)にマッピングする必要があります。

その他のデータ送信オプション

前の 2 つの演習では、2 つの要求を実行しました。1 つは追加のデータを持ち、もう 1 つは追加のデータを持ちませんでした。しかし、画面または状態の読み込みを使用して複数のデータポイントを Analytics に送信する場合はどうなるのでしょうか。次に 2 つのオプションを示します。

オプション 1:複数のキーと値のペア

trackState の呼び出しでは、複数のキーと値のペアを、データセット内でコンマで区切って送信するオプションがあります。以下に例を示します。

ACPCore.trackState("Home Screen", data: ["key1": "value1", "key2": "value2"])

オプション 2:Dictionary オブジェクト

また、コード内に辞書を定義し、trackState と共にその辞書を送信することもできます。もちろん、コードに既にいくつかの辞書オブジェクトを定義しており Analytics に送信している場合は、これが最適なオプションとなります。以下に例を示します。

let screenInfo = ["key1":"value1", "key2":"value2", "key3":"value3"]
ACPCore.trackState("Home Screen", data: screenInfo)

ボーナスポイント
コードでこれら 2 つのオプションを試してください。Xcode デバッグコンソールで結果を表示し、コードでこれら 2 つのオプションを試してください。以前と同じフィルターを使用し、結果を見てし、変数と値が取得されていることを確認できます。

アクションの追跡

Web サイトでのページ読み込み以外のアクションの追跡と同様に、多くの場合、ユーザーがアプリケーション内でとるアクション(別の画面を読み込まないもののクリックなど)を追跡します。これは、このメソッドが trackAction と呼ばれている点を除いて、上で使用した trackState と非常に似ています。

以下に、このチュートリアルまたは独自のアプリケーションでコピー&ペーストできるドキュメントの構文とコード例を示します。

構文:

+ (void) trackAction: (nullable NSString*) action data: (nullable NSDictionary*) data;

例:

ACPCore.trackAction("action name", data: ["key": "value"])

「停止なし」チェックボックスを使用したインタラクションの追跡

このサンプルバス予約アプリケーションには、検索結果をオプションに限定するかどうかをユーザーが決定できるチェックボックスがあります。Adobe Analytics で、そのチェックボックスを使用したインタラクションを追跡することにしたとします。

ノンストップチェックボックス

このチェックボックスは、サンプルプロジェクトの BookingViewController.swift ファイルで制御します。この演習では、ユーザーがチェックボックスをオンまたはオフにするたびに trackAction ヒットを送信します。

trackAction コードの設定

  1. Xcode でサンプルプロジェクトを開き、BookingViewController.swift に移動し、「nonStopButtonToggled」関数を探します。

  2. if 文の最初の節では、ボックスが既に選択されている場合にその選択を解除します。このシナリオでは、次のコードを使用して、値が「off」のヒットを送信します。

    ACPCore.trackAction("NonStop Button Interaction", data: ["NonStop": "off"])
    
  3. 次の節(「else」節)では、まだオンになっていない場合にチェックボックスをオンにします。このシナリオでは、次のコードを使用して、値が「on」のヒットを送信します。

    ACPCore.trackAction("NonStop Button Interaction", data: ["NonStop": "on"])
    

コード内のその他のカスタマイズに注意してください。

  • action nameを「NonStop Button Interaction」 に設定しています。この値は、要求の「アクション」パラメーターと、Adobe Analytics のカスタムリンクレポートやディメンションに入力されます。
  • 使用している key の名前は「NonStop」です。これは、Analytics Admin Console の処理ルールで検索できるキー名です。これらの値を prop または eVar にマップできます。

関数は、以下のようになります。

ノンストップチェックボックス

trackAction コードを検証するには、以下を実行します。

  1. コードを追加したら、プロジェクトを保存し、実行してビルドします。
  2. ごみ箱アイコンをクリックしてコンソールをクリアします。
  3. シミュレーターのチェックボックスをオンにすると、コンソールに 2 つの要求が表示されます。最後の 1 つでは、先ほど追加したコードから Adobe Analytics にデータを送信します。
  4. action パラメーターと pev2 パラメーターの両方が「NonStop Button Interaction」(エンコードされたスペースを含む)に設定されています。
  5. 「NonStop=on」キー/値ペアが存在し、処理ルールでprop/eVarに割り当てることができます。
  6. 「Pe=lnk_o」キー/値は trackAction によってトリガーされた「カスタムリンク」ヒットです。

デバッガーでの trackAction の結果

お疲れ様です。Analytics のレッスンが完了しました。もちろん、Analytics の実装を強化するためにできることは他にも多数ありますが、できれば残りのニーズに対処するためのコアスキルを習得できたと思います。

trackState と trackAction のその他の利点

この最後の演習では、trackState API と trackAction API を使用して、アプリケーションから Adobe Analytics にデータを送信しました。Experience Platformの Mobile SDK はタグに基づいているので、先ほど追加したコードを使用して、データ収集インターフェイスで実行できる操作は他にも多数あります。

タグでは、trackState API と trackAction API によってトリガーされるルールを作成し、他のAdobeソリューションや外部パートナーにリクエストするなど、追加のアクションを実行させることができます。

次:「Adobe Audience Manager の追加」>

このページ