在Android Phonegap应用中实施推送通知

时间:2015-02-02 06:55:50

标签: ionic-framework phonegap-build phonegap-pushplugin

使用Angular和Ionic创建UI,并使用包装器使用Phonegap,如何在Android中实现推送。 Phonegap中是否有任何有效且准确的库用于推送通知。

已经使用https://github.com/phonegap-build/PushPlugin,但遇到了一些问题,例如没有收到推送通知,有时会立即发出所有通知。

4 个答案:

答案 0 :(得分:2)

  1. 首先在Google控制台中创建项目
  2. 启用GCM
  3. 创建服务器api密钥
  4. 使用以下插件

    cordova plugin add phonegap-plugin-push --variable SENDER_ID="XXXXXXX"
    

    将xxxxxx替换为您的发件人ID

    n你的javascript添加以下代码注册到GCM服务器它会给你一个GCM id

       var push = PushNotification.init({
    android: {
        senderID: "XXXXXXXX" //add your sender id here
    },
    ios: {
        alert: "true",
        badge: "true",
        sound: "true"
    },
    windows: {}
    });
    
    push.on('registration', function(data) {   
        consol.log(data.registrationId);  //this function give registration id from the GCM server if you dont want to see it please comment it
        document.getElementById("gcm_id").value= data.registrationId; //showing registration id in our app. If it shows our registration process is suscess
        //$("#gcm_id").val(data.registrationId);  if you are using jquery
    });
    

    使用GCM HTTP连接服务器协议发送消息:

    https://gcm-http.googleapis.com/gcm/send
    
    Content-Type:application/json
      Authorization:key=YOUR SERVER KEY
      {
        "to": "GCM ID",
        "data": {
          "message": "This is a GCM Topic Message!",
         }
      }
    

    了解更多详情..

    http://phonegaptut.com/2016/05/31/how-to-send-push-notifications-in-phonegap-application/

答案 1 :(得分:1)

我最近遇到了同样的问题,使用了Ionic和Cordova(不是Phonegap,但应该也一样)。 我最终使用此库进行本地推送通知https://github.com/Wizcorp/phonegap-plugin-localNotifications

他们工作得很好,除了PN不会在Android上启动应用程序,但我opened a pull request with a fix for that。 如果您遇到同样的问题,您也可以使用此插件的my fork,其中已包含此修复程序。

答案 2 :(得分:1)

您应该使用ngCordova's Push Plugin

来自文档:

  

允许您的应用程序接收推送通知。要在控制器或服务中接收通知,请侦听pushNotificationReceived事件。

答案 3 :(得分:1)

由于Push Notification是一项原生功能,因此要集成Push in PhoneGap Android应用程序,您必须制作一个与Android Native代码进行通信的插件。

您可以使用Git Hub上提供的Sample application。 还请按照自述文件中提到的必要步骤进行操作。