web-dev-qa-db-ja.com

Firebase Cloud MessagingはVOIPプッシュキットサービスをサポートしていますか?

Firebase Cloud Messaging VOIPをサポートする pushkit サービスについてのアイデアはありますか?.

はいの場合、誰かが同じガイドラインを提供してください。

Skype /ハングアウト/ WhatsAppまたはその他のVOIPベースのアプリに実装されているものと同じです。

前もって感謝します。

18
Hasya

執筆時点では(FirebaseMessaging 1.1.0/Firebase 3.2.0)FCMはiOSの下で通常のAPNを使用するため、PushKit通知はサポートされていません。

14
Ian Barber

Node-apnを介してPushKit + Firebaseを動作させました。 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へのリンク

0
p.wiesinger

これは私のために働いた! Authkey_xxxx.p8ファイルをディレクトリに追加することを忘れないでください。通知トピックのバンドルIDに.voipを追加することを忘れないでください。

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!");
    });
});
0
marouan azizi