簡體   English   中英

如何在NodeJS服務器中的消息中發送帶有表情符號的IOS推送通知?

[英]How to send IOS Push Notifications with Emoji in message in a NodeJS server?

我編寫了一些服務器代碼來發送推送通知。 我有一個表單字段,稱為消息。 我需要的是在消息中放入一些表情符號字符。

如果我寫\\ ue48d,那么對於雲字符,服務器會將其視為字符串'\\ ue48d'。

如何對其進行解碼,以便可以在推送通知中使用它?

更新:這是我的服務器代碼。 我想將\\ exxx寫入表單的消息字段,並用此代碼對其進行編碼,然后發送給Apple。

exports.create = function(req, res){
    var devices = req.body.devices;
    var message = req.body.message;
    var note = new apn.Notification();
    note.expiry = Math.floor(Date.now() / 1000) + 3600; // Expires 1 hour from now.
    note.badge = 3;
    note.sound = "ping.aiff";
    note.alert =  message;
    note.payload = {'messageFrom': 'Burak'}; 
    for (var i in devices) {
      device =  new apn.Device(devices[i]);
      apnConnection.pushNotification(note, device);
    }

    res.send(200,'Successfull')
}

你一直在說不同的話。 您首先說:

如果我寫\\ ue48d ,那么對於雲字符,服務器會將其視為字符串'\\ ue48d'。

現在你在說

我寫“ \\ e415你好!” 到消息字段。

冒着指出明顯的\ != \\e415

JSON中的UTF8字符類似於\\ u進行編碼,然后字符代碼,即\是要以JSON發送到電話的有效字符。 \\e415不是,這就是為什么您的手機未將其顯示為表情符號字符的原因。

那么,當您向手機發送'\'時,手機會看到什么? 即,當您發送原始正確編碼的字符串時會看到什么。

編輯

如果從服務器發送正確編碼的字符串時它可以工作,那么您可能只需要解碼發送到服務器的消息,然后再將其發送出去即可,即

消息= JSON.parse(消息);

如果您的服務器收到的消息只是一個字符串,那么它應該照常工作。 如果消息是數組或對象,那么您將需要選擇適當的條目以作為消息發送到手機。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM