首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >火力基地。“错误”请求包含一个无效的参数。

火力基地。“错误”请求包含一个无效的参数。
EN

Stack Overflow用户
提问于 2021-04-14 09:07:22
回答 1查看 1.9K关注 0票数 3

在后端后面的库中使用(来自package.json)。

代码语言:javascript
复制
"firebase": "^8.3.3",
"firebase-admin": "^9.6.0",

尝试向多个用户发送多播消息。

代码语言:javascript
复制
import * as admin from 'firebase-admin';

const createNotificationMessage = (tokens: string[], data?: { [key: string]: string }): admin.messaging.MulticastMessage => {
  return {
    data,
    tokens,
    apns: {
      payload: {
        aps: {
          contentAvailable: true,
        },
      },
    },
  };
};

const sendMulticast = (payload: admin.messaging.MulticastMessage) =>
  admin.messaging().sendMulticast(payload);

const sendNotifications = async () => {
try {
      const data = getData(); // here we get main data
      const userTokens = getTokens(); // here we get tokens
      await sendMulticast(createNotificationMessage(userTokens, data));
    } catch (error) {
      console.log(error);
    }
   }

在发送之前,我将4个令牌放入消息中。但我收到这条错误信息作为回应

代码语言:javascript
复制
[{"success":false,"error":{"code":"messaging/invalid-argument","message":"Request contains an invalid argument."}},{"success":false,"error":{"code":"messaging/invalid-argument","message":"Request contains an invalid argument."}},{"success":false,"error":{"code":"messaging/invalid-argument","message":"Request contains an invalid argument."}},{"success":false,"error":{"code":"messaging/invalid-argument","message":"Request contains an invalid argument."}}]

我想做的是:

  1. 通过方法send逐个发送消息。结果:每个消息
  2. 上的相同错误试图将标头apns-priority设置为5,而相同的错误
  3. 试图在aps对象- content-availablecontent_available中设置自定义属性。相同的错误
  4. 从有效负载中删除apns属性。工作正常,没有错误,但我需要iOS应用程序中的静默通知,这就是为什么需要选项contentAvailable

注意:此代码在2021年4月9日之前运行良好。

EN

回答 1

Stack Overflow用户

发布于 2021-04-14 14:35:32

经过一整天的搜索错误的原因,我找到了我的问题的解决方案。

代码语言:javascript
复制
const createNotificationMessage = (tokens: string[], data?: { [key: string]: string }): admin.messaging.MulticastMessage => {
  return {
    data,
    tokens,
    apns: {
      payload: {
        aps: {
          contentAvailable: true,
          badge : 0
        },
      },
    },
  };
};

不知道为什么firebase会显示错误,因为根据官方网站,参数badge是可选字符串。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67088746

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档