web-dev-qa-db-ja.com

自分のドメイン名を使用してFirebaseDynamicLinkを短縮する方法

IOSアプリに Firebase Dynamic Links を実装しようとしています。目標は、人々がソーシャルメディアでリンクを共有できるように、マーケティング目的でクリーンなURLを用意することです。アイデアは、人々が私のドメイン名で始まるクリーンURLを共有するというものです。

そのリンクをクリックしてアプリをインストールすると、Firebaseによって配信されるペイロードを確認することで、アプリのインストールを誰が参照したかを追跡できるようになります。この目標は、Firebaseの ユースケース Webユーザーをモバイルアプリユーザーに変換することに似ていると思います。

ソーシャルメディアで共有するために提供したいリンクの例は次のとおりです。 http://example.com/my-payload-here

いくつかのケースを試しましたが、どのような場合でも、探している動作を取得できません。誰かがこれを以前にうまく実装したことがありますか?

これが私のテスト手順です:

  1. アプリをアンインストールします
  2. IMessageでテストするリンクを自分に送信する
  3. IOSデバイスのリンクをタップします(シミュレーターを使用していません)
  4. AppStoreからアプリをインストールします
  5. ダウンロードが完了したら、AppStoreの[開く]ボタンをタップしてアプリを起動します

以下は私の発見です:

  1. Firebase Consoleから生成された短いリンクhttps://xyz.app.goo.gl/ABCD )-リンクが開きますAppStoreで。アプリをインストールします。インストール後にアプリを起動すると、ペイロードが配信されません。アプリを終了し、iMessageのリンクに戻って、もう一度起動すると、ペイロードが配信されます。

  2. #1で生成されたリンクのFirebaseコンソールからの「ロングダイナミックリンク」と同じロングリンクhttps:// xyz。 app.goo.gl/?link=http://example.com/my-payload-here&isi=12345&ibi=com.example.MyApp )-動作は#1と同じです

  3. 私のドメインを使用した短いリンクhttp://example.com/redirect/my-payload-here 、301に設定#2のURLにリダイレクト)-AppStoreで開きます。インストールします。インストール後にアプリを起動すると、ペイロードが配信されません。アプリを終了し、iMessageのリンクに戻ってもう一度起動しても、リンクは引き続きAppStoreに移動します。

私が持っているいくつかの質問:

  1. ケース1と2の最初の起動時にペイロードが配信されないのはなぜですか?
  2. App Storeにアクセスする代わりに、これでアプリを起動してペイロードを配信するにはどうすればよいですか?

ケース2のディープリンクについては、 Firebaseフローチャート も参照しました。

12
Zach Rattner

これは現在Firebaseでは不可能です。ホワイトラベルのURLが必要な場合は、 自分で作成 またはもっと使用する必要があります Branch.io のような強力なリンクプラットフォーム(完全な開示:私はブランチチームにいます)。

あなたの質問に具体的に答えるには:

  1. テストベッドアプリにFirebaseDynamic Linksを実装しましたが、最初のインストールでのリンクdoesが長いURLと短いURLの両方で機能することを確認できます。 AppDelegate構成に問題がある可能性があるため、コードを共有する場合はそれを確認できます。
  2. 現時点では、Firebaseはカスタムドメインをサポートしていません。理論的には(上記の最初の問題を解決できる場合)、試したようにリダイレクトを使用することで、最初のインストールでこれを機能させることができます。ただし、アプリをインストールすると、アプリを起動することはできませんFirebaseリンクデータを使用。これは、ユニバーサルリンクがリンクのドメインに基づいて機能し、Webの宛先を要求しないためです。自分のドメインでユニバーサルリンクを手動で有効にしても、Firebaseを呼び出さなくてもアプリがすぐに開き、リンクデータが設定されることはありません。
3
Alex Bauer

Google Firebaseチームは、動的リンクにカスタムサブドメインのサポートを追加しました。

  • ダイナミックリンクに最大5つのカスタムpage.linkサブドメインを指定できるようになりました。これらの新しいカスタムサブドメインを使用した短いリンクは、次の例のようになります。 https://example.page.link/abcXYZ

  • 現在、プロジェクトに割り当てられているFirebase Dynamic Linkドメインを削除できませんでした(Firebaseチームが取り組んでいます)。

  • ダイナミックリンクのディープリンク(リンク)またはフォールバックリンク(ifl、ipfl、afl、ofl)として使用できるURLパターンをホワイトリストに登録できるようになりました。ホワイトリストを定義すると、ダイナミックリンクはホワイトリストに登録されたパターンと一致しないURLにリダイレクトされません。

  • Firebase console でこれらの機能の両方を試すことができます。

5
3netra