我有一个
Android应用程序,它支持7个国家(本地化和国际化).应用程序功能和语言根据设备区域设置而更改.
我需要为此应用程序实施GCM推送通知.
需求:
1.可以使用单个GCM帐户发送7种不同语言的推送通知.
2.是否有任何方法以设备本地语言显示推送通知.
谢谢
Ganesh神.
我需要为此应用程序实施GCM推送通知.
需求:
1.可以使用单个GCM帐户发送7种不同语言的推送通知.
2.是否有任何方法以设备本地语言显示推送通知.
谢谢
Ganesh神.
解决方法
您可以采取由Ascorbin建议的方法,也可以实现类似于Apple在推送通知中的方式:
您的服务器可以发送一个带有参数的GCM消息,该参数是消息的密钥. Yout Android应用程序将必须包含每个可能的键,应该为7种语言中的每种语言(使用strings.xml的多个副本)显示的字符串.然后,您的应用程序中的GCM接收器将从服务器获取密钥,并获取与之匹配的资源字符串(它将自动获取与设备的区域设置相匹配的字符串).这样,您就不用担心服务器中的本地化.这种方法的缺点是您的所有消息必须在您的应用程序中预定义.
您还可以添加参数到消息键,如苹果.例如,服务器发送key =“NEW_MAIL_FROM”和param1 =“John”.该应用程序会找到该键的字符串资源(让我们假设设备使用英文语言环境) – “您有来自{0}”的消息 – 并用John替换参数,显示消息“您有来自John的消息”.具有不同语言环境的设备将以不同的语言显示消息.