使用 Backendless 推送通知,我的设备成功接收到它们。但是当我尝试将消息的“ios-sound”参数设置为我添加到项目中的 mp3 时,它不会播放任何声音:
在Backendless 文档中,它说设置“ios-sound”执行以下操作:
设置要在设备上播放的声音通知的 URL 或要播放的声音的字节数组。
我无法弄清楚我做错了什么。唔...
使用 Backendless 推送通知,我的设备成功接收到它们。但是当我尝试将消息的“ios-sound”参数设置为我添加到项目中的 mp3 时,它不会播放任何声音:
在Backendless 文档中,它说设置“ios-sound”执行以下操作:
设置要在设备上播放的声音通知的 URL 或要播放的声音的字节数组。
我无法弄清楚我做错了什么。唔...
除了我已经在做的 registerForRemoteNotifications() 之外,还通过调用 registerUserNotificationSettings 解决了这个问题。
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
backendless.initApp(APP_ID, secret:SECRET_KEY, version:VERSION_NUM)
//NEEDED TO DO THE FOLLOWING TWO LINES
let settings = UIUserNotificationSettings(forTypes: [.Alert, .Badge, .Sound], categories: nil)
UIApplication.sharedApplication().registerUserNotificationSettings(settings)
UIApplication.sharedApplication().registerForRemoteNotifications()
return true
}
我之前没有调用它的原因是因为Backendless Docs说简单地调用 .registerForRemoteNotifications() 涵盖警报、徽章和声音。然而,这似乎是不正确的。
如果您在您的设备上成功收到通知,那么您的音频文件可能很大
自定义声音在播放时必须少于 30 秒。如果自定义声音超过该限制,则会播放默认系统声音。因此请确保您的自定义声音小于 30 秒。
您的音频数据必须在 aiff、wav 或 caf 文件中。
服务器上的文件名和捆绑中的文件应该同名。只需将您的 mp3 转换为给定格式之一,然后仅在应用程序处于非活动状态时播放声音。