Push bildirimleri yönetmek için OneSignal kullanıyorum. Bazı bildirimler için, ben alıyorum:Nasıl düzeltebilirim: OneSignal ile ilgili şikayette bulunan dil içeriği Swift
... Bildirimler İngilizce dil içeriğini
olmalıdır Ama ingilizce dilinde şeyi gönderme sadeceolduğum
oneSignal.postNotification(["headings" : ["en": "\(who)"],
"subtitle" : ["en": "\(subtitle)"],
"contents" : ["en": "\(contents)"],
"include_player_ids": [result]],
Kim, altyazı, içerik Dizelerdir, sonuç alıcı kimliğidir. Bazı bildirimler gönderilir, bazıları için hata mesajını alırım.
Konsolu:
> ERROR: Create notification failed
Error Domain=OneSignalError Code=400 "(null)" UserInfo={returned={
errors = (
" Notifications must have English language content"
);
}}
Benim tam fonksiyon:
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)
}
})
})
}
ben eksik? Yardım çok takdir edilir.
görünür:
OneSignal Dokümantasyon: Bu çalışan bir kod örneğidir. Altyazı gövdesi olarak boş dizeler göndererek, isteğe bağlı değerler ile bir fonksiyonum vardı ... daha somut bir hata mesajı yardımcı olurdu ... yardımınız için teşekkür ederiz –
Karşılama. Lütfen 'cevap' olarak işaretle. – Vincent
yapacağım. ve ben de size ödül vereceğim. Ödülün sadece 6 günü kaldı ve belki birinin yararlı ipuçları ya da bunun gibi bir şey var. endişelenme seni unutmayacak. –