我正在为具有
的设备编写系统应用没有Google Play服务或安装Google Play商店。
我想实现推送通知。
该设备正在运行Android 4.2.2,官方的Google GCM文档说:
Google帐户不是运行Android 4.0.4或更高设备的要求。
但是这些文档与使用Google Play Services
的新版本有关(不是我的选项)
所以我尝试使用旧的,弃用的GCM助手库。
我在设备上安装了GoogleServicesFramework4.0.x
(我可以安装GSF。但不是Google Play Services )
我现在正在获取AUTHENTICATION_FAILED
错误,并且registrationId为null
。
我猜这是因为设备上没有设置Google帐户。
弃用的GCM库是否需要Google帐户?
(我的sender_id正确,我已经检查了)
基本上,我的问题是:
是否可以使GCM工作没有 Google帐户,
使用旧的,弃用的GCM助手库?
注意:我不得在设备上创建Google帐户(这是要求)
如果这是不可能的,请建议另一种实施推送通知的方式。
(请注意,大多数推送通知提供商实际上使用GCM"在引擎盖下"(例如Urban Airpush),所以不要建议这些)
,我想避免必须进行轮询服务器以获取通知("拉动通知"),
谢谢。
就在您发布的报价之前(关于Google帐户不需要),您有:
它需要运行Android 2.2或更高的设备,该设备还安装了Google Play商店应用程序,或使用Google API运行Android 2.2的模拟器。但是,您不仅限于通过Google Play商店部署Android应用程序。
因此,Google Play商店似乎是GCM工作必须的。
Pushy是无需Google Play服务的GCM的付费替代方案。另外,您可以使用MQTT或XMPP开发自己的通知服务。
作为GCM的替代方案,当设备上不使用Google帐户和Google Play服务时,您可以将MQTT用作开源和流行的推送通知替代方案。Facebook在Facebook Messenger中使用了MQTT的各个方面。
MQTT实现需要:
1)在服务器端运行的MQTT代理。这可能是开源的蚊子经纪人。
2)您在Android应用中包含的MQTT客户库库,使您的应用程序可以连接,订阅和发布消息。在http://mqtt.org/software
上列出了许多Java选项3)提出一种唯一识别用户或设备的方式,然后将其用作主题,以便您可以将消息单独发布到一个设备上。戴尔·莱恩(Dale Lane)为此写了一份不错的指南(http://dalelane.co.uk/blog/?p=1599),还有关于mqtt的好资源.github.io/wiki)
此外,下面的博客文章github示例提供了一个实用的示例,以实现Android的MQTT推送通知:
http://tokudu.com/post/50024574938/how-to-to-implement-push-notifications-for-android
https://github.com/tokudu/androidpushnotificationdemo