問題— FacebookモバイルでFirebase Dynamic Linkを開くと、Facebookブラウザーがディープリンクを消費し、意図したモバイルアプリを開きません
質問— Facebookの配信に役立つFirebaseの回避策はありますかダイナミックリンクを意図したとおりに表示するという約束について
私たちは http://applinks.org を認識しており、Facebookが貢献者であることを認識しています。 Firebaseは、AppLinks仕様を使用してサーバーを構成する方法を持っているので、Facebookはディープリンクを通過する代わりにアプリにディープリンクを通過させます。
背景— iOS用に Firebase Dynamic Link を作成し、Androidアプリを作成しました。
ダイナミックリンクは私が期待するすべてを提供し、素晴らしい経験です。
このケースを回避するために、FirebaseダイナミックリンクにリダイレクトするWebページを作成しました。このソリューションにより、次のことが可能になります。
これを行うことの欠点は、リダイレクトを使用して常にWebページを通過する必要があることです。
私たちは同様の問題に苦労していましたが、最終的にそれを解決した方法を次に示します。
これが、共有する最後のFirebase URLだとしましょう
https://xxxx.app.goo.gl/?apn=com.your.package&link=http://www.yourwebsite.com
今あなたのウェブサイトのindex.htmlページに、次のメタタグを追加します
<meta property="fb:app_id" content="your_fb_app_id" />
<meta property="al:Android:package" content="com.your.package" />
<meta property="al:Android:app_name" content="YourAwesomeApp" />
<meta property="al:Android:url" content="somescheme://XYZ" /> <!-- identifiable by your app, your app must handle this data scheme inside your manifest's intent-filter tag --!>
<meta property="al:web:should_fallback" content="true" />
<meta property="al:web:url" content="http://www.yourwebsite.com/" />
このリンクを使用して共有されているFacebookの投稿をクリックすると、アプリが起動します。
Android facebookはInAppBrowserを使用しているため、Facebookでディープリンクが機能しないため、facebookでディープリンクURLを機能させるには、次のようなFacebook設定を変更できます:Facebookアプリ:プロフィールに移動- >アプリの設定->リンクが外部で開いていることを確認します。
設定を変更すると、FacebookアプリのAndroidからディープリンクが開きます
私はいくつかの方法を試しましたが、完全に失敗しました。 Facebookの投稿でダイナミックリンクを使用すると、アプリケーションを開くかどうかを尋ねるダイアログが表示されます(アプリケーションをまだインストールしていません)。私はアプリを開くことを受け入れますが、何も起こりません、それは開きませんApple Store as expected
強制的に開くには、以下のようなリンクを使用する必要がありますAppleストアアプリ https://myapp.app.goo.gl/?link=http://mylink.com&ifl= https://iTunes.Apple.com/us/app/Apple-store/idxxxxxxxx%3Fmt%3D8%26ct%3Dutm_source
最近、クライアントアプリの1つに動的リンクを統合する必要があり、ディープリンクがfacebook + Android_appで機能しないため、多くの問題が発生しました。
印刷上の理由でBranch.ioに移動できなかったため、別の方法で解決する必要があったため、@ Rahul Shuklaのアドバイスに従いました。
私は、ダイナミックリンクIDを受け取り、Facebookアプリリンク(Android + iOS)とリダイレクトスクリプト(window.location = 'your_dynamic_link')に必要なすべてのメタタグを含むHTMLを返す、非常にシンプルなnodejs + express設定で終了しました使用する他のクライアント。
最良の部分は、Facebookでアプリが両方のプラットフォームのプレビューページなしで直接開くようになり、リンクがスクリプトリダイレクトを介してすべてのブラウザーで機能することです。