OneSignal - Swift - 接收不同语言的推送通知



我正在使用OneSignal的sdk。假设我有以下用例:

用户 A 使用我的德语应用。他在应用程序内触发一个操作,例如,对用户B的图像进行点赞,用户B会收到有关类似内容的推送通知。但用户 B 使用英语应用。我怎样才能做到这一点?

我的意思是,我可以用特定语言发送通知消息,但是如果用户B决定将移动设备的语言更改为土耳其语,那么我必须灵活。

有什么方法可以在目标设备上访问传入的推送通知吗?

目前,我用于从源设备发送通知的代码如下所示:

public func notifyAboutSubscription(userObject:User, receiverArray:[String]) {
var receiverArray = removeChallengeCreatorTokenFromArray(receiverArray: receiverArray)
notificationTypeService.clearReceiverListForNotificationType(completionHandler: { (clearedReceiverArray) in
receiverArray = clearedReceiverArray
let source = self.determineUserType(userObject: userObject)
// actual message is source + FOLLOW_MESSAGE
OneSignal.postNotification(["contents": ["en": source
+ FOLLOW_MESSAGE], "include_player_ids": receiverArray])
}, receiverList: receiverArray, notificationType: NotificationType.follow)
}

好吧。我刚刚找到了解决方案。这是上面修改后的代码:

public func notifyAboutSubscription(userObject:User, receiverArray:[String]) {
var receiverArray = removeChallengeCreatorTokenFromArray(receiverArray: receiverArray)

notificationTypeService.clearReceiverListForNotificationType(completionHandler: { (clearedReceiverArray) in
receiverArray = clearedReceiverArray
let source = self.determineUserType(userObject: userObject)
OneSignal.postNotification(["contents": ["en": source +
" started following you", "de": source + " folgt dir jetzt", "tr": source + " seni takip ediyor"], "include_player_ids": receiverArray])
}, receiverList: receiverArray, notificationType: NotificationType.follow)
}

您基本上为每种语言添加相应的键。根据设备语言,将显示正确的消息。

最新更新