Android-Blackberry GCM:无法将移植的安卓应用程序注册到GCM服务

5
我们在安卓移植应用中注册设备以便接收推送通知时遇到了问题。以下是我们的情况:
- 我们有一台黑莓10 Dev Alpha设备,操作系统版本为:10.0.9.388 - 已经注册到推送服务 - 创建了android.cfg并使用从黑莓那里收到的值更改了这些值: - 添加了清单权限。 - 我们使用Debug Token部署应用程序。 - 设备连接到黑莓网络(我们可以添加联系人,通过BBM聊天等) - 生成的.bar文件结构似乎没问题。(.apk,清单-权限也没问题-,android.cfg) - GCM在Android设备上运行良好,但是,在BlackBerry dev alpha设备上调试时,GCMRegistrar类的register方法未能注册我们的设备,并且getRegistrationId方法始终返回一个空字符串。
没有抛出任何异常,因此我们不知道register方法失败的原因。是否有一种方法可以查看一些日志?
我们尝试通过SSH连接设备,但我们不知道在哪里找到关于此的一些日志(如果有的话)。
2个回答

1

将操作系统版本从10.0.9.388更新为10.0.10.263后,我们的GCM实现开始工作(来自Blackberry支持团队的建议)。

在调用GCMRegistrar.register后,我们获得了注册ID,现在我们可以收到通知!因此,无需使用Blackberry SDK或任何其他第三方库。

如果您正在将Android应用程序移植到Blackberry,请确保android.cfg格式正确,并包含在注册推送服务后从Blackberry邮件中接收到的有效数据。还要检查重打包的.bar文件中的清单文件是否具有推送通知权限。


0

GCM 在 BlackBerry 设备上无法使用,因为 GCM 是 Google 服务的一部分,这些服务通过 Google Play 提供。任何没有 Google Play(如 Dev Alpha)的设备都无法使用 GCM。


感谢您的回复,Raghav。我知道没有Google Play GCM是无法工作的,但我认为也许Blackberry在其Android Runtime上做了一些魔术,比如包装gcm api。 引用:http://developer.blackberry.com/android/apisupport/creating_push-enabled_android_apps.html “[...]当您注册推送服务时,您会收到一个唯一的设备注册ID。BlackBerry注册ID包含8个字符。[...] 我不知道如何获取那个8个字符的注册ID。” - ale.m
@ale.m 他们说你需要在你的应用中使用黑莓自己的推送系统,而不是GCM。它们都可以完成同样的事情,但是它们是独立的系统。 - Raghav Sood
那么没有使用黑莓Java SDK 的实现方法了,对吗? - ale.m
@ale.m 也许如果您使用像Urban Airship这样的第三方服务,它会起作用,但我不能肯定。 - Raghav Sood

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接