web-dev-qa-db-ja.com

WebからPWA(スタンドアロンバージョン)へのディープリンク

PWA標準のおかげで、ホーム画面にスタンドアロンアプリケーションとしてインストールできるWebアプリがあります。

ユーザーがパスワードを忘れた場合、パスワードをリセットするためのリンクが記載された電子メールがユーザーに送信されます。

質問は:

chromeブラウザで、Webアプリケーションの代わりに、既にインストールされているスタンドアロンバージョンにディープリンクできますか?この動作を実現したいと思います。

  • ユーザーがGmailアプリケーションからメールリンクをクリックします。
  • OSは、リンクがシステムに事前登録されているURLスキーマと一致するかどうかを確認します(これは、現時点でWebから可能かどうかはわかりません)
  • 見つかった場合は、スタンドアロンバージョンを開きます。それ以外の場合は、ブラウザを開きます。

前もって感謝します!

乾杯

16
Alex29

Json here でインテントフィルターを記述する例があります。マニフェストの関連セクションはintent_filters

{
  "manifest_package": "org.chromium.webapk.test",
  "scope_url": "https://pwa.rocks/",
  "intent_filters": {
    "scope_url_scheme": "https",
    "scope_url_Host": "pwa.rocks",
    "scope_url_path": "/"
  },
  "start_url": "https://pwa.rocks/",
  "display_mode": "standalone",
  "orientation": "portrait",
  "theme_color": "2147483648L",
  "background_color": "2147483648L",
  "icon_urls_and_icon_murmur2_hashes": "http://www.pwa.rocks/icon1.png 0 http://www.pwa.rocks/icon2.png 0",
  "web_manifest_url": "https://pwa.rocks/pwa.webmanifest",
  "version_code": "1",
  "version_name": "1.0",
  "bound_webapk": {
    "runtime_Host": "org.chromium.chrome",
    "runtime_Host_application_name": "Chromium"
  }
}
6

scopemanifest.jsonファイル、他のアプリケーションのすべてのリンクは、ブラウザではなくスタンドアロンバージョンで開きます。ブラウザのリンクは、スタンドアロンではなくブラウザバージョンを優先することに注意してください。例えば:

"start_url": "/",
"scope": "/",
"display": "standalone"

注:アドレスバーから https://example.com/app/ に直接移動すると、インテントフィルターを持つネイティブアプリの場合とまったく同じように機能します。 Chromeは、ユーザーがサイトにアクセスすることを意図しており、このサイトを開くことを想定しています。

出典: developers.google.com/web/fundamentals/integration/webapks

1
martindzejky

Android Webアプリケーションマニフェストのインテントフィルターを次のように構成します ここ

0
vincentlcy