every Tech Blog

株式会社エブリーのTech Blogです。

Android アプリのエンゲージメントを向上させる Engage SDK とは

はじめに

Android 開発エンジニアを担当している岡田です。
今回はユーザーエンゲージメントを高める強力なツールである、 Engage SDK について導入のメリットについて解説できればと思います。

Engage SDK とは

Engage SDK は、Google が 2024 年 7 月に「Introducing Collections, a new on-device surface for your content」というタイトルで発表しました。
この SDK を導入することで、アプリのコンテンツを Android システムの複数の場所に表示し、ユーザーエンゲージメントを向上させることができます。

Engage SDK の基本概念

Engage SDK では、コンテンツをカテゴリー別に分類し、それぞれに対応する Cluster、 Entity を定義しています。
開発者は、これらに沿った情報を Google に送信することで、適切な場所にコンテンツが表示されるようになります。
Engage SDK では、以下の 9 つのカテゴリーが用意されています。

例として、Watch カテゴリーを見てみましょう。
Watch カテゴリーには、Recommendation、Continuation、Featured の 3 つの Cluster タイプが含まれています。
ここでいう Cluster とは、デベロッパーが提供するコンテンツをまとめて表示するための UI(ユーザーインターフェース)の単位です。
Engage SDK 全体で、Recommendation、Continuation、Featured の 3 つの Cluster タイプが定義されています。
Watch カテゴリーにおける、各 Cluster の役割は以下の通りです。

Cluster 説明
Recommendation 個々の開発者パートナーからのコンテンツを視聴するためのパーソナライズされた提案を表示します。
Continuation 複数の開発者パートナーからの未完成の動画や、関連する新しくリリースされたエピソードを1つのUIグループに表示します。
Featured 複数の開発者パートナーからのエンティティのセレクションを1つのUIグループに表示します。

Cluster についての詳細は、Engage SDK Cluster publishing guidelines に詳しく記載されていますので、併せてご確認ください。

また、Watch カテゴリーでは、Cluster 内の単一のアイテムを表すオブジェクトである、Entity が 6 種類定義されています。

Entity 説明
MovieEntity (映画) 映画コンテンツを表すエンティティです。タイトル、ポスター画像、再生時間などの情報を含みます。
TvShowEntity (テレビ番組) テレビ番組シリーズ全体を表すエンティティです。番組名やジャンル、シーズン情報へのリンクなどが含まれます。
TvSeasonEntity (テレビシーズン) 特定のテレビ番組のシーズンを表すエンティティです。シーズン番号やエピソードリストへのリンクを持ちます。
TvEpisodeEntity (テレビエピソード) テレビ番組の個々のエピソードを表すエンティティです。エピソード番号、タイトル、あらすじなどが含まれます。
LiveStreamingVideoEntity (ライブ配信動画) ライブストリーミング中の動画コンテンツを表すエンティティです。ライブの開始・終了時刻や現在の視聴者数などの情報を含みます。
VideoClipEntity (ビデオクリップ) 短い動画クリップを表すエンティティです。ミュージックビデオやニュースクリップ、ハイライトシーンなどに利用されます。

動画視聴アプリであれば、アプリ内のコンテンツをこれらの Entity に変換し、Cluster へ登録・公開するといった実装の流れになります。

具体的な実装方法

以下は Google が公開しているサンプルコードの中から抜粋した、 FeaturedClusterMovieEntity を追加し、公開している constructFeaturedClusterRequest メソッドです。

suspend fun constructFeaturedClusterRequest(): PublishFeaturedClusterRequest { 
    // おすすめとして表示する映画のリストを取得 
    val featuredList = movieDao.loadMovieIsCurrentlyWatching(false) 

    // FeaturedClusterを構築するためのBuilderを初期化します。
    val featuredCluster = FeaturedCluster.Builder()

    // 取得した映画のリスト featuredList を featuredCluster へ追加する
    for (item in featuredList) {
        featuredCluster.addEntity(ItemToEntityConverter.convertMovie(item))
    }

   // PublishFeaturedClusterRequest(Featuredクラスタ公開リクエスト)を構築
   return PublishFeaturedClusterRequest.Builder()
      .setFeaturedCluster(featuredCluster.build())
      .build()
  }

github.com

他カテゴリーでも、実装の流れは同じになります。
詳細については、Engage SDK Codelab  |  Android Developers が用意されていますので、こちらをご参照ください。

Engage SDK を導入するメリット

表示される場所

Engage SDK を導入することで、アプリのコンテンツは以下の場所に表示されるようになります。

表示 アクセス方法・対象 機能 特徴 備考
スマートフォンのコレクション Play Store のアイコンを長押し > コレクション パーソナライズされたおすすめコンテンツを表示 ユーザーの興味に基づいた動的なコンテンツ推薦 米国を中心に展開中
タブレットのエンターテイメントスペース Android タブレットのホーム画面左端(一部メーカーの端末では非搭載、または異なる機能の場合があります)。 エンターテイメントコンテンツの推奨表示 大画面を活用したリッチなコンテンツ表示
Google Play ストア アプリの詳細ページなど 関連コンテンツの表示 アプリ発見時の追加コンテンツ提供

導入メリット

Engage SDK をアプリに導入することは、開発者にとって多くの戦略的利点をもたらします。
そのメリットは、ユーザーエンゲージメントの向上から開発負担の軽減まで多岐にわたります。

1. ユーザーエンゲージメントの飛躍的向上

ユーザーがアプリを直接開かなくても、スマートフォンのホーム画面などから直接コンテンツにアクセスできるようになります。
Google の機械学習を活用したパーソナライズ機能により、個々のユーザーの興味関心に基づいたコンテンツが推薦されるため、クリック率の向上が期待でき、アクティブ率の維持・向上に大きく貢献する可能性があります。

2. Googleプラットフォーム上でのアプリの可視性向上

アプリ内のコンテンツが Google Play ストアやエンターテイメントスペースなど、複数の Google のサービス(サーフェス)に表示されるため、ユーザーへの露出が増加します。
これにより、既存ユーザーの満足度を高めるだけでなく、これまでアプリを知らなかった潜在的な新規ユーザーを獲得する絶好の機会が生まれます。

3. 開発負担の軽減とスムーズな統合

技術的な観点からも、導入のハードルは低く設計されています。
SDK は非常に軽量で、平均的なアプリの APK サイズ増加は圧縮状態で 50KB 未満に抑えられると明記されています。
また、既存のアプリ構造を大きく変更することなく統合できるため、開発期間は約 1 週間程度と短期間で完了します。
これにより、少ないリソースで大きな効果を狙うことが可能です。

4. データに基づいた継続的な改善

データ駆動型のアプローチにより、提供するコンテンツを継続的に最適化できます。
Google の高度な機械学習がユーザーの行動をリアルタイムで分析し、最も効果的なコンテンツ推薦を自動で行います。
開発者はパフォーマンスに関する分析結果や改善提案を活用し、常にユーザー体験を向上が期待できます。

今後の展望

Engage SDK は現在、米国を中心に、日本を含むいくつかの国で展開されています。現在の認知度はまだ高くない状態ですが、今後露出が増えると考えられます。
アプリ開発者は、この新しいプラットフォームを早期に活用することで、競合他社に先駆けてユーザーとの接点を増やし、アプリの成長と成功につなげられるでしょう。

まとめ

Engage SDK は、Android アプリ開発者にとって画期的なツールです。
従来アプリ内に閉じていたコンテンツを Google Play ストアやスマートフォンのコレクションなど、Android システムの複数の場所に展開することで、ユーザーエンゲージメントの大幅な向上を実現します。

参考資料

developer.android.com

developer.android.com

developer.android.com

android-developers.googleblog.com