这是我的代码:
Titanium.Network.registerForPushNotifications({
types: [
Titanium.Network.NOTIFICATION_TYPE_BADGE,
Titanium.Network.NOTIFICATION_TYPE_ALERT
],
success:function(e)
{
var deviceToken = e.deviceToken;
Ti.API.info("Push notification device token is: "+deviceToken);
alert('device token is' +e.deviceToken);
Ti.API.info("Push notification types: "+Titanium.Network.remoteNotificationTypes);
Ti.API.info("Push notification enabled: "+Titanium.Network.remoteNotificationsEnabled);
},
error:function(e)
{
Ti.API.info("Error during registration: "+e.error);
},
callback:function(e)
{
// called when a push notification is received.
//Titanium.Media.vibrate();
var data = JSON.parse(e.data);
var badge = data.badge;
if(badge > 0){
Titanium.UI.iPhone.appBadge = badge;
}
var message = data.message;
if(message != ''){
var my_alert = Ti.UI.createAlertDialog({title:'', message:message});
my_alert.show();
}
}
});
}
回调函数:
callback:function(e)
{
// called when a push notification is received.
//Titanium.Media.vibrate();
var data = JSON.parse(e.data);
var badge = data.badge;
if(badge > 0){
Titanium.UI.iPhone.appBadge = badge;
}
var message = data.message;
if(message != ''){
var my_alert = Ti.UI.createAlertDialog({title:'', message:message});
my_alert.show();
}
}
});
当应用程序在前台运行时收到推送通知时会触发。
问题,如果我有2个文件:
app.js - > newwindow.js
并说我在newwindow.js,我还会收到推送通知吗? (如果上面的代码都粘贴在app.js中?)
2)当应用程序在后台运行时收到推送通知时,如何为其编写回调方法,以便告诉应用程序如何处理该通知
3)处理不同通知的最佳方式是什么,即在背景模式下我需要打开不同的窗口?
notification 1 - > win1.js
notification 2 - > win2.js
notification 3 - > win3.js
答案 0 :(得分:0)
首先,你应该在你的应用程序中实现它(看起来你只是从文档中复制过来),看看实际推送通知是如何显示出来的,这将使每件事情都清楚。
您在上面写的回调将获取您使用推送通知发送的消息。
至于问题的第2部分:用户点击推送后,您的应用将进入前台,回调将自动调用。
要处理不同的通知,永远不会有不同的推送通知,总会有一个推送通知。您必须解析数据并根据条件采取行动。您可以修改推送消息并根据它打开窗口。