iOS中的FCM通知在收到时不会播放声音

时间:2016-09-05 17:34:15

标签: ios firebase firebase-cloud-messaging firebase-notifications

我在iOS应用程序中使用Firebase推送通知。虽然我能够通过发送以下有效载荷来发送通知,但是在收到时它不会发出声音。

{
    "to": "myToken",
    "notification": {
        "body": "test",
        "title": "test"
    },
    "priority": "high"
    "sound": "default"
}

如果我从控制台发送测试消息,它运行良好并播放通知声音。
注意

  1. 我的授权码是正确的
  2. 我正在向https://fcm.googleapis.com/fcm/send
  3. 发送http请求
  4. 我已在iPhone 4,iPhone 6和iPhone 6S上测试过,全部收到 没有声音的通知

4 个答案:

答案 0 :(得分:25)

您的JSON "sound" : "default"应位于"notification"密钥内,而不是JSON的根目录中。这个JSON应该可以工作。

{
    "to": "myToken",
    "notification": {
         "body": "test",
         "title": "test",
         "sound": "default"
    },
    "priority": "high"
}

答案 1 :(得分:7)

使用FCM admin SDK时,您必须分别为Android和Apple设备指定声音:

exp1 = a && b
exp2 = c && d
exp3 = exp1 || exp2
exp4 = e && f
exp5 = g && h
exp6 = exp4 || exp5
exp7 = exp3 || exp6

if(exp7){
   //doSomething
}

(注意:到目前为止,我仅测试了Apple设置)

答案 2 :(得分:1)

    payload = {
        notification:{
            title: 'SOLO has been changed by an administrator',
            body: 'Administrator changed your SOLO schedule',
        },
        android: {
        },
        apns: {
            headers:{
                "apns-collapse-id": "solo_changed_administrator",
                "content-available": "1",
                "apns-priority": "10",
            },
            payload:{
                aps:{
                    sound: 'default',
                    badge: 12213123223
                }
            }
        },
        data:{
            type: 'type'
        }
    }

https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages?authuser=0#ApnsConfig

答案 3 :(得分:0)

我遇到了同样的问题。当通知通过 FCM 发送到 iOS 时,没有声音或振动。我在这里点击了这个链接:https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/PayloadKeyReference.html#//apple_ref/doc/uid/TP40008194-CH17-SW1 并最终成功。我在我的负载中创建了我的苹果通知作为警报,它对我有用。下面是我的 JSON,以了解我的解决方案。

"apns": {
    "payload": {
        "aps" : {
            "alert" : {
                "body": "Notification body",
                "title": "Notification title"
            },
            "badge" : 2,
            "sound" : "default"
        }
    }
}

注意:请将此“apns”键放在您的消息请求的相关位置。我正在使用 REST 调用来请求消息。 请参阅以下链接以了解如何使用特定于平台的交付选项发送通知消息。 链接:https://firebase.google.com/docs/cloud-messaging/concept-options#example-notification-message-with-platform-specific-delivery-options