2015年9月17日

UE4 のモバイル アナリティクス プラグイン

作成 Joe Graf

アンリアル エンジン 4 では、アナリティクス サービス プロバイダーがネイティブ ライブラリを各モバイル プラットフォーム上でラップする場合に使用する汎用タイプのアナリティクス インターフェースが提供されています。汎用レイヤーにより、ゲーム デベロッパーは好きなアナリティクス プロバイダーを選んで、そのコードまたはブループリントを一回記述することができます。これにより、すべてのプロジェクトでアナリティクスをアプリケーションへ追加できるようになりますし、次回以降のリリースでプロバイダーの切り替えをする場合に、ゲームの手直しなしにプロバイダーのリストから選択できるようになります。目標は、デベロッパーがアプリケーションをトラックするアナリティクスを追加しやすくし、デベロッパーが変更を必要とする時にサービス プロバイダー間での移植性を提供することです。

UE4 ソースから利用できるプラグイン

ソース ディストリビューションもプラグインに含まれていて、デベロッパーのニーズに合わせた機能性のレイヤーを提供します。アナリティクス プロバイダーの中には、プロバイダーのネイティブ ライブラリをプラグインに追加すれば、そのまますぐに使えるものもあります。プロバイダーとソース ディストリビューションを紹介します:

マルチキャスト

様々なアナリティクス プラグインに対して送信するプラグインです。異なるアナリティクス プロバイダーのグループに同じデータを送りたい場合に使います。この方法は Infinity Blade シリーズの UE3 で使われ、異なるアナリティクス プロバイダーの様々な機能の中から一番良いものを引き出すことができたため、UE4 でも継続しています。

ブループリント アナリティクス プラグイン

アプリケーション ブループリントで使用するブループリント ノードを作成して、C++ アナリティクス インターフェース間を接続します。詳細に関するドキュメントは こちらのリンク からご覧いただけます。

ファイル ロギング プラグイン

このプラグインは、主にアナリティクス イベントのデバッグ処理の支援用に使われます。使用している開発用端末上の JSON ファイルに対するすべてのアナリティクス API コールを書き出します。リリースされたアプリケーション用ではありません。

Apsalar

Apsalar プラグインは API の実装を提供します。ネイティブ ライブラリが必要になるので、サービス アカウントと一緒に取得します。広告キャンペーンの効果を確認できる Facebook 用アトリビューション プロバイダーです。Facebook 広告を使ってアプリケーションのユーザー獲得を目指すのであれば、検討する価値があります。

Flurry

Flurry は、モバイル アプリケーション向けアナリティクス プロバイダーの生みの親です。自分のアプリケーションを他のアプリケーションの同じカテゴリにおけるパフォーマンス比較をとても分かりやすく行うことができます。Flurry は幅広く普及して多くのアプリケーションで採用されているので、特定のカテゴリ内でのデータ比較が楽に行えます。さらに、Flurry を別のアプリケーションで使えば、自分がビルドした UE4 アプリケーションのメトリクス比較も行えます。Infinity Blade シリーズではこの機能を使って、異なるバージョン間でのゲーム ユーザーのビヘイビアを比較しました。

サードパーティ プラグイン

UE4 のマーケットプレイスには、プロジェクトで活躍しそうなコンテンツ、チュートリアル、サンプル コンテンツを豊富にそろえています。さらに、コード プラグインに対するサポートも追加しています。これらのプラグインは、サードパーティのデベロッパーおよびプロバイダーによって書かれたものです。現在、GameAnalyticsNinjaMetrics をマーケットプレイスのプラグインに追加しているところです。他にもまだまだ作業中のものがありますので、マーケットプレイスをこまめにチェックしてみてください。

自分だけのものを作る

上の対応表にお気に入りのプロバイダーがない場合は、独自のアナリティクス プロバイダー インテグレーションを作るという手段もあります。サポートするインターフェースがひとつだけになるので、とても分かりやすくなります。通常は UE4 API を対象のアナリティクス プロバイダーの API に変換する基本的なラッパー プラグインが実装されています。プラグインへのソースの記述がありますので、お気に入りのプロバイダーの API を統合する方法のサンプルとしてご使用いただけます。