Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update/fix example PushNotification.js, fix odd code formatting #612

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
103 changes: 58 additions & 45 deletions Example/www/PushNotification.js
Original file line number Diff line number Diff line change
@@ -1,65 +1,78 @@

var PushNotification = function() {
};

// Call this to register for push notifications. Content of [options] depends on whether we are working with APNS (iOS) or GCM (Android)
PushNotification.prototype.register = function(successCallback, errorCallback, options) {
if (errorCallback == null) { errorCallback = function() {}}

if (typeof errorCallback != "function") {
console.log("PushNotification.register failure: failure parameter not a function");
return
}

if (typeof successCallback != "function") {
console.log("PushNotification.register failure: success callback parameter must be a function");
return
}

cordova.exec(successCallback, errorCallback, "PushPlugin", "register", [options]);
};

// Call this to register for push notifications. Content of [options] depends on whether we are working with APNS (iOS) or GCM (Android)
PushNotification.prototype.register = function(successCallback, errorCallback, options) {
if (errorCallback == null) { errorCallback = function() {}}
// Call this to unregister for push notifications
PushNotification.prototype.unregister = function(successCallback, errorCallback, options) {
if (errorCallback == null) { errorCallback = function() {}}

if (typeof errorCallback != "function") {
console.log("PushNotification.register failure: failure parameter not a function");
return;
}
if (typeof errorCallback != "function") {
console.log("PushNotification.unregister failure: failure parameter not a function");
return
}

if (typeof successCallback != "function") {
console.log("PushNotification.register failure: success callback parameter must be a function");
return;
}
if (typeof successCallback != "function") {
console.log("PushNotification.unregister failure: success callback parameter must be a function");
return
}

cordova.exec(successCallback, errorCallback, "PushPlugin", "register", [options]);
};
cordova.exec(successCallback, errorCallback, "PushPlugin", "unregister", [options]);
};

// Call this to unregister for push notifications
PushNotification.prototype.unregister = function(successCallback, errorCallback) {
if (errorCallback == null) { errorCallback = function() {}}
// Call this if you want to show toast notification on WP8
PushNotification.prototype.showToastNotification = function (successCallback, errorCallback, options) {
if (errorCallback == null) { errorCallback = function () { } }

if (typeof errorCallback != "function") {
console.log("PushNotification.unregister failure: failure parameter not a function");
return;
}
if (typeof errorCallback != "function") {
console.log("PushNotification.register failure: failure parameter not a function");
return
}

if (typeof successCallback != "function") {
console.log("PushNotification.unregister failure: success callback parameter must be a function");
return;
}
cordova.exec(successCallback, errorCallback, "PushPlugin", "showToastNotification", [options]);
}

cordova.exec(successCallback, errorCallback, "PushPlugin", "unregister", []);
};


// Call this to set the application icon badge
PushNotification.prototype.setApplicationIconBadgeNumber = function(successCallback, badge) {
if (errorCallback == null) { errorCallback = function() {}}
// Call this to set the application icon badge
PushNotification.prototype.setApplicationIconBadgeNumber = function(successCallback, errorCallback, badge) {
if (errorCallback == null) { errorCallback = function() {}}

if (typeof errorCallback != "function") {
console.log("PushNotification.setApplicationIconBadgeNumber failure: failure parameter not a function");
return;
}
if (typeof errorCallback != "function") {
console.log("PushNotification.setApplicationIconBadgeNumber failure: failure parameter not a function");
return
}

if (typeof successCallback != "function") {
console.log("PushNotification.setApplicationIconBadgeNumber failure: success callback parameter must be a function");
return;
}
if (typeof successCallback != "function") {
console.log("PushNotification.setApplicationIconBadgeNumber failure: success callback parameter must be a function");
return
}

cordova.exec(successCallback, successCallback, "PushPlugin", "setApplicationIconBadgeNumber", [{badge: badge}]);
};
cordova.exec(successCallback, errorCallback, "PushPlugin", "setApplicationIconBadgeNumber", [{badge: badge}]);
};

//-------------------------------------------------------------------

if(!window.plugins) {
window.plugins = {};
if (!window.plugins) {
window.plugins = {};
}
if (!window.plugins.pushNotification) {
window.plugins.pushNotification = new PushNotification();
window.plugins.pushNotification = new PushNotification();
}

if (typeof module != 'undefined' && module.exports) {
module.exports = PushNotification;
}
60 changes: 30 additions & 30 deletions Example/www/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -14,22 +14,22 @@
To add them via the CLI:
$ cordova plugin add org.apache.cordova.device
$ cordova plugin add org.apache.cordova.media
*/
*/
<!--<script type="text/javascript" charset="utf-8" src="cordova-2.2.0.js"></script>-->
<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
<script type="text/javascript" charset="utf-8" src="jquery_1.5.2.min.js"></script>
<script type="text/javascript" src="PushNotification.js"></script>

<script type="text/javascript">
var pushNotification;

function onDeviceReady() {
$("#app-status-ul").append('<li>deviceready event received</li>');

document.addEventListener("backbutton", function(e)
{
$("#app-status-ul").append('<li>backbutton event received</li>');

if( $("#home").length > 0)
{
// call this to get a new token each time. don't call it to reuse existing token.
Expand All @@ -42,9 +42,9 @@
navigator.app.backHistory();
}
}, false);
try
{

try
{
pushNotification = window.plugins.pushNotification;
$("#app-status-ul").append('<li>registering ' + device.platform + '</li>');
if (device.platform == 'android' || device.platform == 'Android' ||
Expand All @@ -54,37 +54,37 @@
pushNotification.register(tokenHandler, errorHandler, {"badge":"true","sound":"true","alert":"true","ecb":"onNotificationAPN"}); // required!
}
}
catch(err)
{
txt="There was an error on this page.\n\n";
txt+="Error description: " + err.message + "\n\n";
alert(txt);
}
catch(err)
{
txt="There was an error on this page.\n\n";
txt+="Error description: " + err.message + "\n\n";
alert(txt);
}
}

// handle APNS notifications for iOS
function onNotificationAPN(e) {
if (e.alert) {
$("#app-status-ul").append('<li>push-notification: ' + e.alert + '</li>');
// showing an alert also requires the org.apache.cordova.dialogs plugin
navigator.notification.alert(e.alert);
}

if (e.sound) {
// playing a sound also requires the org.apache.cordova.media plugin
var snd = new Media(e.sound);
snd.play();
}

if (e.badge) {
pushNotification.setApplicationIconBadgeNumber(successHandler, e.badge);
pushNotification.setApplicationIconBadgeNumber(successHandler, errorHandler, e.badge);
}
}

// handle GCM notifications for Android
function onNotification(e) {
$("#app-status-ul").append('<li>EVENT -> RECEIVED:' + e.event + '</li>');

switch( e.event )
{
case 'registered':
Expand All @@ -96,15 +96,15 @@
console.log("regID = " + e.regid);
}
break;

case 'message':
// if this flag is set, this notification happened while we were in the foreground.
// you might want to play a sound to get the user's attention, throw up a dialog, etc.
if (e.foreground)
{
$("#app-status-ul").append('<li>--INLINE NOTIFICATION--' + '</li>');
// on Android soundname is outside the payload.

// on Android soundname is outside the payload.
// On Amazon FireOS all custom attributes are contained within payload
var soundfile = e.soundname || e.payload.sound;
// if the notification contains a soundname, play it.
Expand All @@ -120,38 +120,38 @@
else
$("#app-status-ul").append('<li>--BACKGROUND NOTIFICATION--' + '</li>');
}

$("#app-status-ul").append('<li>MESSAGE -> MSG: ' + e.payload.message + '</li>');
//android only
$("#app-status-ul").append('<li>MESSAGE -> MSGCNT: ' + e.payload.msgcnt + '</li>');
//amazon-fireos only
$("#app-status-ul").append('<li>MESSAGE -> TIMESTAMP: ' + e.payload.timeStamp + '</li>');
break;

case 'error':
$("#app-status-ul").append('<li>ERROR -> MSG:' + e.msg + '</li>');
break;

default:
$("#app-status-ul").append('<li>EVENT -> Unknown, an event was received and we do not know what it is</li>');
break;
}
}

function tokenHandler (result) {
$("#app-status-ul").append('<li>token: '+ result +'</li>');
// Your iOS push server needs to know the token before it can push to this device
// here is where you might want to send it the token for later use.
}

function successHandler (result) {
$("#app-status-ul").append('<li>success:'+ result +'</li>');
}

function errorHandler (error) {
$("#app-status-ul").append('<li>error:'+ error +'</li>');
}

document.addEventListener('deviceready', onDeviceReady, true);

</script>
Expand Down
24 changes: 12 additions & 12 deletions www/PushNotification.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
var PushNotification = function() {
};


// Call this to register for push notifications. Content of [options] depends on whether we are working with APNS (iOS) or GCM (Android)
PushNotification.prototype.register = function(successCallback, errorCallback, options) {
if (errorCallback == null) { errorCallback = function() {}}
Expand Down Expand Up @@ -36,17 +35,18 @@ PushNotification.prototype.unregister = function(successCallback, errorCallback,
cordova.exec(successCallback, errorCallback, "PushPlugin", "unregister", [options]);
};

// Call this if you want to show toast notification on WP8
PushNotification.prototype.showToastNotification = function (successCallback, errorCallback, options) {
if (errorCallback == null) { errorCallback = function () { } }

if (typeof errorCallback != "function") {
console.log("PushNotification.register failure: failure parameter not a function");
return
}
// Call this if you want to show toast notification on WP8
PushNotification.prototype.showToastNotification = function (successCallback, errorCallback, options) {
if (errorCallback == null) { errorCallback = function () { } }

cordova.exec(successCallback, errorCallback, "PushPlugin", "showToastNotification", [options]);
if (typeof errorCallback != "function") {
console.log("PushNotification.register failure: failure parameter not a function");
return
}

cordova.exec(successCallback, errorCallback, "PushPlugin", "showToastNotification", [options]);
}

// Call this to set the application icon badge
PushNotification.prototype.setApplicationIconBadgeNumber = function(successCallback, errorCallback, badge) {
if (errorCallback == null) { errorCallback = function() {}}
Expand All @@ -66,7 +66,7 @@ PushNotification.prototype.setApplicationIconBadgeNumber = function(successCallb

//-------------------------------------------------------------------

if(!window.plugins) {
if (!window.plugins) {
window.plugins = {};
}
if (!window.plugins.pushNotification) {
Expand All @@ -75,4 +75,4 @@ if (!window.plugins.pushNotification) {

if (typeof module != 'undefined' && module.exports) {
module.exports = PushNotification;
}
}