Discourse Hubアプリで開くために投稿を共有する

例として WhatsApp で投稿のリンクを共有すると、Discourse Hub アプリがインストールされ関連フォーラムが接続されているにもかかわらず、スマホのブラウザで開かれてしまいます。そのため、ユーザーはアプリではなくブラウザでログインする必要が出てしまいます。
リンクをアプリに直接開くように共有する方法はありますか?

「いいね!」 1

この仕組みがどうなっているか正確にはわかりませんが、@pmusaraj さんはご存知ですか?

「いいね!」 1

iOSアプリには共有拡張機能が搭載されています。つまり、ほとんどのアプリでリンクを共有する際、以下のような画面が表示されます。

WhatsAppでこの「共有」ダイアログが表示されるようになれば、リンクを当社のアプリに送信できます。しかし、私のスマホではWhatsAppでそれがうまくいかないようです。

「いいね!」 3

@gordon_mrmoco さんはWhatsApp(またはテキストメッセージやその他のアプリ)内のリンクをクリックして、Discourse Hub が自動的に開かれるようにしたいのだと思います。

Android では App Links (https://developer.android.com/training/app-links/)、iOS では Universal Links (App Search Programming Guide: Support Universal Links) でこれが可能だと思います。

Android では: https://developer.android.com/studio/write/app-link-indexing

Android App Links は、ユーザーを Android アプリ内の特定のコンテンツに直接誘導する HTTP URL です。App Links は、アプリへのトラフィックを増やし、どのアプリ コンテンツが最も使用されているかを把握し、ユーザーがインストール済みアプリ内のコンテンツを共有したり見つけたりしやすくすることができます。

Android App Links のサポートを追加するには:

  1. マニフェストにインテント フィルターを作成します。
  2. 着信リンクを処理するコードをアプリのアクティビティに追加します。
  3. アプリとウェブサイトを Digital Asset Links で関連付けます。

Android Studio 2.3 以降の App Links Assistant は、以下に説明するステップバイステップのウィザードでプロセスを簡略化します。

iOS では:

ウェブサイトとアプリの間に安全な接続を確立するには、それらの間に信頼関係を確立します。この関係は 2 つの部分で確立されます。

  • ウェブサイトに追加する apple-app-site-association ファイル
  • アプリに追加する com.apple.developer.associated-domains 権限 (この部分は「Universal Links の処理のためにアプリを準備する」 (App Search Programming Guide: Support Universal Links) で説明されています)

設定はそれほど難しくないように思えますが、Discourse チームが設定する必要があると思います。設定が完了すれば、Discourse Hub がインストールされている場合にリンクが自動的に開かれるはずです。

編集: Discourse チームから提供される必要はなく、PR でも良いと思います :slightly_smiling_face:

実際、これはDiscourseHubアプリでは難しいです。com.apple.developer.associated-domainsの権限に数千ものDiscourseサイトのドメイン名を追加する必要があります…ユニバーサルリンクシステムは、数千ものドメインをアプリに関連付けるようには作られておらず、数個のドメインをアプリに関連付けるようになっています。

(Androidでは、これはPWAでそのまま機能するはずです。)

「いいね!」 1

うーん、残念です :confused: これはAndroid PWAで機能しますか?将来のiOS PWAでも機能する可能性はありますか?