10

我正在为一台设备编写系统应用程序,该应用程序没有安装Google Play服务或Google Play商店,其中有
是否可以在设备上使用没有Google帐户和Google Play服务的GCM?

我想实现推送通知。

设备运行的是Android 4.2.2和谷歌官方的GCM文件说:

一个谷歌帐户不是在运行Android 4.0.4或更高版本的设备的要求。

但这些文档都涉及到GCM的新版本,它使用Google Play Services不是一种选择,对我来说

所以我试着用旧的,过时GCM助手库。
我安装在设备上GoogleServicesFramework4.0.x我可以安装GSF,但不是谷歌播放服务

现在我正在AUTHENTICATION_FAILED错误和registrationId是null
我猜这是因为没有设置Google帐户。
已弃用的GCM库是否需要Google帐户?
(我SENDER_ID是正确的,我已经检查了)


基本上,我的问题是:
是否可以使用旧的,过时GCM帮手使GCM工作没有谷歌帐户,
图书馆?

注:我不能在设备上创建谷歌帐户(这是一个要求

如果这是不可能的,那么请建议实施推送通知的另一种方式。
(注意,大多数的推送通知供应商的实际使用GCM“引擎盖下”(城市Airpush,例如),因此不建议那些)

我想避免轮询服务器通知(“拉通知”),如果可能的话,
谢谢。

回答

11

之前,为了您发布的报价(约帐户不被要求谷歌),你有这样的:

它需要运行的是Android 2.2或更高版本设备也已在谷歌Play商店应用程序安装,或者使用Google API运行Android 2.2的模拟器。但是,您不仅限于通过Google Play商店部署Android应用程序。

因此,Google Play商店似乎是GCM工作的必需品。

我无法帮助您选择GCM。

+0

没错,但我不知道如果这些文档,甚至适用于旧库。我希望看到更多人对此的意见... –

+0

@BojanRadivojevicBomber它适用于旧图书馆。这个要求早在旧图书馆被弃用之前就已经存在了。我一直在关注GCM文档一段时间,所以我知道。 – Eran

+1

我最终使用了parse.com,它实现了自己的推送通知服务,而不是在GCM上实现 –

6

作为GCM的替代方案,当设备上缺少Google帐户和Google Play服务时,可以使用MQTT作为开源和流行的推送通知替代方案。 Facebook在Facebook Messenger中使用了MQTT的各个方面。

MQTT实现需要:

1)它运行在服务器端的MQTT经纪人。这可能就像是开源的蚊子经纪人。

2)您的Android应用中包含的MQTT客户端库,使您的应用能够连接,订阅和发布消息。在http://mqtt.org/software

上列出了许多Java选项3)想出一种唯一标识用户或设备的方法,然后将其用作主题,以便您可以单独发布消息到一个设备。 山谷里写了这个(http://dalelane.co.uk/blog/?p=1599)一个很好的指南,也有关于MQTT一套好的资源(https://github.com/mqtt/mqtt.github.io/wiki

而且博客文章Github的样本下方提供了一个实际的例子来实现MQTT推送通知的Android:

http://tokudu.com/post/50024574938/how-to-implement-push-notifications-for-android

https://github.com/tokudu/AndroidPushNotificationsDemo

+0

我同意MQTT是一个可行的选择。我自己用MQTT编写了一个应用程序,并且首先遵循了Dale Lanes的例子。现在有了Eclipse Paho Android,我会推荐它,它更新更成熟。 http://www.eclipse.org/paho/clients/android/ – winne2

相关问题