web-dev-qa-db-ja.com

Facebookモバイルアプリの動的リンクがアプリにディープリンクされていません

問題— FacebookモバイルでFirebase Dynamic Linkを開くと、Facebookブラウザーがディープリンクを消費し、意図したモバイルアプリを開きません

質問— Facebookの配信に役立つFirebaseの回避策はありますかダイナミックリンクを意図したとおりに表示するという約束について

私たちは http://applinks.org を認識しており、Facebookが貢献者であることを認識しています。 Firebaseは、AppLinks仕様を使用してサーバーを構成する方法を持っているので、Facebookはディープリンクを通過する代わりにアプリにディープリンクを通過させます。

背景— iOS用に Firebase Dynamic Link を作成し、Androidアプリを作成しました。

ダイナミックリンクは私が期待するすべてを提供し、素晴らしい経験です。

  1. IOSで開くと、アプリに移動します。インストールされていない場合は、App Storeに移動します
  2. Androidで開くと、アプリに移動します。インストールされていない場合は、Playストアに移動します
  3. モバイル以外で開くと、ウェブサイトに移動します
  4. Facebookモバイルでは、1も2も起こりません。その結果、モバイルウェブエクスペリエンスに直接アクセスできるため、Firebase Dynamic Linkの約束がなくなります。
23
RobLabs

このケースを回避するために、FirebaseダイナミックリンクにリダイレクトするWebページを作成しました。このソリューションにより、次のことが可能になります。

  1. FirebaseのURLではなく、ドメインを使用してください。
  2. たとえばカスタムブラウザー(fb、samsung)から開いた場合など、Firebaseリンクがすべてのケースで機能することを確認します。

これを行うことの欠点は、リダイレクトを使用して常にWebページを通過する必要があることです。

6
German

私たちは同様の問題に苦労していましたが、最終的にそれを解決した方法を次に示します。

これが、共有する最後の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の投稿をクリックすると、アプリが起動します。

2
Rahul Shukla

Android facebookはInAppBrowserを使用しているため、Facebookでディープリンクが機能しないため、facebookでディープリンクURLを機能させるには、次のようなFacebook設定を変更できます:Facebookアプリ:プロフィールに移動- >アプリの設定->リンクが外部で開いていることを確認します。

設定を変更すると、FacebookアプリのAndroidからディープリンクが開きます

2
Shivang

私はいくつかの方法を試しましたが、完全に失敗しました。 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
Ricky

最近、クライアントアプリの1つに動的リンクを統合する必要があり、ディープリンクがfacebook + Android_appで機能しないため、多くの問題が発生しました。

印刷上の理由でBranch.ioに移動できなかったため、別の方法で解決する必要があったため、@ Rahul Shuklaのアドバイスに従いました。

私は、ダイナミックリンクIDを受け取り、Facebookアプリリンク(Android + iOS)とリダイレクトスクリプト(window.location = 'your_dynamic_link')に必要なすべてのメタタグを含むHTMLを返す、非常にシンプルなnodejs + express設定で終了しました使用する他のクライアント。

最良の部分は、Facebookでアプリが両方のプラットフォームのプレビューページなしで直接開くようになり、リンクがスクリプトリダイレクトを介してすべてのブラウザーで機能することです。

ここに要点があります

0
rsevil