私はプッシュ通知を管理するのにOneSignalを使用しています。一部の通知のために、私が受けている:解決方法:SwiftのOneSignalに文句を言う言語のコンテンツ
...通知は、英語のコンテンツ
を持っている必要がありますしかし、私は英語のすべてを送信するだけだ
oneSignal.postNotification(["headings" : ["en": "\(who)"],
"subtitle" : ["en": "\(subtitle)"],
"contents" : ["en": "\(contents)"],
"include_player_ids": [result]],
誰が、字幕、内容がストリング、結果は受信者IDです。ほとんどの通知は送信されますが、一部のエラーメッセージが表示されます。
コンソール:
> ERROR: Create notification failed
Error Domain=OneSignalError Code=400 "(null)" UserInfo={returned={
errors = (
" Notifications must have English language content"
);
}}
私の完全な機能:
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)
}
})
})
}
は、私が何をしないのですか?ヘルプは非常に感謝しています。
が見えます。私はオプションの値を持つ関数を持っていました。たとえば、サブタイトル本体として空の文字列を送信しました...もっと具体的なエラーメッセージが役に立ちましたでしょう...助けてくれてありがとうございます –
ようこそ。 「回答」と記入してください。 – Vincent
私はそれを行います。私はあなたに賞金も授与されます。賞金のわずか6日が残っていて、誰かが有用なヒントやそのようなものを持っている可能性があります。心配しないでください。あなたのことを忘れることはありません。 –