美文网首页
iOS 推送国际化

iOS 推送国际化

作者: hao_da_da | 来源:发表于2019-05-14 19:50 被阅读0次

        iOS推送国际化的方式有几种,根据可控度划分如下:

        1、从源头上解决问题,让服务端的同事根据语言下发推送,这个看个人实力了。

        2、通过Notification Content Extension 在通知显示前完成翻译。这个需要iOS10+版本开始支持,而且在推送频繁时可能会跳过系统回调,漏掉几条没有翻译到。

        主要是通过在Notification Content Extension的didReceiveNotificationRequest:withContentHandler:方法中实现国际化操作。当然也可以随便干点啥,不过不能做耗时操作,耗时太久系统会跳过回调直接显示通知。而且该方法只能修改推送内容,不能取消推送。

        3、通过推送内容Alert Keys 实现国际化。从iOS8.2开始支持,具体参数和示例可以参照 苹果官方说明

        主要是loc-key和loc-args的用法,系统收到推送消息时会通过loc-key的值在Localizable.strings中查找对应的国际化字符串,字符串中的%@会用loc-args中的参数替换,第一个%@使用第一个参数,按照顺序替换,loc-args中多的参数不显示,少的会用<null>补位。

    相关文章

      网友评论

          本文标题:iOS 推送国际化

          本文链接:https://www.haomeiwen.com/subject/lhweaqtx.html