在 UrbanAirship 中为 Phonegap 获取传入

Posted

技术标签:

【中文标题】在 UrbanAirship 中为 Phonegap 获取传入【英文标题】:getIncoming in UrbanAirship for Phonegap 【发布时间】:2013-01-02 04:59:15 【问题描述】:

当我的应用最小化时,当我在手机上收到推送通知时,如果我点击通知启动我的应用,则调用

window.pushNotification.getIncoming( callback )

返回"message":"","extras":,而不是我点击的通知的数据。

这是正确的行为吗?如果是这样,有没有办法获得我想要的信息?

【问题讨论】:

我也遇到了同样的问题。我在 phonegap "resume" 事件之后运行该函数。 同上。同样的问题。我只能在初始应用程序启动期间从 getIncoming 获取数据,但不能在恢复事件中获取数据。在 android 中按预期工作。 @the_new_mr 我在 UA 支持论坛上看到了你的帖子 - 你有没有想过这个问题? 我发现它在 Android 上首次调用时有效,但在 ios 上无效。他们显然已经在 iOS 中解决了这个问题,但我最近无法访问 iOS 设备来测试它。对于 Android,尽管从文档中并不清楚,但您需要在需要数据时执行我的问题中的语句。它与您定义在收到通知时调用的回调的其他语句不同。您使用定义的回调执行上述语句,然后,当数据准备好时,调用回调。希望我已经把自己说清楚了。 据我所知,它在 iOS 上仍然存在问题。即使通过单击通知打开应用程序,直接 getIncoming 每次都会产生一条空消息,但在文档的“恢复”事件上运行会按预期产生消息。 【参考方案1】:

PhoneGap 推送通知使用以下代码

window.LocalNotification.add(
                    message : "hello",
                    ticker : "New Notification",
                    repeatDaily : false,
                    id : 4
                , newNotification);


function newNotification(e) 
if (e != null && e.event == "newLocalNotification") 
    // add my Appointment page
    window.location = "#redirectPageId";


重定向页面使用“redirectPageId”

【讨论】:

以上是关于在 UrbanAirship 中为 Phonegap 获取传入的主要内容,如果未能解决你的问题,请参考以下文章

禁用 UrbanAirship 警报

使用urbanairship Provider android的问题

UrbanAirship有啥意义?

iphone推送通知urbanairship

使用 CodeIgniter cURL 通过 UrbanAirship 发送推送通知

java.lang.NoClassDefFoundError: com.urbanairship.UAirship