Pushnotifcation в Phongap android несколько регистрационных идентификаторов одного и того же устройства

Я пытаюсь реализовать push-уведомление с помощью Phonegap в Android с помощью push-плагина. Все работает нормально, но проблема с идентификаторами регистрации устройства. Каждый раз, когда приложение запускает его, отправляет ajax-запрос на сервер, чтобы сохранить идентификаторы регистрации, позже его можно использовать. для отправки уведомления на устройство. На стороне сервера я также проверил, зарегистрировано ли уже устройство. Проблема в том, что на одном и том же устройстве генерируются разные регистрационные идентификаторы, поэтому проверка на стороне сервера завершается неудачно (поскольку у одного и того же устройства разные регистрационные идентификаторы). Вот мой толчок файл .js

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

var pushNotification;

function onDeviceReady() {
pushNotification = window.plugins.pushNotification;
setupNotificationsForandroid();
}

function setupNotificationsForandroid() {

if ( device.platform == 'android' || device.platform == 'Android' || device.platform == "amazon-fireos" ){

pushNotification.register(
successHandler,
errorHandler,
{
"senderID":"527612045331",
"ecb":"onNotification"});
} else {
pushNotification.register(
tokenHandler,
errorHandler,
{
"badge":"true",
"sound":"true",
"alert":"true",
"ecb":"onNotificationAPN"});
}
}

// Android
function onNotification(e) {
switch( e.event )
{
case 'registered':
if ( e.regid.length > 0 ){
//set up the server call for storing registraion ids
$.ajax({
url:'common_db.php',
data:'action='+'registergcm'+'&id='+e.regid,
success:function(data){

}
});
}

break;

case 'message':
// if this flag is set, this notification happened while we were in the foreground.
if(e.foreground){
var soundfile = e.soundname || e.payload.sound;
var my_media = new Media("android/assets/www/"+ soundfile);
my_media.play();
}else{
// otherwise we were launched because the user touched a notification in the notification tray.
}break;

case 'error':
console.log("Error"+e.msg);
break;

default:
console.log("An unknown event");
return;
}
}

в моем php файле

    //get id from application
$reg_id=$_GET['id'];
//this check fails beacuse of differnt registration ids from the device
$sql=mysql_query("select reg_id from tbl_insert_ids where id='$reg_id'");
//check if already registerd
if(mysql_num_rows($sql)==1){
//do nothing
echo '';

}else{
//store the registration ids in database table.
$sql=mysql_query("insert into tbl_insert_ids values('','$reg_id')");
if($sql){
echo 'Success';
}else{
echo 'Error'
}

}

Я протестирован на одном устройстве, в моей таблице более двух строк регистрационных идентификаторов. Пожалуйста, помогите.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector