DX station

Adobe Mobile SDK における Edge Network 対応

human02

長沼 洋

2024年度になりました。去年1年間を振りかえってみるといかがでしたでしょうか?
最近ですと株価が約30年ぶりに史上最高値を更新し、ニュースになっています。これが、今後の日本経済発展につながることを祈っております。

SB テクノロジーにて、Adobe Experience Cloud 製品に対するコンサルティングを行っているチームに所属している長沼です。
時代は常に移りゆくものであり、Adobe Experience Cloud を使用したスマートフォンアプリケーションに対応する Adobe Mobile SDK もバージョンアップを繰り返しています。この中で、特に注意が必要な点として、iOS アプリに対して、これまでの ACP ライブラリが使用できなくなった点が挙げられます。
参考リンク: SDKs end-of-support announcements

よって、今後は、新しいライブラリ( AEP ライブラリ)を使用してくことになりますが、可能であれば、これまでのレガシー対応ではなく、Edge Network への送信対応への実施をご検討頂いたほうがよいかもしれません。
この記事では、このスマートフォンアプリにおける Edge Network 対応の概略をご説明いたします。

スマートフォンアプリにおける計測対応

Adobe Mobile SDK が v5.x になってからだいぶ時間が立ちました。現状は名称がかわり「 Adobe Experience Platform Mobile SDK 」となり、バージョン番号もあらたに v1.0 から開始されています。さらにバージョン番号があがっています。
iOS 用のライブラリに関しては、ライブラリのプレフィックスとして「 ACP 」とついているものと「 AEP 」とついているものがありましたが、先のリンク先にも記載されております通り、ACP 側のライブラリはサポートされなくなり、AEP ライブラリへの移行が必須となっております。

また、ライブラリに関しても、複数のケースに対応できるようになっており、これまでと同様の計測や実装を行う、

  • ソリューションごと個別の実装ライブラリ
  • Edge Network 送信に対応したライブラリ

が、併存している状況にあります。

さて、ここに記載された「 Edge Network 送信に対応したライブラリ」とは一体何でしょうか?
これは、下の記事でもご紹介した Web サイトに対する「 Web SDK 」対応のスマートフォンアプリ版と考えて頂ければと思います。

Adobe Web SDKとは!?

Web SDK と同様、スマートフォンアプリにおいても、「 Edge Network 」と呼ばれる統合化されたエンドポイント(サーバー)へデータを送信し、かつ、受信できる形式に対応することができます。

Edge Networkによる通信の統合

これにより、Adobe 社サーバーとの通信が軽減され高速化が期待できることになります。
今後は、Adobe 社もこの Edge Network 対応に注力していくことになると思います。
事実、Adobe Journey Optimizer など一部ソリューションにおいては、この Edge Network に対応していることが前提となっています。

ですので、ライブラリを更新するのであれば、この機会に、実装方式の検討も併せて実施することをお考えください。

Edge Network 対応とは!?

Web SDK における対応と似ています。
計測内容や送信すべき内容は、XDM ( eXperience Data Model )といわれるデータ構造にて指定して送信する必要があります。

XDMによる階層構造の指定方式

上記の図の通り、これまではある意味フラットなデータ構造でしたが、XDM においては階層化されたデータ構造になりますので、これまでの常識が通用しません。
ですので、計測実装も実装の方法によっては大きく見直す必要が出てきます。

また、送信時におけるメソッドが異なります。
これまでは、MobileCore にあった trackState() や trackAction() というメソッドを使って送信していましたが、この方式でリクエストを送信する場合には、sendEvent() という別のメソッドを使用する必要があります。

Edge Network 対応の場合、画面表示時もアクション計測時にも同じメソッドを使用するのですが、両者の違いは、XDM 中に設定する「 eventType 」という項目に対して、指定する値を変更することによって切り替えることになります。
よって、計測の概念自体が大きく変わります。

また、これまでの計測の場合、計測値はコンテキストデータとして送信されていましたので、レポートスイート側の処理ルール設定に適切な変数に値を設定しなおす必要がありました。
Edge Network 対応の場合も、基本は同様にコンテキストデータとして送信されますが、XDM 中の一部の項目に関しては、自動的に Analytics 変数にマッピングしてくれます。この方法を利用すると、処理ルールを設定せずとも計測が可能となります。

Edge Brige Extension に関して

上記の通り、実装が激変します。
このあたりは、Adobe 社も考えてくれているようであり、以下のページに記載されている Edge Brige Extension というものを利用すると、移行作業がだいぶ緩和されるのではないかと思われます。
参考リンク: Migrate from Analytics mobile extension to Adobe Experience Platform Edge Network

大まかに言ってしまえば、コンテキストデータ形式で指定されたフラットなデータを、XDM の形式に変換して送信してくれるというものになります。
よって、それほど複雑な計測をしておらず、基本、Adobe Analytics 計測対応のみの場合であれば、こちらの記載の内容に沿って対応を行っていくことで、比較的スムーズに移行が行なえるかと思います。

一方で、Edge Network からのレスポンスを受け取る仕組みがないので、Web 側の対応と同じように、画面表示におけるトラッキングデータの送信のレスポンスとして、Adobe Target からのオファー情報を受け取るといったことができません。
上記ヘルプにも記載されていますが、この場合には、別途、Adobe Journey Optimizer のエクステンションを利用することになります。
そうなりますと、Analytics に対する計測データの送信とは別に、Adobe Target へのリクエスト要求並びにオファー受け取りが別々の通信になるため、Edge Network 対応におけるメリットが半減してしまう点に留意が必要となります。

まとめ

スマートフォンアプリにおける Edge Network 対応に関して概略をご説明しました。
少なくとも、Adobe Mobile SDK のバージョンアップ対応は必須となりますので、まだ対応を行われていない場合(特に iOS 側)は急ぎ対応を行う必要があります。

通常ですと、Adobe Mobile SDK から提供される API を直接コールして実装を行われているかと思います。
このケースにおける Edge Network 対応はかなりの実装変更が必要となりますが、一方で、利用用途は限定されますが Edge Brige Extension を利用することで、ある程度、実装インパクトを軽減できます。
ただし、細かい設定や Adobe Target 対応においてメリットが半減してしまうので、可能であれば、独自のラッパークラスを作成して、このラッパークラス内でコンテキストデータ形式の内容を XDM へマッピングするロジック対応を行い、激変を緩和しつつ、細かい部分での計測対応や Adobe Target 対応を行ったほうがよいのではないかと考えております。

SB テクノロジーでは、長年の Adobe 製品に対するコンサルティング実績もあり、また、スマートフォンアプリにおける対応実績もございます。ラッパークラスを用いた激変対応も行えますので、ご検討やご相談などございましたら、お気軽に以下リンクよりお問い合わせください。

お問い合わせはこちら:SIGNAL コンサルティングサービス

関連ブログ記事

Adobe Web SDKとは!?
アクセス解析ツール『Adobe Analytics』って何ができるの?
サイト、アプリのアクセス解析が必要な理由とは?~アクセスログから分かること~
デジタルマーケティングツール『 Adobe Target 』とは?代表的なアクティビティもご紹介

お問い合わせ

製品・サービスに関するお問い合わせはお気軽にご相談ください。