Pergunta

Actually I'm working with PushSharp. I would like to send notification but I have to put variable into this JSON instead of hardcoded text (below example).

var msg = "TEST MESSAGE";
    push.QueueNotification(new GcmNotification().ForDeviceRegistrationId(registrationId)
                             .WithJson("{\"alert\":\"HERE MESSAGE\",\"badge\":7,\"sound\":\"sound.caf\"}"));

Is it possible? How can I put msg variable into

I tried something like this:

push.QueueNotification(new GcmNotification().ForDeviceRegistrationId(registrationId)
                         .WithJson("{\"alert\":\"{0}\",\"badge\":7,\"sound\":\"sound.caf\"}",msg));

but it says: No overload for method 'WithJson' takes '3' arguments.

Any idea's how to solve this problem?

Foi útil?

Solução

If you want to add your message into JSON you could do this:

var msg = "my message"; // this would be set somewhere else in the code
var jsonObject = {
    "alert" : "{0}",
    "badge" : "7",
    "sound" : "sound.caf",
    "msg" : msg
};

// convert the object into a string
var jsonString = JSON.stringify(jsonObject);

push.QueueNotification(new GcmNotification().ForDeviceRegistrationId(registrationId)
        .WithJson(jsonString));

Edit: I changed the code so you don't have to manipulate the string. Instead you can now manipulate the jsonObject. JSON.stringify converts it into a string then.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top