【问题标题】:Apigee push notifications on Android not delivered when app in background (Phonegap)当应用程序在后台运行时,Android 上的 Apigee 推送通知未发送(Phonegap)
【发布时间】:2014-05-18 08:54:10
【问题描述】:

我正在尝试将 apigee 推送通知与 Android phonegap app build 3.3.0、PushPlugin 一起使用。 我在应用程序处于前台时发送的推送通知可以正确显示,但是当应用程序处于后台时,它们不会显示。

问题似乎在于 apigee 发送的推送带有包含“data”属性(e.payload.data)而不是“message”属性的有效负载,因为没有“message”属性,这就是为什么 android不显示。

能否请您告知是否可以更改 apigee 推送消息的有效负载格式或使 phonegap 应用程序正确处理有效负载中的“数据”?

谢谢!

【问题讨论】:

    标签: android cordova push-notification apigee phonegap-pushplugin


    【解决方案1】:

    我不确定电话间隙插件在后台处理方面的灵活性如何,但是可以,当您创建消息以推送到您的设备时,您可以提供您想要的任何有效负载。

    如果您查看 Apigee 的 Creating and managing notifications 文档,您会看到在每个示例中,都有一个可以指定的。如果它是 JSON 对象(而不是字符串),它将“按原样”交付给客户端。换句话说,您可以在通知创建期间指定您的通知程序类似于:

    { "消息" : "我的消息" }.

    希望对您有所帮助。

    【讨论】:

    • 这很有趣,我只是尝试从 apigee 门户发送一个 json,它仍然将其转换为有效负载:{"data":"{ \"message\" : \"my message\" }"}
    • 我尝试使用 API 发送带有自定义 json 的推送,但它仍然以 {"data":"{ \"message\" : \"my message\" }"} 的形式发送。可以请教吗?
    • 我使用 javascript API 很简单: var client = new Apigee.Client({ .... }); var json = "{ \"消息\" : \"我的消息\" }"; var androidOptions = { 通知器:“androidDev”,路径:devicePath,消息:json }; client.sendPushToDevice(androidOptions, callback);
    • 尝试将您的 json 消息保留为 javascript 对象,而不是将其转换为字符串。
    • 否则,你看到这个相关的问题了吗?也许您有类似的清单命名问题? stackoverflow.com/questions/19012354/…
    猜你喜欢
    • 2016-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多