接入消息推送组件后,客户端通过使用 mPaaS 移动网关服务,调用远程过程调用(Remote Procedure Call,简称 RPC)网关进行设备注册、用户绑定以及厂商通道的关系绑定,实现基于设备维度和用户维度的消息推送。不同的设备平台对应的消息推送流程会有所差异,下面将介绍不同设备平台在 RPC 接入方式下的推送处理流程。

厂商通道推送

厂商通道推送是指厂商自己的推送,能够保证高到达率。在调用 push 的 init 进行初始化过程中,会分别向 mPaaS 和厂商推送平台申请设备标识,在回调中分别返回 mPaaS 的设备标识和厂商的设备标识信息。

若要使用厂商通道推送,需要等待以上两个设备标识返回后,再调用 report 接口将两个设备标识上传到移动推送核心,此时会将两者关联起来,完成上述操作后才能真正使用厂商的设备标识,否则就是普通的 mPaaS 推送。

处理流程

消息推送服务由两个后端系统组成:

移动推送核心(Pushcore):负责处理业务逻辑以及向开发者提供 API 接口。

移动推送网关(Mcometgw):负责保持与 Android 设备的长连接。

了解不同设备平台对应的消息推送接入流程:

中国内地安卓设备

苹果及国外安卓设备

中国内地鸿蒙设备

中国内地安卓设备

客户端使用 RPC SDK 经由 RPC 网关直接与移动推送核心进行交互。针对中国内地的安卓设备,移动推送服务提供了自建网关。整个流程如下图所示:

1

其中:

应用启动时,客户端同移动推送网关建立长链接,如果客户端建链信息中未携带设备标识,tp钱包官网下载移动推送网关将下发设备标识。

如果用户开启小米、华为等厂商通道, tp钱包官方下载且客户端属于这些厂商通道的机型,那么这些厂商通道的 SDK 会进行初始化动作,与对应厂商的推送网关建立长连接服务并获取厂商通道设备标识。

获取厂商通道设备标识后,客户端调用设备上报 RPC 接口,上报厂商通道设备信息。

应用用户在客户端上发起登录。

服务端收到用户登录请求,用户登录成功,可以选择在此时向移动推送核心发起用户和设备绑定请求。

服务端发起推送请求。

移动推送核心获取到推送请求,移动推送核心根据推送类型进行区分:

若按设备推送,则直接调用移动推送网关下发消息。

若按用户推送,则根据请求中的用户标识获取与之绑定的设备标识,然后调用移动推送网关下发消息。

移动推送网关下发消息。

消息下发成功后,客户端会向移动推送网关确认已收到消息,如果用户配置了回调接口,移动推送核心会给服务端回执。

客户端在用户主动退出登录时调用解绑 RPC 接口。

苹果及国外安卓设备

国外安卓的推送网关采用谷歌的 GCM/FCM 服务,苹果的推送网关采用苹果的 APNs 服务,此处以苹果设备为例。

客户端使用 RPC 经由 RPC 网关直接与移动推送核心进行交互。整个流程如下图所示:

2

其中:

客户端获取苹果下发的设备标识。

客户端调用上报设备 RPC 接口经由 RPC 网关向移动推送核心上报设备信息。

应用用户在客户端上发起登录。

用户登录成功后,可以选择在此时调用绑定 RPC 接口经由 RPC 网关向移动推送核心发起用户和设备绑定请求。

服务端向移动推送核心发起推送请求。

移动推送核心获取到推送请求,并根据推送类型进行区分:

若按设备推送,则直接调用 APNs 服务下发消息。

若按用户推送,则根据请求中的用户标识获取与之绑定设备标识,然后调用 APNs 服务下发消息。

消息下发成功后,客户端会向移动推送核心确认已收到消息,如果用户配置了回调接口,移动推送核心会给服务端回执。

中国内地鸿蒙设备

客户端使用 RPC 经由 RPC 网关直接与移动推送核心进行交互。整个流程如下图所示:

image

其中:

客户端获取鸿蒙下发的设备标识。

客户端调用上报设备 RPC 接口经由 RPC 网关向移动推送核心上报设备信息。

应用用户在客户端上发起登录。

用户登录成功后,可以选择在此时调用绑定 RPC 接口经由 RPC 网关向移动推送核心发起用户和设备绑定请求。

服务端向移动推送核心发起推送请求。

移动推送核心获取到推送请求,并根据推送类型进行区分:

若按设备推送,则直接调用鸿蒙 API 服务下发消息。

若按用户推送,则根据请求中的用户标识获取与之绑定设备标识,然后调用鸿蒙 API 服务下发消息。

消息下发成功后,客户端会向移动推送核心确认已收到消息,如果用户配置了回调接口,移动推送核心会给服务端回执。





Powered by tp钱包安卓app下载 @2013-2022 RSS地图 HTML地图

Copyright Powered by站群 © 2013-2024