如何在 Onesignal 中通过 api 发送表情符号
How to send emoji via api in Onesignal
我在我的项目中使用 OneSignal,我想通过 api(在我的例子中是打字稿)发送带有特定表情符号的消息。
在我的消息字符串中,例如,这个:
Hey, wake up! :flushed:
但是在 Android 设备上,我得到的文本是:flushed: 文本格式而不是相应的表情符号。
我哪里错了或者我要放弃什么?
第一种方法
从网上复制表情符号并将其与您的消息一起粘贴到 API。
如果以上方法不行,
第二种方法
首先,创建一个方法
public String getMessageWithEmoji(String originalMessage){
String convertedEmoji;
Matcher matcher = Pattern.compile("<emoji>(.*?)<emoji>").matcher(originalMessage);
while (matcher.find()) {
Log.e("extracted emoji",matcher.group(1));
int hex = Integer.parseInt(matcher.group(1).substring(2), 16);
convertedEmoji= String.valueOf(Character.toChars(hex));
originalMessage=originalMessage.replace(matcher.group(),convertedEmoji);
}
return originalMessage;
}
在你的 NotificationExtenderExample class 中(我假设你已经在你的应用程序中扩展了 NotificationExtenderService class。如果没有检查这个 link ).
完成后,添加
builder.setContentTitle(getMessageWithEmoji(receivedResult.payload.title));
在您的 onNotificationProcessing 方法中(对于通知正文中的表情符号,请使用 setContentText).
使用 Unicode 替换表情符号发送通知。此外,在您的 Unicode 前后添加 <emoji>
(这是为了在应用程序中识别表情符号)。
例如,如果你想发送
hello user
使用这个
<emoji>U+1F601<emoji> hello user <emoji>U+1F602<emoji>
如需更多表情符号 Unicode,请访问 here
我在我的项目中使用 OneSignal,我想通过 api(在我的例子中是打字稿)发送带有特定表情符号的消息。
在我的消息字符串中,例如,这个:
Hey, wake up! :flushed:
但是在 Android 设备上,我得到的文本是:flushed: 文本格式而不是相应的表情符号。
我哪里错了或者我要放弃什么?
第一种方法
从网上复制表情符号并将其与您的消息一起粘贴到 API。
如果以上方法不行,
第二种方法
首先,创建一个方法
public String getMessageWithEmoji(String originalMessage){
String convertedEmoji;
Matcher matcher = Pattern.compile("<emoji>(.*?)<emoji>").matcher(originalMessage);
while (matcher.find()) {
Log.e("extracted emoji",matcher.group(1));
int hex = Integer.parseInt(matcher.group(1).substring(2), 16);
convertedEmoji= String.valueOf(Character.toChars(hex));
originalMessage=originalMessage.replace(matcher.group(),convertedEmoji);
}
return originalMessage;
}
在你的 NotificationExtenderExample class 中(我假设你已经在你的应用程序中扩展了 NotificationExtenderService class。如果没有检查这个 link ).
完成后,添加
builder.setContentTitle(getMessageWithEmoji(receivedResult.payload.title));
在您的 onNotificationProcessing 方法中(对于通知正文中的表情符号,请使用 setContentText).
使用 Unicode 替换表情符号发送通知。此外,在您的 Unicode 前后添加 <emoji>
(这是为了在应用程序中识别表情符号)。
例如,如果你想发送
hello user
使用这个
<emoji>U+1F601<emoji> hello user <emoji>U+1F602<emoji>
如需更多表情符号 Unicode,请访问 here