問題タブ [firebase-cloud-messaging]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1941 参照

firebase - REST API 経由で Firebase クラウド メッセージング クライアントのサブスクライブを解除する

REST API を介してモバイル クライアントのサブスクリプションを解除することはできますか? アプリケーションサーバーがクライアントのサブスクライブを解除できるようにするために必要です。

0 投票する
12 に答える
152303 参照

c# - FCM (Firebase Cloud Messaging) を使用して C# で Android にプッシュを送信する

このコードを使用して、Winforms、Webforms などを使用して、GCM を使用して C# で通知メッセージを送信しています。次に、FCM (Firebase Cloud Messaging) に送信したいと思います。コードを更新する必要がありますか? :

しかし、GCM は FCM に変更されました。これは通知を送信するための同じコードですか? SERVER_API_KEY はどこにありますか? 同じ解決策ですか?

0 投票する
3 に答える
8598 参照

android - FireBase クラウド メッセージングには Play サービスが必要ですか?

FCM は必要ですか。通知を受け取るには、ユーザーが電話に Play Services をインストールする必要があることを教えてください。

GCM が動作していることがわかりますが、そうでないことを期待して FCM に移行することを計画しています...テストする前にどのように知ることができますか?

0 投票する
7 に答える
49779 参照

java - Firebase コンソールではなく Java からの Firebase Cloud Messaging 通知

Firebase は初めてで、Java アプリケーションがクライアントの Firebase トークンを使用して通知/メッセージを送信しようとすると、送信者 ID の不一致や HTTP ステータス 401 の認証エラーなどのエラーが発生します。Firebase コンソールを使用すると、メッセージをクライアントに送信できることに注意してください。

クライアント アプリでは、次のことを行いました。

  1. ここから複製されたFirebasemessagingクイックスタート アプリ -- https://github.com/firebase/quickstart-android/tree/master/messaging -- Firebase の依存関係などで既にセットアップされています。で複製されたアプリをロードしましたAndroid Studio
  2. Firebase コンソールを使用して、という名前の新しいプロジェクトを作成し、Android アプリのパッケージ名としてMy Notification Client使用するアプリを追加しました。com.google.firebase.quickstart.fcm
  3. google-services.json新しく作成されたプロジェクトに追加された Android アプリ用のダウンロードファイルをmessaging/app/フォルダーにコピーし、 内のグレード ファイルと同期しますAndroid Studio
  4. エミュレーターを作成し、 内からアプリを実行しましたAndroid Studio。アプリがエミュレーターに読み込まれたら、ボタンをクリックして、 のタブでLog Tokenクライアントの Firebase トークンを取得します。Android MonitorAndroid Studio
  5. Firebase コンソールを使用して、新しく作成されたプロジェクトを選択し、左側のペインからリンクをMy Notification ClientクリックしNotificationsて、前の手順で取得した Firebase トークンを貼り付けてデバイスに通知を送信しました。

これはうまくいきました!次のステップは、Firebase コンソールを使用する代わりに、別の単純な Java アプリケーション (最終的に通知サーバーになる) を使用してクライアントに通知を送信することでした。

これを達成するために、ここで概説されている手順に従いました -- https://firebase.google.com/docs/server/setup#prerequisites。具体的には、これらは私が実行した手順です。

  1. My Notification ServerFirebase Console で呼び出される新しいプロジェクトを作成しました。
  2. Firebase コンソールで使用Settings > Permissionsして、新しいサービス アカウントを作成し、serviceAccountCredentials.jsonファイルをダウンロードしました。
  3. Eclipse で新しい Maven プロジェクトを作成し、pom.xml に次の依存関係を追加しました。
  1. 次に、以下に示すように、新しい FCM エンドポイントを使用するために保護されたメソッドcom.google.android.gcm.sender.Senderを作成FCMSenderおよびオーバーライドするように拡張しました。getConnection(String url)

    /li>
  2. 私の Java アプリケーションのmain()メソッドは次のようになります。

    /li>

Java アプリケーションを実行すると、MismatchSenderIdエラーが発生します。curl以下に示すようにトラブルシューティングを試みましたが、同じエラーが発生しました。

Firebase コンソールのプロジェクトのServer KeyリストにあるProject Settings > Cloud Messagingタブを使用する代わりに、を使用してみましたが、それが原因でした。My Notification ServerProject NumberInvalidRequestException: HTTP Status Code: 401

エラーコードのFirebaseドキュメントには、次のことが記載されていますMismatchSenderId

送信者の不一致 200 +error:MismatchSenderId
登録トークンが特定の送信者グループに関連付けられています。クライアント アプリは、FCM に登録するときに、メッセージの送信を許可する送信者を指定する必要があります。メッセージをクライアント アプリに送信するときは、これらの送信者 ID のいずれかを使用する必要があります。別の送信者に切り替えると、既存の登録トークンは機能しなくなります。

My Notification Clientメッセージを受信できるように、Firebase Console で Android アプリ (プロジェクトに追加されたもの) を構成できる場所/方法がわかりませんでした。

これについて何か助けていただければ幸いです!