Skip to content

Commit

Permalink
update/fix example PushNotification.js, fix odd code formatting
Browse files Browse the repository at this point in the history
  • Loading branch information
Matthew Sun committed Jul 29, 2015
1 parent 894232c commit 71f3f6e
Show file tree
Hide file tree
Showing 3 changed files with 100 additions and 87 deletions.
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;
}
}

0 comments on commit 71f3f6e

Please sign in to comment.