Cordova Android 中的 Firebase 推送通知

将 Firebase 添加到你的 Android 项目中

将 Firebase 添加到你的应用

要将 Firebase 添加到你的应用,你需要一个适用于你应用的 Firebase 项目和 Firebase 配置文件。

  1. 如果你还没有 Firebase 项目,请在 Firebase 控制台中创建 Firebase 项目。如果你已有与移动应用程序关联的现有 Google 项目,请单击“导入 Google 项目”。否则,单击创建新项目
  2. 点击添加 Firebase 到你的 Android 应用。如果你要导入现有的 Google 项目,这可能会自动发生,你只需下载配置文件即可。
  3. 出现提示时,输入应用程序的包名称。输入你的应用正在使用的包名称非常重要; 只有在将
    应用程序添加到 Firebase 项目时才能设置此项。
  4. 最后,你将下载 google-services.json 文件。你可以随时再次下载此文件。如果你还没有这样做,请将其复制到项目的模块文件夹中,通常是 app /。

Cordova Firebase 推送通知插件

https://www.npmjs.com/package/cordova-plugin-fcm

要获取访问令牌:

    FCMPlugin.getToken(
      function(token){
        alert(token);
      },
      function(err){
        console.log('error retrieving token: ' + err);
      }
    );

回调接收推送通知:

    FCMPlugin.onNotification(
      function(data){
        if(data.wasTapped){
          //Notification was received on device tray and tapped by the user.
          alert( JSON.stringify(data) );
        }else{
          //Notification was received in foreground. Maybe the user needs to be notified.
          alert( JSON.stringify(data) );
        }
      },
      function(msg){
        console.log('onNotification callback successfully registered: ' + msg);
      },
      function(err){
        console.log('Error registering onNotification callback: ' + err);
      }
    );

将 get 访问令牌和回调放在 receiveEvent 函数中的 index.js 文件中接收推送通知

通过 REST API 发送推送通知

    //POST: https://fcm.googleapis.com/fcm/send 
    //HEADER: Content-Type: application/json 
    //HEADER: Authorization: key=AIzaSyAMMh0mdVIRXPcBejyatAtdZgmklepwoNs //key is server-key
    {
      "notification":{
        "title":"Notification title",  //Any value 
        "body":"Notification body",  //Any value 
        "sound":"default", //If you want notification sound 
        "click_action":"FCM_PLUGIN_ACTIVITY",  //Must be present for Android 
        "icon":"fcm_push_icon"  //White icon Android resource
      },
      "data":{
        "param1":"value1", /Any data to be retrieved in the notification callback 
        "param2":"value2"
      },
        "to":"eRImo7algBM:APA91bHSxSOdmgsOi9su_XytEtCbei0Zi0ODgm76VHvbqeb-WPoZcLyNVpnaLWPLw7U1u93hO0ZhtBxn_hVGxPAwxXXfc-yNy6_kkfzUdTpcI2QPB0vzJBmOFzX3RRZ15wmFkCUFtyhc", //Topic or single device 
        "priority":"high", //If not set, notification won't be delivered on completely closed iOS app
        "restricted_package_name":"com.zensar.fcm" //Optional. Set for application filtering 
    }

使用 Postman rest 客户端配置上述 REST API。

工作原理向单个设备或主题发送推送通知。

1.a 应用程序在前台:用户在其设备通知栏中收到通知消息。用户点击通知并打开应用程序。用户在 JavaScript 回调中接收通知数据。

1.b 应用程序在后台:用户在其设备通知栏中收到通知消息。用户点击通知并打开应用程序。用户在 JavaScript 回调中接收通知数据。