是否可以在设备上使用没有Google帐户和Google Play服务的GCM?

Boj*_*ber 11 android push-notification google-account google-cloud-messaging google-play-services

我正在为
没有安装Google Play服务或Google Play商店的设备编写系统应用程序.

我想实现推送通知.

该设备运行Android 4.2.2,官方Google GCM文档说:

运行Android 4.0.4或更高版本的设备不需要Google帐户.

但是这些文档与使用的新版GCM有关Google Play Services(不是我的选择)

所以我尝试使用旧的,已弃用的GCM帮助程序库.
我安装GoogleServicesFramework4.0.x在设备上(我可以安装GSF.但不能安装Google Play服务)

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


基本上,我的问题是: 使用旧的,已弃用的GCM帮助程序库,
是否可以在没有 Google帐户的情况下使GCM正常工作

注意:我不得在设备上创建Google帐户(这是一项要求)

如果这是不可能的,那么请建议另一种实现推送通知的方法.
(请注意,大多数推送通知提供商实际上使用GCM"引擎盖"(例如Urban Airpush),所以不建议那些)

我想避免在可能的情况下轮询服务器以获取通知("拉动通知"),
谢谢.

Era*_*ran 11

就在您发布的报价(不需要Google帐户)之前,您有:

它需要运行Android 2.2或更高版本并且安装了Google Play商店应用程序的设备,或运行带有Google API的Android 2.2的模拟器.但是,您不仅限于通过Google Play商店部署Android应用程序.

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

Pushy是GCM的替代品,不需要Google帐户或Google Play服务.


Ian*_*nto 7

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

MQTT实现需要:

1)在服务器端运行的MQTT代理.这可能类似于开源的mosquitto经纪人.

2)您在Android应用程序中包含的MQTT客户端库,使您的应用程序能够连接,订阅和发布消息.http://mqtt.org/software上列出了许多Java选项

3)提出一种唯一识别用户或设备的方法,然后将其用作主题,以便您可以单独将消息发布到一个设备.Dale Lane已经写了很好的指南(http://dalelane.co.uk/blog/?p=1599),还有一套关于MQTT的好资源(https://github.com/mqtt/mqtt .github.io/wiki)

下面的博客文章Github示例提供了一个实现Android的MQTT推送通知的实际示例:

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

https://github.com/tokudu/AndroidPushNotificationsDemo