到目前为止,我正在将相同的二进制文件上传到没有 GCM 的 Amazon 和 Google Play 商店,并且两者都运行良好。
现在我要在同一个应用程序上实现 GCM。我是否必须维护单独的代码或相同的代码?据我所知,Kindle 不支持 GCM。所有其他功能都将按原样工作吗?因为带有 Google Map API 的应用程序不适用于 Kindle。
如果我想使用 GCM for Amazon 和 Google PlayStore 维护应用程序的单一版本怎么办。
到目前为止,我正在将相同的二进制文件上传到没有 GCM 的 Amazon 和 Google Play 商店,并且两者都运行良好。
现在我要在同一个应用程序上实现 GCM。我是否必须维护单独的代码或相同的代码?据我所知,Kindle 不支持 GCM。所有其他功能都将按原样工作吗?因为带有 Google Map API 的应用程序不适用于 Kindle。
如果我想使用 GCM for Amazon 和 Google PlayStore 维护应用程序的单一版本怎么办。
我认为您将能够摆脱一个二进制文件。您必须围绕缺少的功能进行一些编码,但这应该是可能的。问题不在于 GCM.jar,而在于缺少的 Google 服务。
我无法使用 Kindle Fire,但我想它的问题类似于您在没有 Google API 的情况下在模拟器上运行 GCM 应用程序时遇到的问题。
如果那是真的,我认为您将不得不捕获以下异常:
java.lang.UnsupportedOperationException: Device does not have package com.google.android.gsf
这是由:
// Make sure the device has the proper dependencies.
GCMRegistrar.checkDevice(this);
如果发生这种情况,则不再调用与 GCM 相关的代码。
同样,我无法使用 Kindle Fire,但我认为这会起作用。
您需要进行特定于平台的检测以将 GCM 用于“常规”android 和 Kindle,您需要了解它们的风格 - 亚马逊设备消息:http ://www.amazonappstoredev.com/2012/12 /amazon-device-messaging-beta-now-available.html