0

是否可以在客戶端沒有任何GCM相關邏輯的情況下使用GCM?這個想法是,移動應用程序不應該存儲/續訂令牌等。移動應用程序應該初始化與中間件後端的會話,它將返回內部設備ID,就是這樣(後端服務器將註冊GCM/APN設備)。在沒有客戶端SDK的情況下使用GCM/Firebase

的目的是爲了減少客戶端邏輯和簡化集成,因此流程大概應該是這樣的:APP < - > BACKEND < - > GCM

+0

我想我知道你在問什麼,但是要確定什麼。你是說你想讓客戶端不註冊GCM來獲得註冊令牌,而是後端服務器? – opt05

+0

yes @ opt05我希望我的後端服務器在GCM中註冊每個設備。所以移動設備甚至不應該知道它的gcm-token。 – Dyrk

回答

2

我不認爲你可以,文檔指出「這個程序必須向GCM註冊並獲得稱爲註冊令牌的唯一標識符「。客戶與GCM有一整段歌曲和舞蹈,後端不允許這樣做。另外,如果GCM服務器不知道哪個設備是哪個註冊ID,它不知道發送通知的客戶端。

要GCM文檔指出只有一個註冊的客戶機的處理:

  1. 的客戶端應用程序獲得使用實例ID API登記令牌。對此API的調用必須將授權實體設置爲您的應用服務器的發件人ID,並將範圍設置爲GCM的適當值(取決於您的平臺)。有關此API的完整詳細信息,請參閱API參考。
  2. 客戶端應用程序將註冊令牌傳遞給應用程序服務器。
  3. 應用程序服務器保存註冊令牌並向客戶端應用程序確認該過程已成功完成。
+0

但是,那麼像Parse/OneSignal/Ionic這樣的服務是如何工作的呢?在他們的流程中,您不應該在應用程序端註冊任何GCM/APN令牌。整合非常簡單,只需在客戶端和其後端處理剩下的幾行代碼。 – Dyrk

+0

當您將他們的SDK /庫文件添加到您的項目中時,它們會爲您工作,因此它看起來更少代碼。您仍然需要在客戶端提供GCM發件人ID,以便它可以在您的GCM項目中註冊。 – opt05

相關問題