モバイルウェブ ユーザーをアプリユーザーに転換する

たとえば、美しいネイティブ アプリに加え、手間をかけて素晴らしいモバイル ウェブサイトを構築した後に、そのウェブサイトよりもネイティブ アプリでのコンバージョン率のほうが高いことに気付いたとします。その場合、アプリをダウンロードするようにモバイルウェブ ユーザーを誘導すると、ビジネスの成長につながる可能性があります。ユーザーを誘導するのは難しい課題となりがちですが、Dynamic Links を利用すれば簡単なことです。 ほんのわずかなコードだけで、ユーザーがモバイルウェブでリンクをクリックするとアプリ内の対応するページにリダイレクトする機能を追加できます。ユーザーがまだアプリをインストールしていない場合は、そのページを表示するために App Store または Google Play ストアにアクセスしてアプリをインストールすることになります。

主なメリット

  • ユーザーにとって可能な限り簡単な方法で、モバイルウェブ ユーザーをネイティブ アプリのユーザーに転換することができます。
  • ユーザーはサイトで閲覧していたコンテンツと同じものをアプリで見られるようになります。
  • 必要となるインテグレーションはほんのわずかです。

以下の手順に従って、この機能を導入してください。

準備

アプリのコンテンツをディープリンク可能にする

モバイルウェブ ユーザーをネイティブ アプリのユーザーに転換させるための鍵は、ユーザーがアプリを開いたときに、ウェブで閲覧しているコンテンツと同じものが表示されるようにすることです。したがって、モバイルウェブ ユーザーをアプリに転換させるには、その前に、アプリでコンテンツへのディープリンクを受信できるようにする必要があります。

iOS ユニバーサル リンクまたは Android App Links を実装している場合、この作業はおそらく完了しているでしょう。まだ完了していない場合は、ウェブサイトから URL を取り込んで、アプリ内で対応するコンテンツをユーザーに表示するためのロジックをアプリに追加します。

Firebase と Dynamic Links SDK を設定する

新しい Firebase プロジェクトを設定し、アプリに Dynamic Links SDK をインストールします(iOSAndroidC++Unity)。Dynamic Links SDK をインストールすると、ユーザーがアプリをインストールした後のデータを含め、Firebase がダイナミック リンクに関するデータをアプリに渡せるようになります。この SDK を使用する以外に、アプリをインストールした後のユーザーに、インストール前のクリック操作を関連付ける方法はありません。

ウェブページに [アプリで開く] リンクを追加する

次は、ウェブサイトのユーザーをネイティブ アプリにリダイレクトするリンクを設定します。ユーザーがアプリをまだインストールしていないとしても心配する必要はありません。その場合には、Dynamic Links が自動的に対処します。

ウェブページの各ページで、ダイナミック リンクを動的に生成します。 すでにコンテンツはディープリンク可能になっているので、link パラメータには単純にそのコンテンツを含むページの URL を指定できます。

このようなリンクの例を以下に示します。

<a href="https://abc123.app.goo.gl/?link=https://example.com/content?item%3D1234&apn=com.example.android&ibi=com.example.ios">Open this page in our app!</a>

ユーザーが端末でこのリンクを開く際に、apn パラメータ(Android の場合)または ibi パラメータ(iOS の場合)で指定されたアプリが端末にインストールされていない場合には、アプリをインストールするため Google Play ストアか App Store にリダイレクトされます。アプリをインストールするとアプリが開き、link パラメータで指定された URL がアプリに渡されます。

アプリ内でリンク先コンテンツを開く

次に、アプリに渡されたリンクを受け取って、そのリンク先コンテンツを開く必要があります。Dynamic Links SDK を使用すれば、簡単にリンクを受信できます。

iOS 版

iOS の場合、ダイナミック リンクを受信するには application:continueUserActivity:restorationHandler: メソッドを実装します。復元ハンドラ内で handleUniversalLink:completion: を呼び出すことで、ダイナミック リンクを取得できます。ダイナミック リンクがアプリに渡されている場合、FIRDynamicLinkurl プロパティからリンクを取得できます。次に例を示します。

Objective-C

[[FIRDynamicLinks dynamicLinks]
    handleUniversalLink:userActivity.webpageURL
             completion:^(FIRDynamicLink * _Nullable dynamicLink,
                          NSError * _Nullable error) {
      NSString *link = dynamicLink.url;
    }];

Swift

FIRDynamicLinks.dynamicLinks()?.handleUniversalLink(userActivity.webpageURL!) { (dynamiclink, error) in
    let link = dynamiclink.url
}

さらに、application:openURL:options: メソッドで dynamicLinkFromCustomSchemeURL: を呼び出して、アプリに渡されたダイナミック リンクをカスタム スキーム URL として受信する必要があります。次に例を示します。

Objective-C

FIRDynamicLink *dynamicLink = [[FIRDynamicLinks dynamicLinks] dynamicLinkFromCustomSchemeURL:url];
if (dynamicLink) {
  NSString *link = dynamicLink.url;
  // ...
  return YES;
}

Swift

let dynamicLink = FIRDynamicLinks.dynamicLinks()?.dynamicLinkFromCustomSchemeURL(url)
if let dynamicLink = dynamicLink {
  let link = dynamiclink.url
  // ...
  return true
}

link パラメータの値を取得したら、リンク先コンテンツをユーザーに表示します。

Android 版

Android の場合、ダイナミック リンクからデータを取得するには getInvitation() メソッドを使用します。

AppInvite.AppInviteApi.getInvitation(mGoogleApiClient, this, false).setResultCallback(/* ... */);

次に、コールバックで getDeepLink() メソッドを呼び出すことにより、ダイナミック リンクの link パラメータで渡されたデータを取得できます。

String link = AppInviteReferral.getDeepLink(intent);

link パラメータの値を取得したら、リンク先コンテンツをユーザーに表示します。

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。