我在推送通知中的'alert'标签中收到了母语。由于字符串编码的一些问题,消息显示为罗马字符。所以我想在'alert'标签中获取消息并在将其显示为通知之前进行编辑。我尝试了didReceiveRemoteNotification回调,我不认为它被调用。我怎么能这样做?
答案 0 :(得分:2)
当应用程序位于前台/后台以及应用程序根本没有运行时,推送通知会有不同的行为。当应用程序运行时,无论是否在前台,您都会收到didReceiveRemoteNotification:
的来电,并且您将负责处理通知的显示(操作系统不会为您执行此操作)。
当应用程序在后台时,只有当用户按下操作系统向他/她显示的通知横幅/警告时,您才会收到didReceiveRemoteNotification:
的来电。如果用户选择不与通知进行互动,您的应用甚至都不会知道。
如果应用程序根本没有运行,行为将类似于应用程序在后台时的行为,只有您将在application:didFinishLaunchingWithOptions:
的userInfo字典中收到推送通知指示和数据
因此,如果您的问题涉及应用程序位于前台的情况,那么这应该不是问题,您可以使用警报字段执行任何操作,然后再将其显示给用户。否则,操作系统有责任显示警报,使其更复杂一些。尝试使用可用的工具来本地化警报,如下所述:Change language of alert in banner of Push Notification。希望它会有所帮助。祝你好运。