【发布时间】:2017-10-30 17:42:32
【问题描述】:
使用表情符号发送通知的最佳做法是什么,有效负载应该是什么样子?
是否需要在应用程序中进行任何解析才能正确显示表情符号,或者如果表情符号格式正确,它可以开箱即用?
我尝试发送这个表情符号并尝试了各种格式:http://www.charbase.com/1f602-unicode-face-with-tears-of-joy
payload 看起来像这样:
"payload": {
"message": "U+1F602 \ud83d\ude02 😂 😂 f0 9f 98 82",
"title": "Hello",
"id": 123,
}
这是应用显示通知的方式:
@Override
protected void onHandleIntent(Intent intent) {
Bundle extras = intent.getExtras();
GCMPayload payload = new GCMPayload(
extras.getString("title"),
extras.getString("message"),
Strings.convertToLong(extras.getString("id")),
);
sendNotification(this, payload);
}
}
在 sendNotification 方法中,通知内容文本设置如下:
NotificationCompat.Builder builder =
new NotificationCompat.Builder(context)
.setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE)
.setContentTitle(payload.getTitle())
.setContentText(payload.getMessage())
.setStyle(new NotificationCompat.BigTextStyle().bigText(payload.getMessage()));
表情符号不会显示,而是显示它们的代码。应该使用哪种编码?为了正确显示表情符号,还需要做什么?
【问题讨论】:
标签: android notifications push-notification google-cloud-messaging emoji