【问题标题】:How to get GCM ID using phonegap-plugin-push如何使用 phonegap-plugin-push 获取 GCM ID
【发布时间】:2017-03-31 09:10:03
【问题描述】:

我正在尝试使用最新版本的phonegap-plugin-push 获取 GCM ID。

我从互联网上构建了许多示例代码,但没有一个可以工作。

我已经按照phonegaptut.comphonegappro.com 和这个phonegap-plugin-push example 的步骤进行操作。

我已仔细按照说明进行操作,但 GCM ID 不存在。

这些是我采取的步骤:

  • 我在 GCM 上新建项目并获取项目编号
  • cordova 创建 GCM com.phonegaptut.gcm GCM
  • cd GCM
  • cordova 平台添加 android
  • cordova 插件添加 phonegap-plugin-push --variable SENDER_ID="MY SENDER ID"
  • 编辑 Index.html

<html>
<head>
    <title>PhonegapTut</title>
    <script type="text/javascript" src="cordova.js"></script>
    <script type="text/javascript" src="jquery.js"></script>
    <style> textarea { width:100%; } </style>    
    <script type="text/javascript">    
        document.addEventListener("deviceready",onDeviceReady,false);

        function onDeviceReady(){    
            console.log("Device Ready");    
            var push = PushNotification.init({ "android": {"senderID": "MY SENDER ID"},"ios": {"alert": "true", "badge": "true", "sound": "true"}, "windows": {} } );

            push.on('registration', function(data) {    
                console.log(data.registrationId);    
                $("#gcm_id").val(data.registrationId);
            });    

            push.on('notification', function(data) {    
                console.log(data.message);    
                alert(data.title+" Message: " +data.message);    
                // data.title,    
                // data.count,    
                // data.sound,    
                // data.image,    
                // data.additionalData    
            });   

            push.on('error', function(e) {
                console.log(e.message);    
            });    
        }

    </script>
</head>
<body>
    <h2>Push Notification Example</h2>
    Your GCM ID : <br/>
    <textarea id="gcm_id" rows="10"></textarea>
</body>
</html>
  • Cordova 构建 android
  • Cordova 运行 android –device

但是,GCM ID 没有出现;有人能看出代码有什么问题吗?

【问题讨论】:

  • 控制台是否还有其他错误?
  • 您好,欢迎来到 SO。我已经整理了您的大小写和外部资源的链接,并改进了您的语法和代码布局,以使您的问题更容易理解,希望它能帮助您获得您正在寻求的帮助,并改善这个问题对可能有相同问题的人的好处未来的问题。如果您觉得可以进一步改进您的问题,请点击 android cordova plugins push 标签下方的 edit
  • @lukkea 感谢您的更正,arpit-vasani 在控制台中没有错误应用程序卡在注册 id 上

标签: android cordova plugins push


【解决方案1】:

这是我的解决方案

  • phonegap create my-app --template phonegap-template-push
  • phonegap 平台添加安卓
  • 在 config.xml 中编辑并替换 SENDER_ID "XXXXXXX" 为您的 GCM 项目编号

块引用

<plugin name="phonegap-plugin-push" spec="1.6.0">
<param name="SENDER_ID" value="XXXXXXX" />
</plugin>
  • 在 js/index.js 文件中编辑并替换 SENDER_ID "XXXXXXX" 为您的 GCM 项目编号

块引用

var push = PushNotification.init({
android: {
senderID: "XXXXXXX"
},
browser: {
pushServiceURL: 'http://push.api.phonegap.com/v1/push'
},
ios: {
alert: "true",
badge: "true",
sound: "true"
},
windows: {}
});'
  • 添加一个新的代码来设置注册ID

    console.log('注册事件:' + data.registrationId); document.getElementById("gcm_id").innerHTML = data.registrationId;

  • 在 index.html 中添加

    以显示 GCM ID

    块引用

    <div id="gcm_id"> registration id: </div>
    
    • phonegap 构建安卓
    • phonegap 运行 android --device

    您的 GCM ID 将显示在 DIV 中

【讨论】:

    猜你喜欢
    • 2017-02-07
    • 2018-03-10
    • 2016-10-20
    • 2018-07-28
    • 1970-01-01
    • 2018-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多