我正在开发一个应用程序(现在只是 android),我正在尝试添加推送通知。我查看了几个论坛,试图调试我的代码以检索我的设备 ID,以便我可以开始发送推送通知。我在下面粘贴我的代码。
先感谢您!
index.html 的负责人
<script>
var pushNotification;
pushNotification = window.plugins.pushNotification;
// iOS
function onNotificationAPN(event) {
if (event.alert) {
navigator.notification.alert(event.alert);
}
if (event.sound) {
var snd = new Media(event.sound);
snd.play();
}
if (event.badge) {
pushNotification.setApplicationIconBadgeNumber(successHandler, event.badge);
}
}
// Android
function onNotificationGCM(e) {
switch( e.event )
{
case 'registered':
if ( e.regid.length > 0 )
{
// Your GCM push server needs to know the regID before it can push to this device
// here is where you might want to send it the regID for later use.
alert('registration id = 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>');
// if the notification contains a soundname, play it.
var my_media = new Media("/android_asset/www/"+e.soundname);
my_media.play();
}
else // otherwise we were launched because the user touched a notification in the notification tray.
$("#app-status-ul").append('<li>--BACKGROUND NOTIFICATION--' + '</li>');
$("#app-status-ul").append('<li>MESSAGE -> MSG: ' + e.payload.message + '</li>');
$("#app-status-ul").append('<li>MESSAGE -> MSGCNT: ' + e.payload.msgcnt + '</li>');
break;
case 'error':
alert('GCM error = e.msg');
break;
default:
alert('An unknown GCM event has occurred');
break;
}
}
// result contains any message sent from the plugin call
function successHandler (result) {
alert('result = '+result)
}
// result contains any error description text returned from the plugin call
function errorHandler (error) {
alert('error = '+error)
}
function onLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
alert('device loaded')
}
// Cordova is loaded and it is now safe to make calls Cordova methods
//
$(document).ready(function() {
alert('device ready jquery')
// Now safe to use the Cordova API
pushNotification.register(successHandler, errorHandler,{"senderID":"uvumobile2012","ecb":"onNotificationGCM"});
})
</script>
配置文件
<feature name="http://api.phonegap.com/1.0/device" />
<preference name="phonegap-version" value="2.3.0" />
<preference name="orientation" value="portrait" />
<preference name="target-device" value="universal" />
<preference name="fullscreen" value="false" />
<preference name="android-minSdkVersion" value="4" />
<preference name="splash-screen-duration" value="5000" />
<feature name="http://api.phonegap.com/1.0/file"/>
<feature name="http://api.phonegap.com/1.0/geolocation"/>
<feature name="http://api.phonegap.com/1.0/network"/>
<feature name="http://api.phonegap.com/1.0/notification"/>
<gap:plugin name="BarcodeScanner" /> <!-- latest release -->
<gap:plugin name="GAPlugin" /> <!-- latest release -->
<gap:plugin name="PushPlugin" value="com.plugin.GCM.PushPlugin" />