本技术属于终端,尤其涉及一种消息推送方法、终端及服务器。
背景技术:
1、随着终端的智能化程度越来越高,各终端厂商大都提供了消息推送系统。消息推送系统通过对外开放推送消息能力,使业务服务端能够下发推送消息到终端进行展示,以向用户提供不同的提醒内容。
2、目前,在业务服务端预先设置固定推送内容,例如,固定的标题、固定的消息内容、固定的背景图片等。然后,业务服务端将固定推送内容发送到终端进行展示。
3、可见,终端接收到推送消息后,只能在通知栏中展示预先设置好的固定推送内容。这样,通知栏所展示的内容可能与终端当前的状态不适配,影响用户体验。例如,业务服务端下发的固定推送内容中背景图片为普通模式的背景图片,而终端使用的是深色模式。这样,处于深色模式的终端展示普通模式的背景图片,可能出现通知栏过亮等影响用户体验的情况。
技术实现思路
1、本技术提供一种消息推送方法、终端及服务器,能够基于各终端的当前实际情况,确定与各终端适配的推送内容,从而提高用户体验。
2、第一方面,本技术提供一种消息推送方法,所述方法应用于终端,所述终端包括消息推送代理和消息中心,所述方法包括:所述消息推送代理接收服务器发送的推送消息请求;在所述推送消息请求为动态推送请求的情况下,所述推送消息请求包括至少一个推送条件,至少一个标签,以及各标签在各所述推送条件对应的推送内容;在所述消息推送代理确定所述推送消息请求为动态推送请求的情况下,对所述推送消息请求进行解析,确定所述至少一个推送条件;所述消息推送代理基于所述推送条件,分别从所述终端获取与各所述推送条件对应的终端数据;所述消息推送代理基于所述终端数据和所述至少一个推送条件,确定各标签对应的目标推送内容;所述消息推送代理根据所述各标签对应的所述目标推送内容生成目标推送消息,并将所述目标推送消息发送至所述消息中心。
3、这样,一方面,由于服务端向终端发送的推送消息包括可动态调整的内容。这样,各终端接收到推送信息后,可以基于接收到的推送消息请求进行逻辑判断,并可以基于各终端的当前实际情况,确定与各终端适配的推送内容,从而提高用户体验。另一方面,由终端侧的消息推送代理执行逻辑判断,能够获取到终端的最新数据,从而可以基于最新数据确定与各自终端适配的展示内容。再一方面由消息推送代理执行逻辑判断,不依赖终端中业务app启动即可进行提醒内容处理。另外,由于处理逻辑和内容数据均由服务端下发到终端,因此,也不需要终端中业务app对内容数据进行适配修改。
4、在一种可实现方式中,所述消息推送代理基于所述推送条件,分别从所述终端获取与各所述推送条件对应的终端数据,包括:所述消息推送代理确定各所述推送条件对应的变量参数;所述消息推送代理分别从所述终端获取与各所述变量参数对应的终端数据。
5、这样,可以通过识别推送消息请求中的变量参数,获取与各所述变量参数对应的终端数据。例如,{% if $system.realtimelocation.city = "shenzhen" %}中的变量参数为$system.realtimelocation.city,即终端的实时位置。
6、在一种可实现方式中,所述终端数据包括所述终端的系统设置数据、所述终端的状态数据和所述终端中应用程序数据中的至少一项;所述系统设置数据包括显示模式和静音模式中的至少一项;所述状态数据包括当前位置、当前电量、网络连接状态和当前时间中的至少一项;应用程序数据包括应用程序版本和应用程序内部可查询的数据中的至少一项。
7、这样,本技术提供的方案可以应用于推送消息涉及上述终端数据的多种应用场景,提高用户体验。
8、在一种可实现方式中,所述推送消息请求还包括消息类型标识,所述方法还包括:在所述消息类型标识为第一标识的情况下,所述消息推送代理确定所述推送消息请求为动态推送请求;在所述消息类型标识为第二标识的情况下,所述消息推送代理确定所述推送消息请求为静态推送请求。
9、在一种可实现方式中,在所述消息推送代理确定所述推送消息请求为动态推送请求的情况下,对所述推送消息请求进行解析,确定所述至少一个推送条件,包括:在所述消息推送代理确定所述推送消息请求为动态推送请求的情况下,提取各所述标签对应的变量参数;所述消息推送代理解析所述变量参数对应的推送条件。
10、在一种可实现方式中,所述推送消息请求还包括与各所述标签对应的消息类型标识,所述在所述消息推送代理确定所述推送消息请求为动态推送请求的情况下,对所述推送消息请求进行解析,确定所述至少一个推送条件,包括:在第一标签的消息类型标识为第一标识的情况下,所述消息推送代理提取所述第一标签对应的变量参数;所述消息推送代理解析所述第一标签的所述变量参数对应的推送条件。
11、在一种可实现方式中,所述方法还包括:在第二标签的消息类型标识为第二标识的情况下,所述消息推送代理将所述第二标签对应的推送信息作为所述第二标签对应的推送内容。
12、在一种可实现方式中,所述标签包括标题、内容、背景图片和界面跳转方式中至少一种。
13、第二方面,本技术提供一种消息推送方法,所述方法应用于服务器,所述方法包括:接收业务管理平台发送的推送消息设置信息;所述推送消息设置信息包括至少一个标签、所述各标签对应的推送内容以及目标推送终端信息;确定所述推送消息设置信息的消息类型;基于所述推送消息设置信息的消息类型,生成包含消息类型标识的推送消息请求;所述消息类型标识用于指示所述推送消息请求的消息类型;基于所述目标推送终端信息,所述将所述推送消息请求分别发送至各目标推送终端。
14、这样,通过服务端向终端下发的推送消息请求中包括可动态调整的内容以及消息类型,这样,终端接收到推送消息请求后,可以基于消息类型,执行对应的逻辑判断。
15、在一种可实现方式中,推送消息设置信息还包括至少一个推送条件,所述推送内容包括在各所述推送条件对应的推送内容;所述确定所述推送消息设置信息的消息类型,包括:在所述推送消息设置信息包括至少一个推送条件的情况下,确定所述推送消息设置信息的消息类型为动态消息;在所述推送消息设置信息不包括所述推送条件的情况下,确定所述推送消息设置信息的消息类型为静态消息。
16、这样,可以基于推送消息设置信息是否包括推送条件,确定推送消息设置信息对应的消息类型。
17、在一种可实现方式中,所述基于所述推送消息设置信息的消息类型,生成包含消息类型标识的推送消息请求,包括:在所述推送消息设置信息的消息类型为动态消息的情况下,生成包含第一标识的推送消息请求;或者,生成包含第一标识和第二标识的推送消息请求;其中,所述第一标识用于指示包括推送条件的标签,所述第二标识用于指示不包括推送条件的标签。
18、这样,通过对不同的推送消息请求类型配置不同的标识,终端可以进一步基于第一标识或第二标识,判断推送消息请求类型。
19、在一种可实现方式中,基于所述推送消息设置信息的消息类型,生成包含消息类型标识的推送消息请求,包括:在所述推送消息设置信息的消息类型为动态消息的情况下,基于预定义语法,将各标签对应的推送内容,构造为包括变量参数的逻辑块;所述逻辑块用于表征推送条件以及所述推送条件对应的推送内容;在所述推送消息设置信息的消息类型为静态消息的情况下,将各标签对应的推送内容确定为各标签对应的固定文本;其中,所述推送消息请求包括所述至少一个标签、以及各标签对应的逻辑块或固定文本。
20、在一种可实现方式中,所述变量参数包括所述目标推送终端的系统设置数据、所述目标推送终端的状态数据和所述目标推送终端中应用程序数据中的至少一项;所述系统设置数据包括显示模式和静音模式中的至少一项;所述状态数据包括当前位置、当前电量、网络连接状态和当前时间中的至少一项;应用程序数据包括应用程序版本和应用程序内部可查询的数据中的至少一项。
21、在一种可实现方式中,所述标签包括标题、内容、背景图片和界面跳转方式中至少一种。
22、在一种可实现方式中,所述目标推送终端信息包括所述目标推送终端的唯一标识。
23、第三方面,本技术提供一种终端,所述终端包括存储器和处理器;所述存储器和所述处理器耦合;所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述处理器执行所述计算机指令时,使所述终端执行如第一方面中任一项所述的方法。
24、第四方面,本技术提供一种服务器,所述服务器包括存储器和处理器;所述存储器和所述处理器耦合;所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述处理器执行所述计算机指令时,使所述服务器执行如第二方面中任一项所述的方法。
25、第五方面,本技术提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序或指令,当所述计算机程序或指令被执行时,如第一方面或第二方面中任一项所述的方法被执行。