PhoneGap的/ Pushwoosh的Android检索设备ID /令牌(Phonegap/Pu

2019-09-26 06:41发布

如何检索在设备注册设备ID /令牌? 我使用的PhoneGap Pushwoosh例子,它工作正常。 但我无法弄清楚如何检索在设备注册initPushwoosh令牌。

我不是一个专业的程序员。 任何帮助将不胜感激。

我有初始化一个index.html <body onload="init();">

在main.js

function init() { 
  document.addEventListener("deviceready", deviceInfo, true);
  document.addEventListener("deviceready", initPushwoosh, true);
}

在PushNotification.js

function initPushwoosh()
{
    var pushNotification = window.plugins.pushNotification;
// CHANGE projectid & appid
pushNotification.registerDevice({ projectid: "xxxxxxx", appid : "xxxxxxxx" },
        function(status) {
          var pushToken = status;
          console.warn('push token: ' + pushToken);
        },
        function(status) {
          console.warn(JSON.stringify(['failed to register ', status]));
        });

document.addEventListener('push-notification', function(event) {
                var title = event.notification.title;
                var userData = event.notification.userdata;

                if(typeof(userData) != "undefined") {
           console.warn('user data: ' + JSON.stringify(userData));
        }

        navigator.notification.alert(title);
      });

 }

第一部分是.registerDevice和令牌可能pushToken,但我只是无法弄清楚如何从这一功能找回它! 最好是将其发送到MySQL数据库可以称之为smartphonedb.tokentable

我修改了initPushwoosh()来使用Ajax(见下文),我在MySQL收到任何令牌送我到MySQL。 我是否发出正确的令牌参数(pushToken)?

 function initPushwoosh()
{
var pushNotification = window.plugins.pushNotification;
// CHANGE projectid & appid
pushNotification.registerDevice({ projectid: "xxxxxx", appid : "xxxxxxx"      },
                                function(status) {
                                    var     pushToken = status;
                                      console.warn('push token: ' + pushToken);
// start my ajax to insert token to mysql
 var param ={Token: pushToken};                                 
  $.ajax({                                      
url: 'http://luxurylebanon.com/offeratlive/apitoken.php', data: param, dataType: 'json',  success: function(result)  
{
if(result.success == false) 
{  
    alert(failed)
} 
else { 
     alert(success)
    }  
  }
  });
// end ajax                                         
                                },
                                function(status) {
                                    console.warn(JSON.stringify(['failed to register ', status]));
                                });

document.addEventListener('push-notification', function(event) {
                            var title = event.notification.title;
                            var userData = event.notification.userdata;

                            if(typeof(userData) != "undefined") {
                                console.warn('user  data: ' + JSON.stringify(userData));
                            }

                             navigator.notification.alert(title);
                          });

}

The PHP apitoken.php

<?php
$username="xxxxxxx";
$password="xxxxxxxxxxxx";
$database="offeratdb";
$server="offeratdb.db.xxxxxxxxx.com";
$connect = mysql_connect($server,$username,$password)or die('Could not connect: ' . mysql_error());

@mysql_select_db($database) or die('Could not select database ('.$database.') because of : '.mysql_error());


$vtoken= $_POST['Token'];


// Performing SQL query
    $query = "INSERT INTO `tokentable` (`thetoken`) VALUES ('$vtoken')";
    $result = mysql_query($query)or die('Query failed: ' . mysql_error());

echo $vtoken;


// We will free the resultset...
mysql_free_result($result);

// Now we close the connection...
mysql_close($connect);
?>

任何帮助将不胜感激

Answer 1:

通过您的代码后看,我认为它包含了一些错误。 所以,让我们尝试解决这些问题:

  1. 首先。 你有PushNotification.js之前包括jQuery的js脚本? 如果不是这样,“$就”将不被执行。

  2. 其他的事情。 Ajax的默认类型是GET,你在你的PHP代码中使用POST。 而且你不使用JSON的。 所以,你的代码应该被转化成这样的事

     $.ajax({ type: "POST", async: true, url: url, data: params, success: function (result) { // todo }, error: function (result) { // todo } }); 
  3. 和过去的事情。 所述PARAM VAR应该初始化像这样:var PARAM = “令牌=” + pushToken;

希望这将是有益的。



Answer 2:

我有同样的问题,我更新了Pushwoosh.jar,它为我工作。 :)



文章来源: Phonegap/Pushwoosh Android retrieving Device id / Token