推送通知自定义声音不工作- Ionic 6

hgb9j2n6  于 2023-02-17  发布在  Ionic
关注(0)|答案(1)|浏览(154)

我试图添加自定义声音推送通知使用离子6和Angular 。
在下面的代码中,我获取设备令牌并存储在firebase DB中。

if (isPushNotificationsAvailable) {
    PushNotifications.requestPermissions().then(result => {
        if (result.receive === 'granted') {
            PushNotifications.register();
        }
    });

    PushNotifications.addListener('registration', (token: Token) => {
        this.token = token.value;
        const tokenRef = ref(db, `deviceToken/${this.token}`);
        set(tokenRef, this.token);
    });

    PushNotifications.addListener('pushNotificationReceived', (notification: PushNotificationSchema) => {
        //  this.router.navigateByUrl('/new-bookings')
    });
}

我已经创建了一个云函数来触发通知下面的代码,

app.post('/sendNotification', function (req, res) {
  let deviceTokens = [];

  admin.database().ref('deviceToken').on("value", snap => {
    let data = snap.val();
    if (data) {
      Object.keys(data).forEach(key => {
        if (data[key]) {
          deviceTokens.push(data[key]);
        }
      });
      console.log(deviceTokens);

      let notification = {
        "registration_ids": deviceTokens,
        "collapse_key": "type_a",
        "notification": {
          "body": req.body.desc,
          "title": req.body.title,
          // "icon": 'https://images.ctfassets.net/509kpi6dw56l/1CD2g1XQpaJjEzSh2xFnOp/8cb418adda4fd4caad135ebb2056f72a/icon1.png',
          // "sound": 'https://assets.ctfassets.net/509kpi6dw56l/7aYHya51vKNWFgPmm63RfG/772d1b53496f76eec97252b0d9511e11/Alert.mp3'
        }
      };

      const options = {
        method: 'POST',
        uri: 'https://fcm.googleapis.com/fcm/send',
        body: notification,
        json: true,
        headers: {
          'Content-Type': 'application/json',
          'Authorization': 'Key'
        }
      }

      request(options).then(function (response) {
        res.status(200).json(response);
      })
        .catch(function (err) {
          console.log(err);
        })
    }
  })

});`

我得到的通知,但没有自定义的声音和图标。我已经在我的AndroidManifest.xml中添加了以下链接仍然没有使用。

<meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@mipmap/icon1" /> <meta-data android:name="com.google.firebase.messaging.default_notification_sound" android:resource="@raw/alert_sound" />

我已经参考了一些其他网页和尝试,但没有工作。请帮助我错过了什么。

jckbn6z7

jckbn6z71#

您需要在icon中设置可绘制资源的路径。对于sound,您必须将其放在 /res/raw/ 中。

相关问题