Я использую PushSharp для обработки push-уведомлений для iOS.
Все шло хорошо, пока я не осознал, что способ обработки push не слишком мощный:
apnsBroker.QueueNotification(новое ApnsNotification {
DeviceToken = device.DeviceIdentifier,
Payload = JObject.Parse("{\"aps\":{\"alert\" : {\"title\" : \"" + title
+ "\", \"body\" : \"" + body + "\"}, \"badge\":" + badgeCount + "}, " +
"\"entity_id\" : \"" + entityId + "\", \"category_id\" : \"" + categoryId + "\", \"sub_id\" : \"" + subId
+ "\"}")
});
Редактировать / обновить Один из параметров, которые я пытаюсь это \ t \ ud83d \ uddbc️ \ (в основном я хотел передать символ Юникода изображенияframe Emoji, поэтому его можно отобразить в предупреждении APNS.) В настоящее время он ломается.
Я отправляю это в C # следующим образом: @ "\ t \ ud83d \ uddbc️ \"
Итак, как вы можете видеть, я отрисовываю JSON Payload, и этот фреймворк принимает JObject. Проблема, как я сразу предположил во время моего обзора кода, заключается в том, что если какой-либо из этих параметров (заголовок, тело и т. Д.) Заканчиваетсядо таких строк, как {или "или {и т. д., что он" сломает "JSON, потому что JObject не может проанализировать это как действительный JSON.
Что, по вашему мнению, мне следует сделать в этом случае?закодировать это, и я полагаю, единственный докторawback будет у меня обратная косая черта или что-то в кодировке?Любые рекомендации, разрешающие ввод данных пользователем (заголовок и текст могут быть в произвольной форме, поэтому возможно все).
Заранее благодарен за любой совет!
РЕДАКТИРОВАТЬ
Еще раз спасибо Ноль за вашу помощь.
var escapedString = JsonConvert.ToString (normalString);
спас день.Важно отметить, что если вы используете это, то escapedString не следует переносить в "", поскольку он уже будет экранирован (как он упоминал ниже).