web-dev-qa-db-ja.com

プログレッシブウェブアプリをAndroidの共有オプションとして登録できますか?

初心者向けの質問全体。

Tl; dr-プログレッシブウェブアプリをAndroidの共有オプションとして登録できますか?

Androidでは、インストールされている他のAndroidアプリと「共有」できます。たとえば、Chrome用のAndroidとGoogle_アプリがAndroidデバイスにインストールされているとします。 Chromeで表示しているウェブサイトをGoogle+と共有するには、Chromeのハンバーガーメニュー→共有…→Google+(インストールされている他のネイティブアプリのリスト)に移動します。インストールされているネイティブアプリのこのリストにプログレッシブWebアプリを登録できますか?はいの場合、いくつかの例やコードラボを見せていただけますか?いいえの場合、この機能はプログレッシブウェブアプリまたはAndroidのロードマップにありますか?

29
fung

最近、PWAはmanifest.jsonを介して、それ自体を共有ターゲットとして登録できます。

詳しくはこちらをご覧ください: https://developers.google.com/web/updates/2018/12/web-share-target

10
KIR

残念ながらそれは不可能です。

インテントシステムは、主にネイティブアプリで役立ちます。

あなたができる唯一のことは、Androidデバイスでインテントとして解析され、ネイティブアプリに渡されるが、逆に、つまりネイティブアプリから->トリガーに移動できない)URLを作成することです。 intent-> web app。これに対する主な障壁は、Webアプリがインテントを処理できることを示す方法がないことです(AndroidManifestを介してネイティブアプリで行われます)。

7
Matt Gaunt

はい。これで、Chrome for Android from version 71 +

PWAのすべての基本(HTTPS、登録されたService Worker、およびマニフェスト)を釘付けにしたと仮定すると、manifest.jsonに次のセクションを追加するだけで済みます。

  "share_target":
  {
    "action": "/share",
    "params":
    {
      "title": "title",
      "text": "text",
      "url": "url"
    }
  },

何かの段階で行き詰まった場合は、詳細 詳細なチュートリアル を作成しました。

4