Firebase Dynamic Links Builder API を使用して、短いダイナミック リンクまたは長いダイナミック リンクを作成できます。この API は、長いダイナミック リンクまたはダイナミック リンク パラメータを含むオブジェクトのいずれかを受け入れ、次の例のような URL を返します。
https://example.com/link/WXYZ
https://example.page.link/WXYZ
Firebase と Dynamic Links SDK を設定する
Android アプリで Dynamic Links を作成する前に、Firebase SDK を含める必要があります。アプリが Dynamic Links を受信するように設定されている場合、これらの手順は既に完了しているため、このセクションをスキップできます。
Flutter プロジェクトのルート ディレクトリから、次のコマンドを実行して Dynamic Links プラグインをインストールします。
flutter pub add firebase_dynamic_links
Android アプリを構築している場合は、Firebase コンソールの [プロジェクト設定] ページを開き、SHA-1 署名キーを指定していることを確認してください。アプリ リンクを使用する場合は、SHA-256 キーも指定します。
Firebase コンソールで、 Dynamic Linksセクションを開きます。
Dynamic Links のドメインをまだ設定していない場合は、[開始する] ボタンをクリックしてプロンプトに従います。
Dynamic Links ドメインをすでにお持ちの場合は、メモしておいてください。プログラムで Dynamic Links を作成する場合は、Dynamic Links ドメインを指定する必要があります。
推奨: [その他] (⋮) メニューから、ディープ リンクとフォールバック リンクで許可される URL パターンを指定します。そうすることで、ドメインから管理していないサイトにリダイレクトする Dynamic Links を権限のない第三者が作成するのを防ぐことができます。
特定の URL パターンを許可するを参照してください。
パラメータから動的リンクを作成する
ダイナミック リンクを作成するには、新しいDynamicLinkParameters
オブジェクトを作成し、それをbuildLink()
またはbuildShortLink()
に渡します。
次の最小限の例では、Android ではcom.example.app.android
で、iOS ではアプリcom.example.app.ios
で開くhttps://www.example.com/
への長いダイナミック リンクを作成します。
final dynamicLinkParams = DynamicLinkParameters(
link: Uri.parse("https://www.example.com/"),
uriPrefix: "https://example.page.link",
androidParameters: const AndroidParameters(packageName: "com.example.app.android"),
iosParameters: const IOSParameters(bundleId: "com.example.app.ios"),
);
final dynamicLink =
await FirebaseDynamicLinks.instance.buildLink(dynamicLinkParams);
短いダイナミック リンクを作成するには、DynamicLinkParameters オブジェクトをDynamicLinkParameters
buildShortLink()
に渡します。短縮リンクを構築するには、ネットワーク呼び出しが必要です。例えば:
final dynamicLinkParams = DynamicLinkParameters(
link: Uri.parse("https://www.example.com/"),
uriPrefix: "https://example.page.link",
androidParameters: const AndroidParameters(packageName: "com.example.app.android"),
iosParameters: const IOSParameters(bundleId: "com.example.app.ios"),
);
final dynamicLink =
await FirebaseDynamicLinks.instance.buildShortLink(dynamicLinkParams);
デフォルトでは、数文字のサフィックスを持つ短いダイナミック リンクが生成されます。これによりリンクはよりコンパクトになりますが、誰かが有効な短いリンクを推測できる可能性も生じます。リンクは公開情報につながるため、多くの場合、誰かがそうしたとしても害はありません。
ただし、短いリンクがユーザー固有の情報につながる場合は、誰かが有効なダイナミック リンクを推測できる可能性が非常に低くなるように、17 文字のサフィックスを付けた長いリンクを作成する必要があります。これを行うには、 ShortDynamicLinkType.unguessable
をbuildShortLink()
メソッドに渡します。
final unguessableDynamicLink = await FirebaseDynamicLinks.instance.buildShortLink(
dynamicLinkParams,
shortLinkType: ShortDynamicLinkType.unguessable,
);
動的リンク パラメータ
Dynamic Link Builder API を使用して、サポートされている任意のパラメーターを使用して Dynamic Links を作成できます。 API リファレンスを参照してください。
次の例では、いくつかの共通パラメーター セットを使用してダイナミック リンクを作成します。
final dynamicLinkParams = DynamicLinkParameters(
link: Uri.parse("https://www.example.com/"),
uriPrefix: "https://example.page.link",
androidParameters: const AndroidParameters(
packageName: "com.example.app.android",
minimumVersion: 30,
),
iosParameters: const IOSParameters(
bundleId: "com.example.app.ios",
appStoreId: "123456789",
minimumVersion: "1.0.1",
),
googleAnalyticsParameters: const GoogleAnalyticsParameters(
source: "twitter",
medium: "social",
campaign: "example-promo",
),
socialMetaTagParameters: SocialMetaTagParameters(
title: "Example of a Dynamic Link",
imageUrl: Uri.parse("https://example.com/image.png"),
),
);
final dynamicLink =
await FirebaseDynamicLinks.instance.buildShortLink(dynamicLinkParams);
次の方法で Dynamic Link パラメータを設定できます。
DynamicLink パラメータ | |
---|---|
setLink | アプリが開くリンク。アプリが処理できる URL (通常はアプリのコンテンツまたはペイロード) を指定します。これにより、アプリ固有のロジック (ユーザーへのクーポンの提供やウェルカム画面の表示など) が開始されます。このリンクは適切な形式の URL である必要があり、適切に URL エンコードされ、HTTP または HTTPS を使用する必要があり、別のダイナミック リンクであってはなりません。 |
setDomainUriPrefix | ダイナミック リンクの URL プレフィックス。Firebase コンソールで確認できます。 Dynamic Link ドメインは次の例のようになります: https://example.com/link https://example.page.link |
Android パラメータ | |
---|---|
setFallbackUrl | アプリがインストールされていないときに開くリンク。アプリがインストールされていないときに Play ストアからアプリをインストールする以外のことを行うには、これを指定します。たとえば、コンテンツのモバイル Web バージョンを開くか、アプリのプロモーション ページを表示します。 |
setMinimumVersion | リンクを開くことができるアプリの最小バージョンの versionCode。インストールされているアプリが古いバージョンの場合、ユーザーは Play ストアに移動してアプリをアップグレードします。 |
Ios パラメータ | |
---|---|
setAppStoreId | アプリがインストールされていないときにユーザーを App Store に送るために使用されるアプリの App Store ID |
setFallbackUrl | アプリがインストールされていないときに開くリンク。アプリがインストールされていないときに App Store からアプリをインストールする以外のことを行うには、これを指定します。たとえば、コンテンツのモバイル Web バージョンを開くか、アプリのプロモーション ページを表示します。 |
setCustomScheme | アプリのカスタム URL スキーム (アプリのバンドル ID 以外に定義されている場合) |
setIpadFallbackUrl | アプリがインストールされていない場合に iPad で開くためのリンク。アプリがインストールされていないときに App Store からアプリをインストールする以外のことを行うには、これを指定します。たとえば、コンテンツの Web バージョンを開くか、アプリのプロモーション ページを表示します。 |
setIpadBundleId | リンクを開くために iPad で使用する iOS アプリのバンドル ID。アプリは、Firebase コンソールの [概要] ページからプロジェクトに接続する必要があります。 |
setMinimumVersion | リンクを開くことができるアプリの最小バージョンのバージョン番号。このフラグはアプリが開かれたときにアプリに渡され、アプリはそれをどう処理するかを決定する必要があります。 |
NavigationInfoParameters | |
---|---|
setForcedRedirectEnabled | 「1」に設定すると、ダイナミック リンクが開いたときにアプリのプレビュー ページをスキップし、代わりにアプリまたはストアにリダイレクトします。アプリのプレビュー ページ (デフォルトで有効) は、ユーザーがアプリで Dynamic Links を開いたときに、最も適切なリンク先に確実に移動できるようにします。ただし、このページがなくてもダイナミック リンクを確実に開くことができるアプリでのみダイナミック リンクが開かれることが予想される場合は、このパラメーターを使用して無効にすることができます。このパラメーターは、iOS でのみダイナミック リンクの動作に影響します。 |
SocialMetaTagParameters | |
---|---|
setTitle | ダイナミック リンクがソーシャル投稿で共有されるときに使用するタイトル。 |
セット説明 | ダイナミック リンクがソーシャル投稿で共有されるときに使用する説明。 |
setImageUrl | このリンクに関連する画像への URL。画像は 300x200 ピクセル以上、300 KB 未満である必要があります。 |
Google アナリティクス パラメータ | |
---|---|
setSource setMedium セットキャンペーン setTerm setContent | Google Play 分析パラメーター。これらのパラメータ (`utm_source`、`utm_medium`、`utm_campaign`、`utm_term`、`utm_content`) は Play ストアに渡されるだけでなく、リンク ペイロードに追加されます。 |
ItunesConnectAnalytics パラメータ | |
---|---|
setProviderToken setAffiliateToken setCampaignToken | iTunes Connect 分析パラメーター。これらのパラメータ (`pt`、`at`、`ct`) は App Store に渡されます。 |