你的问题是:Android推送框架如何区分通过GCM接收到的数据并将其转发到适当的Android应用程序。
根据你的问题,看起来你想了解在使用GCM服务的应用程序中存在的数据工作流程和客户端服务器架构。
根据Google的文档,“Google Cloud Messaging for Android(GCM)是一项服务,帮助开发人员将数据从服务器发送到Android设备上的其应用程序。” GCM是Google为开发人员提供的一项服务,帮助开发人员将数据从服务器发送到任意数量的Android设备。
简化的应用程序特定工作流程:
当需要发送有关营销活动的通知时,可以向广大受众广播推送通知。当需要发送个性化信息时,可以针对一组用户进行目标定向。
以下步骤说明了Android设备上的推送通知如何工作:
因此,从上面的图片可以很容易地理解,每当用户首次安装Android应用程序时,它就会向GCM服务器注册自己,并获得唯一的GCM ID,然后我们的主机服务器有责任将此新注册的Android用户的Registration ID保存在数据库中,以便在服务器端应用程序希望向特定的Android用户发送消息时使用。
那么,让我们考虑一个案例。假设一个服务器想要向已经注册了GCM ID 1234567的Android用户发送一些数据,而且因为该ID已经存在于服务器的数据库中,所以服务器应用程序将从数据库中获取它,并简单地以JSON格式向GCM服务器发出HTTP POST请求,其中包括注册用户的GCM ID和要发送的数据。同样,GCM服务器记录有所有已注册的GCM / Android客户端的记录,直接将该消息转发到目标Android用户,用户手机上的Android应用程序将弹出通知提醒,表示推送通知已到达。
希望这回答了您的问题!
GCM 代表 Google Cloud Messaging。 任何 Android 设备上接收到的每个推送通知都是由 GCM 发送的。
发送者 -> GCM -> Android 设备
当发送者发送推送通知时,它会发送到 GCM。GCM 接收该推送并通过其唯一设备 ID 将其转发到特定的 Android 设备。
GCM 无法在没有唯一设备 ID 的情况下传递推送。
在实现推送通知时,有两个重要的事项,应用程序密钥和服务器密钥...这些是唯一的密钥..使用这些密钥,GCM 可以识别与推送通知相关的应用程序