【问题标题】:Send diferrent push notification messages depending on languages setting根据语言设置发送不同的推送通知消息
【发布时间】:2017-05-03 09:22:38
【问题描述】:
我用
制作了推送通知系统
Amazon SNS + Apple 推送通知服务
亚马逊 SNS + 谷歌云消息传递
每部手机都在订阅亚马逊SNS上的一个话题
我通过“发布消息”功能发送消息。
但是我想根据每部手机的不同发送不同的消息
语言设置。
有可能吗?或者我可以在哪里设置???
感谢回复。
有些需要数据库,有些需要 api。
但是,我都没有,然后我尝试解决方法。
- 为每种语言创建一个主题。
- 根据主题检查设备语言和下标。
这样,当用户更改设备语言设置时,我可能需要添加更多逻辑。
目前运行良好。非常感谢。
【问题讨论】:
标签:
android
ios
amazon-web-services
【解决方案1】:
您的应用程序应该通过api 向您发送语言,这样您就可以跟踪上次更新语言的记录以及何时推送通知检查语言并以该语言发送有效负载!
在 ios 中,我们可以获取手机的语言,例如,
NSString * language = [[NSLocale preferredLanguages] objectAtIndex:0];
(参考:this so post)
因此,当应用程序启动时,请检查手机语言并发送到服务器。当服务器推送通知时,检查最后更新的语言并以该语言发送!
【解决方案2】:
您必须使用网络数据库来管理它。例如从 android 和 ios 获取语言以及设备密钥。并触发查询以获取所选语言的设备并向他们发送通知。你必须一组一组的去
【解决方案3】:
有两种方法。
- 如果你有 const 按摩,第一个:
将您的文本存储在 strings.xml 中并使用翻译编辑器(在 android studio 中)输入您自己的翻译。
因此,当您推送通知时,消息字符串将针对当前设备的本地语言。
- 第二个如果您的按摩依赖于本地网站,那么您需要在您的代码中执行此操作。
了解当前设备本地
Locale current = getResources().getConfiguration().locale;