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

相關問題