Androidデバイスへの通知をプッシュするためにFCMを使用しようとしていますが、何か不足しているようです。これらは私がC#Android Push NotificationのFCM
- は設定からhttps://console.firebase.google.com
- で新しいプロジェクトを作成します。続いてきた手順です - >クラウドメッセージング]タブを、私は
var regId = "device id"; string SERVER_API_KEY = "Firebase Server key"; var SENDER_ID = "Sender ID"; var value = "Test Notification"; WebRequest tRequest; tRequest = WebRequest.Create("https://fcm.googleapis.com/fcm/send"); tRequest.Method = "post"; tRequest.ContentType = " application/x-www-form-urlencoded;charset=UTF-8"; tRequest.Headers.Add(string.Format("Authorization: key={0}", SERVER_API_KEY)); tRequest.Headers.Add(string.Format("Sender: id={0}", SENDER_ID)); string postData = "collapse_key=score_update&time_to_live=108&delay_while_idle=1&data.message=" + value + "&data.time=" + System.DateTime.Now.ToString() + "®istration_id=" + regId + ""; Console.WriteLine(postData); byte[] byteArray = Encoding.UTF8.GetBytes(postData); tRequest.ContentLength = byteArray.Length; Stream dataStream = tRequest.GetRequestStream(); dataStream.Write(byteArray, 0, byteArray.Length); dataStream.Close(); WebResponse tResponse = tRequest.GetResponse(); dataStream = tResponse.GetResponseStream(); StreamReader tReader = new StreamReader(dataStream); string sResponseFromServer = tReader.ReadToEnd(); tReader.Close(); dataStream.Close(); tResponse.Close();
このコードを使用するサーバーキーとSender IDの
を得ました
私は常にミスマッチ送信者IDエラーを受け取ります。私は何かのステップを逃している?モバイルアプリで何かをしなければならないのですか?
こんにちは。 ['MismatchSenderId'](https://firebase.google.com/docs/cloud-messaging/http-server-ref#error-codes)エラーは、通知の送信に使用している送信者IDが関連付けられていないことを示している可能性があります指定された登録トークンで正しい送信者ID(Firebaseコンソール>プロジェクト設定>クラウドメッセージングタブに表示されています)を使用していることが肯定的ですか? –
はいクラウドメッセージングタブではっきりと書かれています。送信者ID – ahmed
あなたのペイロードに関するいくつかの点:1. 'delay_while_idle'は既に推奨されていません。 2. 'registration_id'パラメータが間違っています、' registration_ids'でなければなりません。しかし、ドキュメントでアドバイスされているように、単一のユーザにのみ送信する場合は、代わりに 'to'を使用してください。今すぐ編集してメッセージを送ることができますか? –