如何在 cordova 获得FCM令牌?

vngu2lb8  于 2022-11-15  发布在  其他
关注(0)|答案(2)|浏览(168)

我尝试在Android移动的应用程序中实现推送通知。

cordova-plugin-firebase-messaging

我可以使用Firebase控制台发送推送通知到Android移动的,但发生了什么事,这些都安装了apk文件,都是接收推送通知,但我想发送给特定的用户,所以我想得到FCM令牌。
我尝试了什么,在'index.js'文件中,onDeviceReady函数我调用下面的函数来获取令牌。

document.addEventListener('deviceready', onDeviceReady, false);

function onDeviceReady() {

    FCMPlugin.onTokenRefresh(function(token){
        alert( token );
    });

    FCMPlugin.getToken(function(token){
        alert(token);
    });

}

当我建立和安装apk文件,并在移动的设备中打开,但没有显示打开设备时.我的 cordova 版本是11.0.0和安装的插件是

cordova-plugin-fcm-with-dependecy-updated 7.8.0 "Cordova FCM Push Plugin"

任何回复都不胜感激。
此致Aravind

zsohkypk

zsohkypk1#

您需要添加以下脚本来初始化firebase设置

<script type="module">
        // Import the functions you need from the SDKs you need
        import { initializeApp } from "https://www.gstatic.com/firebasejs/9.10.0/firebase-app.js";
        import { getAnalytics } from "https://www.gstatic.com/firebasejs/9.10.0/firebase-analytics.js";
        // TODO: Add SDKs for Firebase products that you want to use
        // https://firebase.google.com/docs/web/setup#available-libraries
      
        // Your web app's Firebase configuration
        // For Firebase JS SDK v7.20.0 and later, measurementId is optional
        const firebaseConfig = {
          apiKey: "YOUR_API_KEY",
          authDomain: "YOUR_AUTH_DOMAIN (get it from your firebase project)",
          databaseURL: "YOUR_FIREBASE_DB_PATH",
          projectId: "YOUR_PROJECT_ID",
          storageBucket: "YOUR_STORAGE_BUCKET",
          messagingSenderId: "YOUR_SENDERS_ID",
          appId: "YOUR_APP_ID",
          measurementId: "G-4TN45ZQFFJ"
        };
      
        // Initialize Firebase
        const app = initializeApp(firebaseConfig);
        const analytics = getAnalytics(app);
      </script>

请确保您已执行以下操作
1.创建了一个firebase项目,并直接从项目设置窗口中获取上述代码(firebase已经提供了一个条款,它将上述代码与您的凭据沿着显示,简单地复制并粘贴到您的index.html页面上)
1.您必须从firebase项目下载的google-services.json需要位于根目录中。
1.完成所有这些工作后,您需要使用以下代码:
cordova.plugins.firebase.messaging.getToken().then(function(token){ //将令牌保存在服务器上的一个表中。将有效负载发送到该令牌。
}
1.保存令牌并发送通知后,您将需要按下所述捕获通知。
cordova.plugins.firebase.messaging.onBackgroundMessage(函数(有效负载){ //对接收到的有效负载执行某些操作/接收到通知
}

e3bfsja2

e3bfsja22#

您需要使用后端将其发送到Firebase,方法是将通知发送到Firebase端点https://fcm.googleapis.com/fcm/send

相关问题