Despite all tries and reviewing previous questions and solutions on SO, I cannot manage to get a registrationID from GCM.
I am using the pushplugin, and trying to build for Android using Cordova. App is successfully built but it seems the onNotificationGCM functions in the are never being called. Success handler is called. I use Genymotion Android simulator.
On github issues some say to attach the onNotification functions to window object. But I could not make this work too. Is there a general problem. Anybody using this plugin successfully?
What can be the reason for that? The trial here uses another cordova plugin different than the mentioned one above. Although I have tried the example in the above plugin's github repo, it did not work.
index.js:
var app = {
// Application Constructor
initialize: function() {
this.bindEvents();
},
// Bind Event Listeners
//
// Bind any events that are required on startup. Common events are:
// 'load', 'deviceready', 'offline', and 'online'.
bindEvents: function() {
document.addEventListener('deviceready', this.onDeviceReady, false);
},
// deviceready Event Handler
//
// The scope of 'this' is the event. In order to call the 'receivedEvent'
// function, we must explicity call 'app.receivedEvent(...);'
// "senderID":"273794328096"
onDeviceReady: function() {
app.receivedEvent('deviceready');
},
// Update DOM on a Received Event
receivedEvent: function(id) {
console.log('Received Event: ' + id);
if (device.platform == 'android' || device.platform == 'Android') {
alert("Register called");
window.GcmPushPlugin.register(app.successHandler, app.errorHandler, {
"senderId":"273794328096",
"jsCallback":"onNotificationGCM"
});
}
else {
alert("Register called");
pushNotification.register(this.successHandler,this.errorHandler,{"badge":"true","sound":"true","alert":"true","ecb":"onNotificationAPN"});
}
},
// result contains any message sent from the plugin call
successHandler: function(result) {
alert('Callback Success! Result = '+ result.gcm)
},
errorHandler:function(error) {
alert("Error:" + error);
},
};
function onNotificationGCM(notification) {
console.log("Event Received: " + notification); // { "extra": {"url" : "someurl.js" } }
}
index.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="format-detection" content="telephone=no" />
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
<link rel="stylesheet" type="text/css" href="css/index.css" />
<title>Hello World</title>
</head>
<body>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/index.js"></script>
<script type="text/javascript">
app.initialize();
</script>
</body>
</html>