Push-уведомление Titanium показывает всю полезную нагрузку вместо фактического сообщения
Я использую cURL для отправки push-уведомлений в appcelerator, использую это некоторое время без проблем.
Внезапно appcelerator не может обработать полезную нагрузку JSON и показывает всю строку JSON в виде сообщения на реальном устройстве. Вот как выглядят наши данные для curl:
channel=dev&payload={"alert":"The Message","title":"Title","vibrate":true, content-available:1, "badge":"+1", "sound":"default", "id":617, "icon":"appicon"}&to_ids=everyone
И это то, что мое устройство показывает как push-уведомление:
"{
"alert":"The Message",
"title":"Title",
"vibrate":true,
content-available:1,
"badge":"+1",
"sound":"default",
"id":617,
"icon":"appicon"
}"
вместо: "Сообщение"
2 ответа
Решение
Оказывается, в JSON был \ n, который разбил строку JSON. сначала построив массив, затем с помощью json_encode() в PHP исправил проблему
Вам нужно будет проанализировать JSON, который входит в ваше приложение. Полезная нагрузка - JSON.
Итак, предполагая, что полезная нагрузка входит с переменной data
, вам нужно сделать это:
alert(JSON.parse(data).alert);
Это отобразит свойство alert полезной нагрузки.