极光征文 如何实现Emoji表情的推送😆
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了极光征文 如何实现Emoji表情的推送😆相关的知识,希望对你有一定的参考价值。
参考技术A
在开发中难免有些奇葩的需求。正常使用极光推送的都知道,是通过后端直接推字符串,或者json数据
首先在推送前要和后端约定好。
比如以这个表情为例
😀
数据格式1:(UTF-8编码)
数据格式2:
首先说一个场景:
A.用户输入一个带😆表情,然后提交给服务端,注意,这时候服务端收到的不一定是😆,而是被编码后的 \uD83D\uDE00 ,这是个UFT-8编码。
如果这时候服务端需要将这个带😆的表情再转发给用户B,那么B收到的也是 \uD83D\uDE00 。
用极光推送测试情况1
用极光推送测试情况2(这里在指不通过服务端,直接在极光的后台操作)
针对这种推送,到达手机的显示也是UTF-8编码过的,如果想要在手机正常显示表情,需要对字符串解析,以安卓为例使用Gson
解析完成把setText字符串,就能显示表情了
注意这里控制台打印的log是无法识别的字符
最后在手机上显示是这样的
在这个时候直接使用通知栏推送utf-8编码过的表情显然就不行了
然后想象是否可以同过通知栏入手,在接收到系统通知的时候先对消息做序列化处理,处理后再提醒,于是查阅极光的推送文档发现了这个
文档也说了,建议我们使用自定义消息,但是如果使用极光的自定义消息,通知栏是没有提示,这里还需要我们自定义通知栏。
所以为了兼容这种奇葩的推送内容,就只能采用自定消息+自定义通知栏的方式了。
以android为例:
1、服务端要通过极光发送带表情的推送,则在服务端将表情转成utf-8编码,或者用户在提交的表情到服务端的时候本地对带表情的字符串做反序列化操作
2、如果服务端拿到了编码后的表情,想推送给其它用户怎么办?
那就需要推送一条自定义消息了,注意一定要是自定义消息。普通消息会直接在通知栏显示,对未序列化过的例如 \uD83D\uDE00 ,通知栏所出现的还是原编码后的消息。
如果要在客户端显示就必须在自定义消息中手动进行序列化处理。
这样做虽然麻烦了点,但是能避免客户端收到一些乱码。
还有一种情况是,服务端返回给极光推送是 😆 ,但是通过极光转发后就变成了 �� 这样的非法字符,所以针对这种情况建议服务端给提供编码后的utf-8字符,不要直接丢表情过来。
更高级的,还可以对通知栏自定义,推送图片URL等。
再补充一点,如果在用户编辑输入框的时候,不想让他输入 emoji 表情,那么就要通过正则取匹配 emoji 的字符集,如果查到了说明是 emoji 表情,可以给提示禁止输入非法字符等
源码:
MyReceiver.java
另外
关于推送你还可能想要了解的:
「本文为 极光征文 参赛文章」
iOS13.6越狱有望/iOS13.6以及iOS12.4.8推送更新/苹果加入新人权Emoji表情
iOS13.6系统于昨日苹果正式推送,但是如今在海外网站推特上已经曝出新名为tfp0的系统漏洞或将用于iOS13.6的越狱。
值得注意的是目前所有的iPhone只要系统版本低于或等于iOS13.5均可以越狱,在Mifir tech的公众号中回复“越狱”即可获得所有关于越狱的教程。
苹果昨天发布了 iOS 13.6/iPadOS 13.6 正式版,版本号为 17G68,iOS 13 系列用户可通过 OTA 下载 iOS 13.6/iPadOS 13.6。此前已经升级 GM 版的用户可继续使用。本次更新,iOS 13.6 支持数字车钥匙,并在 “健康”App 中包含新的症状类别。本更新还包括错误修复和改进。
iOS 13.6 & iPadOS 13.6 更新内容:
一项更改是,此更新为 Apple News + Audio 奠定了基础。Apple News + Audio 将通过现有的 News 应用程序提供,该应用程序将获得新的 “Audio” 标签。通过 “Audio” 选项卡,Apple News + 订阅者将能够收听出版物中故事的音频版本。
苹果的 CarKey 功能也在 iOS 13.6 中正式引入。苹果公司正在与宝马紧密合作开发该功能,此功能将允许用户使用 iPhone 解锁并启动兼容的汽车。
共享车钥匙时基于特定个人资料授予驾驶员完整或受限的驾驶权限
电量预留可让您在 iPhone 电池耗尽最长五小时内还可解锁和启动车辆
“健康” App 中增加了新的症状类别,包括从 “经期跟踪” 记录的症状
可记录新的症状,如发烧、发冷、咽喉痛或咳嗽,并与第三方 App 共享
新增的设置可让您选择接入无线局域网时是否将更新自动下载至设备!(这个是我们都期待的)
解决了从 iCloud 云盘同步数据时可能导致 App 无响应的问题
修复了可能导致 eSIM 上数据漫游启用时仍显示为停用的问题
修复了来自萨斯喀彻温省的部分电话的归属地显示为美国的问题
解决了通过无线局域网通话打电话时可能导致音频中断的问题
修复了部分 iPhone 6S 和 iPhone SE 设备无法注册无线局域网通话的问题
解决了可能导致连接了某些第三方硬件键盘时软件键盘意外显示的问题
修复了可能导致日文硬件键盘错误映射为美式键盘的问题
解决了辅助触控启用时访问 “控制中心” 的稳定性问题
为管理员提供了将指定域从始终打开 虚拟专用网络 连接的流量中排除的机制
iOS 13.6 & iPadOS 13.6 支持以下设备更新:
iPhone:iPhone 11、iPhone 11 Pro/Pro Max、iPhone XS、iPhone XS Max、iPhone XR、iPhone X、iPhone 8/8 Plus、iPhone 7/7 Plus、iPhone 6s/6s Plus、iPhone SE/SE 2;
iPad:iPad Pro 1/2/3(12.9)、iPad Pro(11)、iPad Pro(10.5)、iPad Pro(9.7)、iPad Air 2/3、iPad 5/6/7、iPad mini 4/5;
iOS 13.6 & iPadOS 13.6 升级方法:
为避免意外情况,在升级前请备份好设备中的重要数据和资料。
打开 iPhone “设置”-“通用”-“软件更新”中检查更新。需要注意的是,如果已经升级至测试版,将无法收到正式版更新提示,需要在设置中删除测试版描述文件重启设备之后,再查看更新。或使用刷机的方式更新 iOS 13.6 正式版。
昨天凌晨,除了 iOS 13.6/iPadOS 13.6 正式版之外,苹果还为 iPhone 6、iPhone 6 Plus 等老机型推送了 iOS 12.4.8 更新 (16G201),为老款机型修复了一些 Bug。
苹果表示,iOS 12.4.8 提供了重要的安全性更新,建议所有用户安装。某些功能并非在所有地区都可用,也并非适用于所有 Apple 设备。
iPhone 5s、iPhone 6、iPhone 6 Plus、iPad Air、iPad mini 2、iPad mini 3 与第六代 iPod touch
1、正式版系统用户直接 OTA 更新即可,测试版用户需要手动删除相应描述文件,重启手机之后即可接收到系统更新。
据外媒报道,苹果 iOS 输入法添加了三个 emoji,当用户输入 “黑人的命也是命”(Black Lives Matter,或简写 BLM)时,输入法会显示这三个 emoji 供用户选择。在 iOS 13.6 或最新的 iOS 14 beta 中,用户可以找到这三个表情。
自乔治 · 弗洛伊德(George Floyd)事件之后,这个 “举拳头”的 emoji 成为了人们抗议种族不平等和警察暴力的象征。Emojipedia 的研究显示,在 5 月底到 6 月这段时间内,中深色和深色皮肤的举拳头表情符号在 Twitter 上的使用率大幅上升。Emojipedia 表示,他们此前进行了一项研究,对 6 月 4 日至 5 日用户发送的 278244 条推文进行了分析,举拳头是用户使用最多的表情符号,而且在使用这些表情的时候,许多用户都会配上 “Black Lives Matter”或 “BLM”这样的文字。
苹果很可能也看到了这一趋势,通过在输入法中自动建议这个表情,人们将能够更轻松地使用它,而无需刻意打开表情符号页面去寻找。除了在自家软件上宣传种族平等之外,苹果还在 6 月 11 日宣布,将投资 1 亿美元发起一个种族平等与正义计划。本周四,苹果还宣布将扩大与黑人高校的合作,为学校附近的社区提供编程教育机会。
以上是关于极光征文 如何实现Emoji表情的推送😆的主要内容,如果未能解决你的问题,请参考以下文章
微信如何输入emoji表情
Python实现emoji表情
使mac版的MYSQL支持emoji表情
使用极光推送实现分组发送和服务端集成
小程序中如何使用Emoji表情
input保存emoji发送java