Android GCM:对于每个设备,intent.getStringExtra(EXTRA_REGISTRATION_ID)都是唯一的吗?

时间:2012-11-27 08:46:26

标签: android google-cloud-messaging

我很好奇,如果从GCM类GCMBaseIntentService的intent.getStringExtra(EXTRA_REGISTRATION_ID)生成的字符串对于每个Android设备都是唯一的吗? 它是如何产生的?

1 个答案:

答案 0 :(得分:2)

注册ID由GCM服务器创建,对于在特定设备上运行的特定应用程序而言是唯一的。

您可以在此处阅读更多内容:http://developer.android.com/guide/google/gcm/gs.html#android-app

  

onRegistered(Context context,String regId):在收到注册意图后调用   将GCM分配的注册ID传递给该设备/应用程序对作为参数。   通常,您应该将regid发送到您的服务器,以便它可以使用它来发送消息   这个设备。

在这里:http://developer.android.com/guide/google/gcm/gcm.html#arch

注册ID

  

GCM服务器向Android应用程序发出的ID,允许它接收消息。一旦Android应用程序具有注册ID,它就会将其发送到第三方应用程序服务器,该服务器使用它来识别已注册接收给定Android应用程序的消息的每个设备。 换句话说,注册ID与特定设备上运行的特定Android应用程序绑定。

此字符串不是由您引用的代码生成的,而是在GCM服务器上生成,并通过该代码从intent读取。