5

Google Cloud Messaging (GCM) を Chrome に実装する方法に関する優れたドキュメントを次に示します。しかし、javascriptを使用してトピックにサブスクライブする方法(Chrome用)の参照は、ここまたはどこにも見つかりませんでした。

ここで、Android のタスクを実行する方法のリファレンスを見つけました: https://developers.google.com/cloud-messaging/topic-messaging#subscribe-to-a-topic

GCM でトピックをサブスクライブするための Java コード (Android):

private void subscribeTopics(String token) throws IOException {
    GcmPubSub pubSub = GcmPubSub.getInstance(this);
    for (String topic : TOPICS) {
        pubSub.subscribe(token, "/topics/" + topic, null);
    }
}

私が探していないもの

Chrome アプリ/拡張機能の方法を探していません。

私が欲しいものは

すべてのユーザーにプッシュ通知を送信したいと考えています。これまでのところ、これは次の 2 つの方法で達成できることがわかっています。

  1. メッセージをトピックにプッシュする
  2. または、「デバイスの登録 ID のリストを送信する必要があります。また、このリストは 1000 を超えてはなりません。1000 を超えるデバイスにメッセージを送信する場合、これは GCM の制限です。リストを分割する必要があります。 1000 のチャンク。」

ポイント2は避けたい。

私の質問

それで、私の質問は、Chrome ブラウザー (Web ページ用) の Javascript を使用して GCM のトピックにサブスクライブする方法はありますか? ある場合、それを行う方法は?

4

2 に答える 2

2

GCM トピックは Web プッシュではサポートされていません。この理由は、ユーザーごとに異なるキーで暗号化する必要があるペイロードの今後の追加に関連している可能性があります。

だから私はあなたが2)で立ち往生しているのではないかと心配しています。もちろん、これはユーザーの数によって異なりますが、現在の状況では、トピックを使用する場合、何百万人もの人々にメッセージを即座に送信できることを覚えておいてください. メッセージを受信すると、それらのすべてのユーザーはサイトに「https-ing」して通知を表示するために必要な情報を取得するため、トピックが多くの人に使用される場合、DOS を実行するリスクがあります。1000 のグループでバッチ処理すると、着信トラフィックを調整するのに役立ちます。

于 2016-02-19T09:24:59.810 に答える
1

私がコメントした回答への可視性のための回答を投稿します。


FCM は最近 (2016 年 10 月 17 日)、Firebase JavaScript ライブラリを発表しました。

本日、JavaScript ライブラリのリリースによる Firebase Cloud Messaging (FCM) の Web サポートを発表します。これにより、現在のブラウザー サポートが拡張され、実装プロセスが大幅に簡素化され、トピックやデバイス グループ メッセージングなどの強力な機能が Web にもたらされます

--

FCM JavaScript ライブラリを使用すると、Web プッシュ通知を単一のデバイス、トピック、またはデバイスのグループに送信できます。Web でのトピック サポートの追加により、開発者は、特定のトピックにオプトインした Android、iOS、および Web ユーザーにメッセージを送信できるようになります。トピックとデバイス グループを利用するには、サーバー側 API を使用してトピックグループのサブスクリプションを管理します。

JavaScript クライアント アプリのセットアップに関する Firebase ドキュメントへのリンク。

于 2016-10-18T03:42:02.167 に答える