2016-04-28 6 views
2

PushSharpを使用してGCMプッシュ通知のメッセージ本文を構造化する方法が多少混乱します。PushSharp 4.0でGCMメッセージを構造化する

  broker.QueueNotification (new GcmNotification { 
       RegistrationIds = new List<string> { 
        regId 
       }, 
       Data = JObject.Parse ("{ \"somekey\" : \"somevalue\" }") 
      }); 

私はテストのためにポストマンを使用してきた私は、次のJSON形式でメッセージを送信する:このようメッセージ構造になりそうだ何GitHubのレポショーでのドキュメントだけでなく、テストファイルhttps://gcm-http.googleapis.com/gcm/send

{ 
    "to": "000-0000-mytoken-foo", 
    "notification" : { 
     "title" : "Push Test Notification", 
     "body" : "GCM Test Push", 
     "icon" : "icon", 
     "color" : "#FF4081" 
    } 

} 

'to'され、メッセージの'notification'のセクションでは、すでにフレームワークによって世話を?私が見た例に基づいて、私はキーを入力する必要があるように思えます:通知オブジェクトの値のペアが、どこに記載されているか、ドキュメント内の実際のメッセージの例を見つけることができないようです。私はPushSharpの最新バージョン(4.x)を使用しています。

+0

設定方法はありましたか?成功メッセージを受け取っていますが、Androidに通知が届いていません。 – pechar

+1

@pecharはい、おそらくデータメッセージではなく通知を送信したいと考えています。 'Data = JObject.Parse'を' Notification = JObject.Parse'に変更してください。少し後で例を挙げてもっと肉体的な回答を投稿します。 –

+0

お返事ありがとうございます。私は実際にそれを夕方に走らせることができました。 Android Appがそこを渡されたデータを使って通知を処理してから、私は 'Data'プロパティを使っていました。しかし、私はそれがあなたのアプリが通知をどのように処理するかに依存していると思います。 'to 'は' notification'と同じ方法で 'GcmNotification'の別のプロパティに代入することもできます – pechar

答えて

1

こんにちはカスタムデータ値が到着しているが、通知はありません:)項目は「あなた」というあなたのパラメータのような動的な引数ですから始まる場合、私はテストしていないこの

var config = new GcmConfiguration("senderKey", "apiKey", null); 
config.GcmUrl = "https://fcm.googleapis.com/fcm/send"; //!!!!!gmc changed to fcm;) 

var gcmBroker = new GcmServiceBroker(config); 
gcmBroker.Start(); 

_gcmBroker.QueueNotification(new GcmNotification 
       { 
        RegistrationIds = new List<string> { "YourDeviceToken" }, 
        Notification = JObject.Parse(
         "{" + 
          "\"title\" : \"" + yourMessageTitle + "\"," + 
          "\"body\" : \"" + yourMessageBody + "\"," + 
          "\"sound\" : \"mySound.caf\"" + 
         "}") , 
        Data = JObject.Parse(
         "{" +        
          "\"CustomDataKey1\" : \"" + yourCustomDataValue1 + "\"," + 
          "\"CustomDataKey2\" : \"" + yourCustomDataValue2 + "\"" + 
         "}") 
       }); 

のように行くことができますそのメソッドなどに渡す。質問は長い時間前に尋ねたが、私は今すぐpushsharpを使い始めた:これがPushSharpユーザに役立つことを願っている。

+1

私はこのコードをテストしており、動作していません –

+0

エラーは何ですか? _gcmBrokerのイベントに登録しましたか?例:_gcmBroker.OnNotificationSucceeded + = notification => { //Console.WriteLine("Android Notification Sent! "); };このイベントから何を受け取るのですか? @AhmadArslan –

関連する問題