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

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

https://example.page.link/WXYZ

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

準備

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

    Dynamic Links ドメインをすでに作成している場合は、それをメモしておきます。ダイナミック リンクをプログラムで作成する場合は、Dynamic Links ドメインを指定する必要があります。

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

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"
}

長いダイナミック リンクを作成する方法については、URL を手動で構築するをご覧ください。

ダイナミック リンク パラメータを直接指定することで、短いダイナミック リンクを作成することもできます。これを行うには、shortLinks エンドポイントへの HTTP POST リクエストを作成し、ダイナミック リンク パラメータを 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 リファレンスをご覧ください。

短いダイナミック リンクの長さを設定する

suffix パラメータを設定して、短いダイナミック リンクのパス コンポーネントの生成方法を指定することもできます。

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

https://example.page.link/UVWXYZuvwxyz12345

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

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

https://example.page.link/WXYZ

短いダイナミック リンク 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 で失敗します。

次のステップ

ダイナミック リンクを作成したら、ダイナミック リンクを受信するようにアプリを設定し、ユーザーがダイナミック リンクを開いたときにアプリ内の適切な場所にユーザーを移動する必要があります。

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

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