2012-08-08 75 views
1

如何讓服務器和客戶端配對?Android GCM將服務器和客戶端配對?

我有一臺使用Google Cloud Messaging發送消息的服務器。 我也有一個Android客戶端,它有一個應用程序可以接收。

但我需要從客戶端獲取設備ID並將其提供給服務器。有沒有其他的方式來配對設備?

我想將多個設備連接到同一臺服務器,這可能嗎?

由於

回答

3

可以從設備使用與設備ID(ANDROID_ID或IMEI)沿一個HTTP呼叫發送GCM登記ID來服務器。 服務器可以保持設備與其GCM註冊ID之間的映射。 從服務器發送GCM時:使用GCM regId,服務器密鑰和項目ID。

在您的第一項活動:

if (regId.equals("")) 
{ 
    GCMRegistrar.register(this, Constants.GCM_SENDER_ID); 
} 
else 
{ 
// Send "regId" to server (e.g. using http) 
} 

在你GCMIntentService類:

protected void onRegistered(Context arg0, String arg1) 
{ 
    // Send arg1 to server along with some device Id (e.g. ANDROID_ID or IMEI) 
} 

是的,這可能與服務器對不同的設備。我們已經與我們的服務器配對了數百個設備。

編輯:

設備調用以下URL從代碼: http://www.example.com/updateGcm?id= & gcmId數據庫表=

服務器只需保存/更新映射。 恐怕我無法提供確切的服務器端代碼。 我們正在使用PHP服務器(不使用爲服務器提供的jar)

+1

你可以發佈處理配對的服務器端代碼嗎? – 2012-08-08 09:52:38

+0

感謝您的更新 – 2012-08-08 11:14:32