I use OneSignal to manage my push notifications. For some notifications, I get:
Notifications must have content in English
But I just sent everything to English ...
oneSignal.postNotification(["headings" : ["en": "\(who)"], "subtitle" : ["en": "\(subtitle)"], "contents" : ["en": "\(contents)"], "include_player_ids": [result]],
Who, subtitles, contents are strings, the result is the identifier of the recipient. Most notifications are sent, for some I get an error message.
Console:
> ERROR: Create notification failed Error Domain=OneSignalError Code=400 "(null)" UserInfo={returned={ errors = ( " Notifications must have English language content" ); }}
My full function:
func sendPush(_ receiverID: String, _ who: String, _ didWhat: String, _ message: String?) { var subtitle = "" var contents = "" if message != nil { contents = message! } switch didWhat { case "likePost": subtitle = "liked your post" case "commentPost": subtitle = "commented on your post" case "likeComment": subtitle = "liked your comment" case "message": subtitle = "sent you a message" case "friendsRequest": subtitle = "sent you a friend request" case "friendAccept": subtitle = "accepted your friend request" case "follow": subtitle = "just followed you" default: break } getOneSignalPlayerID(receiverID, completion: { result in oneSignal.postNotification(["headings" : ["en": "\(who)"], "subtitle" : ["en": "\(subtitle)"], "contents" : ["en": "\(contents)"], "include_player_ids": [result]], onSuccess: { (success) in if success != nil { print(success!) } }, onFailure: { (failure) in if failure != nil { print(failure!) crashlyticsLog("getOneSignalPlayerID", failure!.localizedDescription) } }) }) }
What am I missing? Help is much appreciated.
source share