REST API を使用したダイナミック リンクの作成

Firebase Dynamic Links REST API を使用して短い Dynamic Links を作成できます。この API は、長い Dynamic Link または Dynamic Link パラメータを含むオブジェクトのいずれかを受け入れ、次の例のような URL を返します。

https://example.page.link/WXYZ

API やクライアント(Android/Apple)SDK で作成された短い Dynamic Links は、Firebase コンソールに表示されません。このような Dynamic Links は、ユーザー間の共有に使用するためのものです。マーケティングのユースケースの場合は、引き続き Firebase コンソールの [Dynamic Links] ページからリンクを直接作成してください。

始める前に

  1. API キーを取得します。API へのリクエストを認証するために API キーが必要になります。API キーを見つけるには:
    1. Firebase コンソールの [設定] ページを開きます。プロジェクトの選択を要求されたら、メニューから Firebase プロジェクトを選択します。
    2. [ウェブ API キー] フィールドの値をメモしておきます。
  2. Firebase コンソールで [Dynamic Links] セクションを開きます。
  3. 利用規約に同意せずに Dynamic Links のドメインを設定している場合、プロンプトに従って利用規約に同意します。

    Dynamic Links のドメインが作成済みである場合は、それをメモしておきます。Dynamic Links をプログラムで作成する場合は、Dynamic Links ドメインを指定する必要があります。

Firebase Dynamic Links API を使用して、長い Dynamic Link を短縮できます。これを行うには、shortLinks エンドポイントへの HTTP POST リクエストを作成し、長い Dynamic LinklongDynamicLink パラメータに指定します。次に例を示します。

POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=api_key
Content-Type: application/json

{
   "longDynamicLink": "https://example.page.link/?link=https://www.example.com/&apn=com.example.android&ibi=com.example.ios"
}

長い Dynamic Links を作成する方法については、URL を手動で構築するをご覧ください。

Dynamic Link パラメータを直接指定することで、短い Dynamic Link を作成することもできます。これを行うには、shortLinks エンドポイントへの HTTP POST リクエストを作成し、Dynamic Link パラメータを dynamicLinkInfo パラメータに指定します。次に例を示します。

POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=api_key
Content-Type: application/json

{
  "dynamicLinkInfo": {
    "domainUriPrefix": "https://example.page.link",
    "link": "https://www.example.com/",
    "androidInfo": {
      "androidPackageName": "com.example.android"
    },
    "iosInfo": {
      "iosBundleId": "com.example.ios"
    }
  }
}

dynamicLinkInfo オブジェクトの詳細な仕様については、API リファレンスをご覧ください。

短い Dynamic Link の長さを設定する

suffix パラメータを設定して、短い Dynamic Link のパス コンポーネントの生成方法を指定することもできます。

デフォルトの場合、またはパラメータを "UNGUESSABLE" に設定する場合は、パス コンポーネントは次の例で示すように 17 文字の文字列になります。

https://example.page.link/UVWXYZuvwxyz12345

こうした文字列は、base62 エンコードで作成された、ランダムに生成された 96 ビットの数字です。 この設定を使用することで、Dynamic Links URL が推測されたりクロールされたりすることにより、機密情報が意図しない受信者に公開されてしまう可能性を回避できます。

パラメータを "SHORT" に設定した場合、パス コンポーネントは一意性を保つために必要な最低限の長さ(ただし最短で 4 文字)を持つ文字列になります。

https://example.page.link/WXYZ

短い Dynamic Link URL が推測された場合でも機密情報が公開されることがない場合は、このメソッドを使用します。

次の例は suffix パラメータの設定方法を示しています。

POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=api_key
Content-Type: application/json

{
   "longDynamicLink": "https://example.page.link/?link=http://www.example.com/&apn=com.example.android&ibi=com.example.ios",
   "suffix": {
     "option": "UNGUESSABLE"
   }
}

指定するディープリンク値の先頭は http:// または https:// でなければなりません。 また、コンソールで入力された URL パターンのホワイトリストに一致する必要もあります。 それ以外の場合、作成 API は HTTP エラーコード 400 で失敗します。

次のステップ

Dynamic Links を作成したら、アプリが Dynamic Links を受け取るよう設定し、ユーザーがこれを開いたときにアプリ内の適切な場所に転送されるようにする必要があります。

アプリで Dynamic Links を受信する方法については、iOSAndroidC++Unity のドキュメントをご覧ください。

リクエストは、1 つの IP アドレスで 1 秒あたり 5 回、1 日あたり 200,000 回に制限されています。超過すると、HTTP エラーコード 429 が返されます。追加の割り当てをリクエストする場合は、こちらのフォームにご記入ください。