0

Androidデバイスへの通知をプッシュするためにFCMを使用しようとしていますが、何か不足しているようです。これらは私がC#Android Push NotificationのFCM

  1. は設定から​​https://console.firebase.google.com
  2. で新しいプロジェクトを作成します。続いてきた手順です - >クラウドメッセージング]タブを、私は

    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() + "&registration_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(); 
    
  3. このコードを使用するサーバーキーとSender IDの
  4. を得ました

私は常にミスマッチ送信者IDエラーを受け取ります。私は何かのステップを逃している?モバイルアプリで何かをしなければならないのですか?

+0

こんにちは。 ['MismatchSenderId'](https://firebase.google.com/docs/cloud-messaging/http-server-ref#error-codes)エラーは、通知の送信に使用している送信者IDが関連付けられていないことを示している可能性があります指定された登録トークンで正しい送信者ID(Firebaseコンソール>プロジェクト設定>クラウドメッセージングタブに表示されています)を使用していることが肯定的ですか? –

+0

はいクラウドメッセージングタブではっきりと書かれています。送信者ID – ahmed

+0

あなたのペイロードに関するいくつかの点:1. 'delay_while_idle'は既に推奨されていません。 2. 'registration_id'パラメータが間違っています、' registration_ids'でなければなりません。しかし、ドキュメントでアドバイスされているように、単一のユーザにのみ送信する場合は、代わりに 'to'を使用してください。今すぐ編集してメッセージを送ることができますか? –

答えて

0

エラーが見つかりました。バックエンドの開発者として私はC#の部分だけで作業しました。モバイルアプリケーション側からもう1つのステップを実行する必要があります。モバイルアプリでは、送信者IDのリストからメッセージを受信できるようにする必要があります。そのため、C#コードで使用するものがモバイルアプリ側から許可されている必要があります。私がそれをしたら、それは働いた

+0

こんにちは。送信者ID *のリストからメッセージを受信する方法についての詳細を提供できますか? google-services.jsonに追加しましたか?乾杯! –

関連する問題