当前位置: 首页 > 知识库问答 >
问题:

Firebase云消息支持VOIP pushkit服务吗?

秦弘亮
2023-03-14

有人知道Firebase云消息传递支持VOIP pushkit服务吗?

如果是,那么有人能提供同样的指导方针吗?

同样的事情在Skype /环聊 / WhatsApp或任何其他基于VOIP的应用程序中实现。

提前感谢。

共有3个答案

公孙宸
2023-03-14

我让PushKit Firebase通过node-apn工作。只需通过npm将它安装到您的云功能文件夹中。你可以从你的商店或者类似的地方得到代币,但是我认为这是不言自明的...

这是一些虚拟代码:

export const test = functions.https.onRequest((request, response) => {
        const config = {
            production: false, /* change this when in production */
            cert: 'yourCERT.pem',
            key: 'yourKey.pem', 
        };

        const apnProvider = new apn.Provider(config);
        const notification = new apn.Notification();

        const recepients: string[] = [];
        recepients.push(apn.token('SOME PUSHKIT TOKEN'));
        recepients.push(apn.token('ANOTHER PUSHKIT TOKEN'));

        notification.topic = 'com.your.app.voip'; // you have to add the .voip here!!
        notification.payload = {
            // some payload
        };

        return apnProvider.send(notification, recepients).then((reponse) => {
            console.log(reponse);
            return response.send("finished!");
        });
    });

链接到node-apn

简意
2023-03-14

这对我有用!不要忘记在目录中添加Authkey_xxxx. p8文件,也不要忘记在通知主题中将. voip添加到包ID中。

export const test = functions.https.onRequest((request, response) => {
    const config = {
        production: false, /* change this when in production */
        token: {
        key: "./AuthKey_xxxx.p8",
        keyId: "xxxx",
        teamId: "yyyy"
      } 
    };
    const apnProvider = new apn.Provider(config);
    const notification = new apn.Notification();

    const recepients: string[] = [];
    recepients.push(apn.token('SOME PUSHKIT TOKEN'));
    recepients.push(apn.token('ANOTHER PUSHKIT TOKEN'));

    notification.topic = 'com.your.app.voip'; // you have to add the .voip here!!
    notification.payload = {
        // some payload
    };

    return apnProvider.send(notification, recepients).then((reponse) => {
        console.log(reponse);
        return response.send("finished!");
    });
});
虞承泽
2023-03-14

在撰写本文时(FirebaseMessaging 1.1.0/Firebase 3.2.0),FCM在iOS下使用常规APN,因此不支持PushKit通知。

 类似资料:
  • 我的应用程序在服务器上发生某种事件后接收推送通知。 除了在一小段时间内有许多事件一个接一个地发生的情况外,一切都很正常。 设备上的Firebase令牌也是正常的,因为应用程序从Firebase控制台接收通知。

  • 是否有任何API(Python、JS、...)可用于生成和检索Firebase云消息传递服务器令牌? 最终目标应与单击“项目设置”中的“添加服务器密钥”按钮相同。

  • Firebase云消息服务的multicast_id是什么? 如Google提供的留档中所述,多播id是标识多播消息的唯一编号。 我读了,但我不明白。有人能解释一下吗?

  • 我已经从Firebase中导入的Google项目中删除了名为Server key(由Google Service自动创建)的api密钥。 现在,项目设置中的字段服务器密钥-云消息传递为空。我也不能发送通知,我从服务器上得到一个未经授权的401错误。 我能做什么?

  • 我在Android和iOS应用程序中使用FCM。客户端代码工作正常,因为我可以从Firebase控制台向两个平台发送通知,而不会出现任何问题。通过我的C#代码,我可以成功地将通知发送到android设备,但除非直接来自Firebase通知控制台,否则通知永远不会出现在iPhone上。我不知道是什么给你的。 C#服务器端代码 我的服务器端代码无法在iPhone上运行通知,但Firebase对此做出了

  • 在我的Android应用程序中,我收到使用Firebase发送的消息,问题不是所有消息都到达,有时消息到达非常慢。 在我的服务器端,我跟踪我发送到FCM的消息,我总是收到成功:来自FCM的1个响应,仍然有我在Android应用程序中没有收到的消息。 我认为FCM消息日志在上面描述的情况下会有很大的帮助,但我不确定是否存在此选项。 有办法浏览Firebase消息日志吗?