【问题标题】:IBM Worklight: Push Notification Error on Android deviceIBM Worklight:Android 设备上的推送通知错误
【发布时间】:2013-03-14 08:17:02
【问题描述】:

我已经下载了推送通知模块的示例应用程序,并尝试在三星 Tab 2 上运行它。我发现它需要 senderId 和 Key,因此我使用 Google 的 GCM 控制台创建了这些值。然后,我运行了应用程序,它成功了。然后我通过示例应用程序订阅并按下登录按钮。登录后,我的 LogCat 显示如下:

03-14 13:03:10.648:V/GCMRegistrar(9351):在应用程序版本上保存 regId 1 03-14 13:03:10.648: D/WLDroidGap(9351): 在 GCM 服务器上注册 有注册ID APA91bEUF25J1woHwcfEhG-73XXUyRJw6ul26VF0GQJBJQ9gtgjg0QK5gQ9Nq2sAeHiOKCJGRlJJvZ_0CvibjwS_eg9IUkHKez9zVxbgCtPsWj85DuHv6JbzydQY182-HvkbfM45lGG8cZnhF_Qndek

03-14 13:03:10.671:D/WLDroidGap(9351):通知 javascript on 注册成功

03-14 13:03:10.679: D/PushApplication(9351): 推送通知设备 令牌已更改,正在更新服务器通知令牌 ID。

03-14 13:03:10.687: D/PushApplication(9351): 请求 [http://192.168.1.206:8080/apps/services/api/PushApplication/android/notifications]

03-14 13:03:10.710: D/PushApplication(9351): 响应 [http://192.168.1.206:8080/apps/services/api/PushApplication/android/notifications] 成功:/*-secure-

03-14 13:03:10.710: D/PushApplication(9351): {"errors":[],"isSuccessful":true,"warnings":[],"info":[]}*/

03-14 13:03:12.914: D/PushApplication(9351): 请求 [http://192.168.1.206:8080/apps/services/api/PushApplication/android/notifications]

03-14 13:03:12.929:D/WLDroidGap(9351):Javascript 脚本请求 调度到 WL.Client.Push.__onmessage

03-14 13:03:52.625:D/PushApplication(9351):请求 [登录]

03-14 13:03:52.695: D/PushApplication(9351): 请求 [http://192.168.1.206:8080/apps/services/api/PushApplication/android/notifications]

03-14 13:03:52.750: D/PushApplication(9351): 响应 [http://192.168.1.206:8080/apps/services/api/PushApplication/android/notifications] 成功:/*-secure-

03-14 13:03:52.750: D/PushApplication(9351): {"isSuccessful":true,"WL-Authentication-Success":{"PushAppRealm":{"userId":"hello_13@gmail.com","attributes":{},"isUserAuthenticated":1,"displayName": "hello_13@gmail.com"}}}*/

然后过了一段时间我的日志猫显示:

unregisterReceivers:接收方未注册:com.worklight.androidgap.plugin.Push$1@4128e920

Web 控制台上出现此错误:

{"WL-Authentication-Success":{"wl_deviceNoProvisioningRealm":{"userId":"device","attributes":{"mobileClientData":"com.worklight.core.auth.impl.MobileClientData@e0d191" },"isUserAuthenticated":1,"displayName":"device"}},,"WL-Authentication-Failure":{"wl_remoteDisableRealm":{"reason":"登录失败"}}}*/

登录并订阅后,它不会显示任何让我知道通知是否成功推送的信息。

【问题讨论】:

    标签: android ibm-mobilefirst


    【解决方案1】:

    流程错误。在将其登录到应用程序之前,您无法订阅。您首先登录,然后单击订阅按钮,该按钮应显示一个弹出窗口,说明订阅成功。然后,您可以单击 isPushSupported 和 isSubscribed 按钮来验证这一点。

    之后发送通知也应该会成功。

    Google 可能会自行取消注册一段时间未收到推送通知的用户(它不会在这样做多长时间后透露),这可能是您的问题。您没有指定足够清晰的复制步骤。

    【讨论】:

    • 我应该从哪里登录??
    • 我的意思是,在示例应用程序中,您应该首先看到登录屏幕,然后才是按钮。
    • 如果您在谈论 Gmail 登录,那么我已经通过设备上的帐户登录。并从这个帐户中,我在 Google api 上创建了我的发件人密钥和 ID。因此,当我运行我的应用程序时,它没有询问任何登录信息。它直接向我显示带有 4 个按钮的页面
    • 有什么帮助吗?我再次在设备上运行我的项目,但它没有要求任何登录。
    • 好的,我解决了我的问题,application_descriptor.xml 中没有“securityTest="PushApplication-strong-mobile-securityTest"
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多