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 Touch

sencha touch iphone 列表箭头图标

将 Sencha Architect 项目从 Sencha Touch v2.0.x 更新到 Sencha Touch 2.1.x

将 Sencha Touch 1.X 升级到 Sencha Touch 2.X

在 mac 上安装 sencha-touch 2.1

Sencha Touch 2 或 DHTMLX Touch