如何使服务器和客户端配对?
我有一台使用 Google Cloud Messaging 发送消息的服务器。我在 Android 上也有一个客户端,它有一个可以接收的应用程序。
但我需要从客户端获取设备 ID 并将其提供给服务器。有没有其他方法可以配对设备?
我想将多个设备连接到同一台服务器,这可能吗?
谢谢
如何使服务器和客户端配对?
我有一台使用 Google Cloud Messaging 发送消息的服务器。我在 Android 上也有一个客户端,它有一个可以接收的应用程序。
但我需要从客户端获取设备 ID 并将其提供给服务器。有没有其他方法可以配对设备?
我想将多个设备连接到同一台服务器,这可能吗?
谢谢
您可以使用 HTTP 调用连同设备 ID(ANDROID_ID 或 IMEI)将 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)