Search Unity

Unity 製モバイルアプリにディープリンクを追加してユーザー体験を向上させる

, 7月 16, 2020

Unity プロジェクト内にディープリンクを追加することで、ユーザーをモバイルアプリ内の特定のコンテンツに直接誘導する簡単な方法です。ナビゲーションはまったく不要です。そのコンテンツは簡単に共有できるようになり、よりインタラクティブになり、新しいユーザーを獲得したり、既存のユーザーを新しいコンテンツに誘導したりすることができます。

モバイルアプリのディープリンクとは、ユーザーをアプリ内の特定の場所に直接誘導する URL のことです。たとえば、音楽アプリのディープリンクを使用すると、友達同士でお気に入りのプレイリストを共有して、そのプレイリストが自動的に音楽アプリで開くといった挙動が実現できます。ディープリンクを検索結果に埋め込んで、検索の詳細を再度入力しなければならない可能性のあるウェブサイトにユーザーを送る代わりに、特定のアプリ内のリッチコンテンツにユーザーを直接誘導するということもできます。

ディープリンクを使えば、ユーザーが探しているコンテンツに直接ユーザーを誘導できるだけでなく、開発者はリンクにロジックを追加することができます。例えば、SMS(または他のメッセージングシステム)でディープリンクの URL を介して報酬やギフトをユーザーに共有できるようにしたり、あるゲームから別のゲームの特定のコンテンツにジャンプさせたりして、ゲーム間でシームレスなユーザー体験を実現することで、ゲーム内のエンゲージメントを高めることができます。これにより、ユーザーのエンゲージメントが向上し、モバイルアプリ内の摩擦が軽減されます。

Unity 2019.2 でディープリンクのサポートを導入し、Android、iOS、ユニバーサル Windows プラットフォーム(UWP)で利用できるようになりました。このブログ記事では、Unity アプリでディープリンクを設定して実行させる方法を説明します。

ディープリンクを設定する

本質的には、ディープリンクは、単一のリンクを介してアプリケーションを起動したり、パラメーターを渡したりすることを可能にするものです。そして、ウェブページや SMS のテキストメッセージのような様々なソースから、ユーザーをアプリケーションの特定のエリアに誘導することができます。

まず、ディープリンクの URL からアプリケーションがアクティブ化されると、Unity は Application.deepLinkActivated イベントを呼びます。このシナリオでディープリンクを処理するには、次のようにします。

例えば、以下のコードを起動シーンの「ディープリンクマネージャー」ゲームオブジェクトにアタッチすると、上記の動作を実現できます。

異なるプラットフォーム向けの設定

アプリを特定の URL に反応させる方法は、プラットフォームごとに異なります。

  • iOS:「Player Settings」ウィンドウの「Supported URL schemes」セクションからURLスキームを設定します。
  • Android:標準のアプリマニフェストをオーバーライドして、Activity の特定の intent-filter セクションを含めるインテントフィルターを設定します。
  • ユニバーサル Windows プラットフォーム(UWP):「Protocol」セクションの「Player Settings」ウィンドウからカスタム URI スキームを設定します。

プラットフォーム固有の設定の詳細については、「Enabling deep linking」のドキュメントページを参照してください。

ディープリンクのテスト

ディープリンクをテストする最も簡単な方法は、簡単な HTML ページを作成し、ローカルの Web サーバーでホストし、デバイスの Web ブラウザからアクセスすることです。例えば、以下のようにします。

サンプルプロジェクトをお試しください

メインメニュー以外の場所からアプリを起動するためにディープリンクを実装する方法を示すサンプルプロジェクトを作成しました。プロジェクトのソースはこちらにあります。最終的な結果は以下のようになります。

7 replies on “Unity 製モバイルアプリにディープリンクを追加してユーザー体験を向上させる”

can we install app in case if its not installed using deep link? and then reach to the point where we want to take our user?

There is also a plugin in the asset store (developer here) that does all the configuration and setup automatically, so no need to do any manifest changes or query string parsing.

The plugin is called Universal Deep Linking and besides supporting Android, iOS and UWP it also supports standalone Windows, Mac, Linux, and tvOS, out of the box without any conflicts with other plugins.

Thanks for showing some examples of this.
Is there a particular reason why this hasn’t been implemented for Windows Desktop? Seems a lot of apps use deep linking there nowadays (Discord, Slack, Visual Studio Code, … just to name a few).

Standalone builds (besides macOS) are a bit tougher to implement out of the box because desktop apps usually don’t allow activation to apps that are already running (deep links come on the main function arguments), so to give support to this some proxy (usually a second instance of the same app) is required to check and send data to the first launched application.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です