Sencha touch 2 + Apple 推送通知 + Ext.device.Push
Posted
技术标签:
【中文标题】Sencha touch 2 + Apple 推送通知 + Ext.device.Push【英文标题】:Sencha touch 2 + Apple push notifications + Ext.device.Push 【发布时间】:2012-05-31 19:51:15 【问题描述】:我最近开始使用 Sencha Touch 2 进行开发,目前我正在创建一个需要支持 Apple Push Notifications 的应用程序。
因此,我在 Apple 开发人员中心创建了必要的证书,并使用它们将应用程序与 Sencha Touch SDK 工具打包在一起。一切顺利,我可以在我的设备上运行这个应用程序。
在应用程序中,我添加了一个按钮来接收设备令牌。当我点击按钮时,它会执行以下代码:
Ext.device.Push.register(
type: Ext.device.Push.ALERT | Ext.device.Push.BADGE | Ext.device.Push.SOUND,
success: function (token)
console.log('# Push notification registration successful:');
Ext.Msg.alert(' token: ' + token);
,
failure: function (error)
console.log('# Push notification registration unsuccessful:');
Ext.Msg.alert(' error: ' + error);
,
received: function (notifications)
console.log('# Push notification received:');
Ext.Msg.alert(' ' + JSON.stringify(notifications));
// Ext.device.Notification.show(
// title: 'My Title',
// message: 'A message',
// style: "login",
// buttons: ["Cancel", "Login"],
// callback: function (button, values, options)
// //When the user taps a button, show another notification
// Ext.device.Notification.show(
// message: 'You typed: "' + values + '"'
// );
//
// );
,
当 Ext.device.Notificaion.show 未注释时,我会收到一条消息,因此我确信这段代码会被执行。现在我的问题是我没有收到来自 Ext.device.Push.register 的任何消息。没有成功、失败或收到的事件被触发。这里有没有人设法让这个工作,或者我做错了什么?
【问题讨论】:
【参考方案1】:确保将 "notificationConfiguration":"debug"
包含在 JSON 配置中。
【讨论】:
【参考方案2】:我已经在我的博客上发布了如何为 ios 推送通知配置和构建 Sencha Touch 应用程序 - http://isolasoftware.it/2013/09/17/ios-push-notifications-using-sencha-touch-2/。
最重要的步骤是:
在 package.json 中配置 applicationName、applicationId 和 bundleSeedId 对您的应用执行手动授权 正确构建推送服务器的 .pem 证书(或 .p12)【讨论】:
以上是关于Sencha touch 2 + Apple 推送通知 + Ext.device.Push的主要内容,如果未能解决你的问题,请参考以下文章
将 Sencha Architect 项目从 Sencha Touch v2.0.x 更新到 Sencha Touch 2.1.x