表情符号在推送通知中显示为unicode字符。i-e:如果我们有像";\ud83d\ude0a";。这是SMILE EMOJI的代码,它显示为unicode字符,或者有时在推送通知中显示问号。
在代码或服务器端还有什么需要做的吗?如有任何帮助,我们将不胜感激。我们在后端使用java
Json示例:
{
"to": "c2rMPP0eK04Ro0FJDgMflH:APA91bEydhoB0VU5W6PxJLnIRoFqOk5npEjlWzBlvdyBlX1Cp72t0bYxDyepP5Z9mWFQ2XYeUPw8PDo3QqT6Anh27wqnkBRbabTYKn0tByOZOMU6oRlrGur-efxN9_-8LlOmDZceg9Kl",
"notification": {
"body": "Hello",
"title": "This is done manually. uD83DuDE0A"
}
}
我们尝试
byte[] emojis = user.getEmoji().getBytes();
String emojisAsString = new String(emojis, StandardCharsets.UTF_8);
Integer emojiCodePoint = emojisAsString.codePointAt(emojisAsString.offsetByCodePoints(0,0));
char emojiChars[] = {Character.highSurrogate(emojiCodePoint), Character.lowSurrogate(emojiCodePoint)};
注意:如果我们从邮递员那里解雇这些东西,那么它是有效的,但不是从后端启动时工作
试试这个字符串:
"u{D83D}u{DE0A}"
如果您正在从DB中读取,请尝试更新您的DB驱动程序。就像使用MySQL一样,使用"MySQL-connector java:5.1.47"或更高版本。
"\uD83D\uDE0A";或";\u{D83D}\u{DE0A}";未编码为表情符号。
您应该像u{
和}
:一样进行编码
"u{1F600} u{1F616}"
参考链接:
表情符号Unicode
iOS 中的Unicode
它在操场上工作。检查它是否在通知面板上工作。