1

我正在使用 sencha touch 2 开发 IOS 应用程序,我需要发送推送通知。我已经设置了苹果证书文件,临时配置文件也做了一些服务器端编码来实现这一点。但不确定 sencha 中是否有推送通知服务?我怎样才能做到这一点...我应该使用PhoneGap吗?请指引我正确的方向。非常感谢您的帮助。提前致谢

4

3 回答 3

1

是的,要使您的基于 iOS Sencha-Touch 的应用程序支持通知,您应该使用文档中提到的第三方插件:-Sencha Packager -PhoneGap -Simulator

我使用了 PhoneGap 实现,并在 app.js 文件中放置了与通知相关的信息。当后端生成通知时,我会根据身份验证时存储的会话令牌将其发送给正确的用户:

Ext.Application({
...
//notifications Configuration
notifications : {
    storeTokenUrl   : 'https://adress/whereto/store/token/',
    gcmsenderid     : '0123456789012',
    appid       : 'apple_app_id',
    title       : 'notification title'
}
})
于 2013-08-29T14:01:28.613 回答
0

当我需要做推送通知时,我使用的是 sencha touch 2.0(当时最晚)

我使用了诸如urbanairshippushwoosh之类的第三方插件,这很好。

对于这些插件,您需要使用 PhoneGap。

参考这个链接

科尔多瓦推送通知

使用 Sencha Touch 和 PhoneGap 为 iOS 构建一个通知应用程序

iOS 6 教程中的 Apple 推送通知服务

于 2013-08-26T10:59:55.157 回答
0

感谢大家引导我朝着正确的方向前进。我使用 sencha 原生设备功能来发送推送通知。它不适用于安卓。我通过以下方式实现了。我将此代码放在我的 app.js 文件中。您将在那里获得设备令牌。将设备令牌发送到您的服务器。在那里,您可以使用此设备令牌配置推送通知

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:');
                console.log('token: ' + token);
                WinReo.app.devicetokenid = token;
                WinReo.app.platform = Ext.device.Device.platform;
                //Ext.Msg.alert('Title', WinReo.app.platform +'', Ext.emptyFn);
            },
            failure: function(error) {
                console.log('# Push notification registration unsuccessful:');
                console.log('     error: ' + error);
            },
            received: function(notifications) {
                console.log('# Push notification received:');
                console.log('    ' + JSON.stringify(notifications));
            }
        });

当你第一次打开应用程序时,我会询问这个应用程序是否允许推送通知消息。在那里您可以选择是/否。稍后您可以通过转到设备中的设置/通知来编辑此设置。

于 2013-10-10T09:42:57.497 回答