0

私は、Androidとiphoneの両方に通知を送り出すために、サーバーに通知サービスを実装しています。Amazon SNSを使用したAndroid GCMのデフォルトメッセージのみを受信

私が現在抱えている問題は、私がテストしているAndroidデバイスがデフォルトメッセージを受信して​​いるということです。次のように

私のコードは次のとおりです。 - 以下のように

メインプログラム

string smsMessageString = "{\"default\": \"This is the default message which must be present when publishing a message to a topic. The default message will only be " + 
                " used if a message is not present for one of the notification platforms.\"," + 
            "\"APNS\": {\"aps\": {\"alert\": \"Check out these awesome deals!\",\"url\": \"www.amazon.com\"}}," + 
            "\"GCM\": {\"data\": {\"message\": \"Check out these awesome deals!\",\"url\": \"www.amazon.com\"}}," + 
            "\"ADM\": {\"data\": {\"message\": \"Check out these awesome deals!\",\"url\": \"www.amazon.com\"}}}"; 


     var smsMessage = new SmsMessageObj 
     { 
      smsMessageSubject = "Test Message", 
      smsMessageBody = smsMessageString 
     }; 

     snsClient.SendPush(endpointArn, smsMessage); 

とSendPushは次のとおりです。 - 私はできるように

public void SendPush(string endpointArn, SmsMessageObj msg) 
    { 
     if (string.IsNullOrEmpty(endpointArn)) 
      throw new Exception("Endpoint ARN was null"); 

     var pushMsg = new PublishRequest 
     { 
      Message = msg.smsMessageBody, 
      MessageStructure = "json", 
      Subject = msg.smsMessageSubject, 
      TargetArn = endpointArn 
     }; 


     _client.Publish(pushMsg); 

    } 

は、私はより多くのものを含める必要があります「正しい」Android通知を受け取りますか?

私はapp.configに何か必要ですか?

ご協力いただきありがとうございます。

答えて

0

私はこの問題を解決しました。私がする必要があったのは、Jsonを文字列にすることでした。多分それは将来他の誰かを助けるでしょう。だから私がしたのは:

 var apns_Json = "{\"aps\": {\"alert\": \"Check out these awesome deals_Apple!\",\"url\": \"www.amazon.com\"}}"; 
     var gcm_Json = "{\"data\": {\"message\": \"Check out these awesome deals_Google!\",\"url\": \"www.amazon.com\"}}"; 
     var adm_Json = "{\"data\": {\"message\": \"Check out these awesome deals!\",\"url\": \"www.amazon.com\"}}"; 

     string smsMessageString = "{\"default\": \"This is the default message which must be present when publishing a message to a topic. The default message will only be " + 
             " used if a message is not present for one of the notification platforms.\"," + 
         "\"APNS\": " + JsonConvert.ToString(apns_Json) + "," + 
         "\"GCM\": " + JsonConvert.ToString(gcm_Json) + "," + 
         "\"ADM\": " + JsonConvert.ToString(adm_Json) + "}"; 
関連する問題