2017-03-01 148 views
0

从Firebase消息传递控制台发送时,我能够在我的应用程序中接收推送通知。推送通知的自定义声音

但是,我想要一个在我的应用程序捆绑包中播放的MP3而不是默认声音。

以下是我发送消息: enter image description here

但是,当我检查的通知,用户信息的值“APS”] [“声音”]是“默认”。所以它播放默认声音。

userInfo [“sound”]的值被设置为我的文件名,这不是帮助,因为它位于userInfo [“aps”]之外。

如何获取userInfo [“aps”] [“sound”]的值作为我的自定义文件名?而不是默认。

回答

0

事实证明,您无法通过Firebase控制台为userInfo [“aps”] [“sound”]设置自定义值。因此,为了测试,您必须以不同的方式发送推送。

取而代之,您可以使用Easy APNs Provider mac应用程序。您与您以前生成的APS推送证书提供这个,以及设备的令牌(如puctured):

enter image description here

您可以从应用程序批准推送服务后获得令牌:

func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) { 
    let deviceTokenString = deviceToken.map { String(format: "%02.2hhx", $0) }.joined() 
    print(deviceTokenString) 
} 

现在,我的自定义声音播放,因为推送的有效载荷结构合理。如果Firebase能够从他们的控制台解决这个问题,那将会很好;在此期间,我将使用这种方法。

+0

我收到来自fcm的通知。现在,我想制作功能,例如当我从fcm收到通知时,应用程序应该播放声音文件,甚至没有触及通知消息。你知道怎么做吗 ? didRecieveRemoteNotification只会在用户点击通知时执行。当我收到通知时,我想播放类似闹铃的声音文件。请指导我完成它。 – Moxarth