iOS APNs 实现多语言及自定义事件
来源:互联网 发布:ubuntu怎么改成中文 编辑:程序博客网 时间:2024/06/05 02:31
iOS实现远程推送的多语言显示,通常有两种方法:
- 在服务器端实现多语言推送。这种方法需要App在上传device token到后台服务器的时候,将App使用的语言也同步上传;
- 在App端实现多语言显示。
我们先来看下,APNs的payload定义的格式:(注意,payload的最大长度是256bytes,超出长度的推送消息会失败)
- 比较常用的一种payload的格式:
{ "aps" : { "alert" : "我是被推送的消息", "badge" : 1, "sound" : "default" }}
这是最简单的一种格式,App直接显示alert中的字符串。这种方法适用于服务器端实现多语言(如果需要的话)。
- 定义loc-的payload格式:
(1) loc-key: 在App端的Localizable.strings文件中定义好的多语言字段;
(2) loc-args: 在App端的多语言字段中需要带的参数;
(3) action-loc-key: 同样在App端的Localizable.string文件中定义好的多语言字段,用来替代在锁屏页面View按钮
(4) body: 推送中显示的字段;(经测试,如果定义了loc-key,那么这个字段似乎没用)
(5) launch-image: 应用在 bundle 里的一个图片文件的名称,一般来说我们不指定这一属性;
{ "aps" : { "alert" : { "body" : "我是推送的消息", "action-loc-key" : "Play_MSG", "loc-key":"Borrow_MSG", "loc-args":["XYZ"] }, "badge" : 1, "sound" : "default" }}"action-loc-key"字段不是必须的,是否定义的样式区别如下:“slide to view”中的"view"就是定义的多语言字段 "Play_MSG"。
"loc-args"字段也不是必须的,如果"loc-key"的多语言字段中不需要参数,则该字段可以省略。例如:"loc-key"中"Borrow_MSG"定义的多语言字段为 "%@ wants to borrow %@'s money"。那么"loc-args"的值就应该是 ["LiLei", "HanMeimei"]。最终App端显示的推送消息就是 “LiLei wants to borrow HanMeimei's money”。
- 自定义key-value的payload格式:
{ "aps" : { "alert" : { "body" : "", "action-loc-key" : "", "loc-key":"", "loc-args":[] }, "badge" : 1, "sound" : "default" }, "key1":"value1", "key2":["value21", "value22"]}让App更加灵活地根据不同类型的推送消息来处理不同的事件。value值可以为字符串,也可以为JSON对象。
附:在本地测试推送服务器:
PushMeBaby
0 0
- iOS APNs 实现多语言及自定义事件
- ios开发: APNS消息推送实现
- ios开发: APNS消息推送实现
- ios开发: APNS消息推送实现
- IOS开发 APNS消息推送实现
- IOS APNS 含java服务器实现
- IOS Java实现消息推送(APNS)
- golang 实现 iOS http2 推送 Apns通知
- java 实现ios端 apns推送
- 【转载】APNS流程及PHP实现
- ios APNS
- IOS APNS
- ios APNS
- iOS UISlider 自定义及竖版实现
- iOS UISlider 自定义及竖版实现
- iOS客户端的APNS服务简介与实现
- iOS客户端的APNS服务简介与实现
- iOS客户端的APNS服务简介与实现
- Spring Cache扩展:注解失效时间+主动刷新缓存
- Nginx 安装和配置
- mysql rownum 的实现方法
- IP核的分类
- 查找python项目依赖并生成requirements.txt
- iOS APNs 实现多语言及自定义事件
- 28款GitHub最流行的开源机器学习项目
- CODEVS 1245 最小的N个和
- 更多选项的框架容器
- GYM 100488 M.Construct a Permutation(构造)
- idea直接推送显示Push master to origin/master was rejected by remote,git命令推送 You are not allowed to push co
- 数据结构-快速排序
- 【阮一峰】TF-IDF与余弦相似性的应用(三):自动摘要
- 用arm交叉编译器编译源码包