自定义声音不能播放推送通知
使用后端推送推送通知,并且我的设备已成功接收它们。但是,当我尝试设置消息,我添加到我的项目一个MP3的“IOS声”参数,它不能播放任何声音:自定义声音不能播放推送通知
在这里,the Backendless docs它说,设置“IOS声音“可以执行以下操作:
设置声音通知在设备上播放的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()覆盖警报,徽章,和声音。但是,这似乎是不正确的。
如果你是乌尔设备上成功recieving通知, 则可能是机会,您的音频文件较大
自定义声音必须在30秒内播放时。如果自定义声音超过此限制,则会播放默认的系统声音,因此请确保您的自定义声音小于30秒。
您的音频数据必须位于aiff,wav或caf文件中。
服务器上的文件名和包中的文件名应该是相同的。只需将您的mp3转换为其中一种格式,然后只在应用处于非活动状态时播放声音。
该文件是约1秒长 – vikzilla
我能够在用户当前在应用中时播放声音/通过引用AppDelegate的didReceiveRemoteNotification:方法中userInfo字典中的“ios-sound”值打开应用。但是,当应用程序关闭或在后台时声音不起作用。 – vikzilla
它不是'ios-sound',只是'sound',而'mp3'文件不是Apple的声音文件扩展名,它们只支持'caf,aiff,...'将文件转换为带有iTunes的文件,然后你可以使用它 – Tj3n
@ Tj3n它确实是“ios-sound”。我通过从didReceiveRemoteNotification中注销userInfo来确认这一点。然而,现在唯一的问题是在应用程序未打开/在后台播放声音/响应推送通知。另外,我不知道你的意思是不被支持的MP3;它发挥得很好,我过去曾多次使用它。 – vikzilla