3

我正在更新我的 Android 应用程序以使用支持 Google Cloud Messaging 的新 Urban Airship 库。

我做了以下事情:

  1. 注册 GCM API 密钥。

  2. 转到设置:服务:配置 GCM,添加 API 密钥并输入我们应用程序的包名称。

  3. 将客户端库从 1.1.3 更新到 3.0.0(是的,我知道,哎哟!)

  4. 从 API 控制台仪表板获取项目编号(这是一个 12 位整数)并将其添加到 airshipconfig.properties,如下所示:

    运输 = gcm

    gcmSender = [项目编号]

  5. 从 airshipconfig.properties 中删除这些行:

    运输 = c2dm

    c2dmSender = [我们的电子邮件]

  6. 在接收带有意图 PushManager.ACTION_REGISTRATION_FINISHED 的通知时添加一条日志行,打印出:logger.w("注册完成。APID:" + intent.getStringExtra(PushManager.EXTRA_APID) + "。有效:" + intent.getBooleanExtra(PushManager. EXTRA_REGISTRATION_VALID,假));

ACTION_REGISTRATION_FINISHED 通知返回似乎是一个有效的 APID。当我在 Urban Airship 中查找它时,我可以确认它在那里:

APID
83014cb8-a573-45f9-9265-b95a8e21e7df
Alias
XDVRKQZ5WOGH
Active
True
Created
2 minutes ago
Tags
Phone, USA, PDT Group 7, PDT, HTC Glacier, App Version internal-4.4-b1, API 10, eng, receivesWeeklySpinTheWheelNotifications
C2DM Registration ID
None

但是,当我使用 UA“测试通知”控制台触发此 APID 的通知时,设备永远不会收到它(没有生成日志消息或用户可见的通知,指示传入推送),并且 UA 控制台中没有显示任何错误。我怎样才能从这里调试?

编辑:实际上,有些设备会收到我的测试通知(当我使用该程序发送它们时),而有些则不会。我无法辨别 APID 查找的任何区别。成功接收的设备是运行 Android 2.3.3 的手机、运行 3.1 的平板电脑和运行 Android 4.1.1 的两部手机。失败的设备是运行 4.0.3 的平板电脑和运行 2.3.4 的手机。

4

0 回答 0