CN111083042A - 模板消息的推送方法、装置、设备及存储介质 - Google Patents
模板消息的推送方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111083042A CN111083042A CN201911303701.1A CN201911303701A CN111083042A CN 111083042 A CN111083042 A CN 111083042A CN 201911303701 A CN201911303701 A CN 201911303701A CN 111083042 A CN111083042 A CN 111083042A
- Authority
- CN
- China
- Prior art keywords
- time period
- template
- message
- template message
- pushing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/214—Monitoring or handling of messages using selective forwarding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种模板消息的推送方法、装置、设备及存储介质,属于计算机技术领域。本申请提供了一种小程序模板消息的免打扰推送机制,为小程序的模板消息设置了防打扰时间段,如果在防打扰时间段采集到要推送的模板消息,则将模板消息缓存起来,延迟到打扰时间段之外进行推送。由于避免在不合时宜的情况下推送模板消息,从而解决了由于推送时机不合适导致骚扰到用户的问题,避免模板消息对用户造成干扰,从而避免由于用户对模板消息产生反感而取消订阅模板消息或者举报模板消息的情况。能够在合适的推送时间段将之前缓存的模板消息推送给用户。因此,该方法能够优化模板消息的推送机制,为用户带来更好的模板消息触达体验。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种模板消息的推送方法、装置、设备及存储介质。
背景技术
随着应用功能的发展,很多应用能够为第三方应用的运行提供平台。例如,可以通过安装包在操作系统中安装母应用,该母应用内能够运行一个或多个子应用。比如说,可以安装即时通信应用,在即时通信应用的界面中显示小程序的入口,当该入口被点击时,可跳转至小程序的界面,从而快捷地使用小程序。
时下,很多母应用可以为子应用提供推送模板消息的功能,使得子应用的模板消息可以借助母应用触达用户。以母应用为即时通信应用,子应用为即时通信应用中运行的小程序为例,每当要将一条小程序的模板消息推送至即时通信应用时,小程序的后台服务器会获取模板消息的消息内容和模板标识,向即时通信应用的后台服务器发送携带消息内容和模板标识的模板消息推送请求。即时通信应用的后台服务器会响应于模板消息推送请求,使用消息内容,对模板标识对应的模板进行填充,得到模板消息,向运行有即时通信应用的终端推送模板消息。终端接收到模板消息时,会通知用户查看接收到的模板消息,比如,终端可以在即时通信应用的聊天界面中的服务通知选项显示红点,当服务通知选项被点击后,会从聊天界面跳转至服务通知界面,在服务通知界面显示接收到的模板消息,使得模板消息触达用户。
时下,各种子应用都是随时随地通过母应用推送模板消息的,导致母应用经常随时随地通知用户查看接收到的模板消息,这无疑对用户产生了很大的干扰,对用户造成不便。
发明内容
本申请实施例提供了一种模板消息的推送方法、装置、设备及存储介质,能够减少模板消息的推送对用户造成的干扰。所述技术方案如下:
一方面,提供了一种模板消息的推送方法,所述方法包括:
获取子应用待推送的模板消息的消息内容;
若当前时间点位于防打扰时间段,将所述消息内容存储至缓存中;
若当前时间点到达所述防打扰时间段之外的推送时间段,从所述缓存中读取所述消息内容;
根据所述消息内容以及所述模板消息对应的模板标识,向母应用关联的第二服务器发送模板消息推送请求,所述模板消息推送请求包括所述消息内容以及模板标识。
可选地,所述若当前时间点位于防打扰时间段,将所述消息内容存储至缓存中,包括:
若当前时间点位于防打扰时间段,根据所述当前时间点,获取分值,所述分值与所述当前时间点关联;
根据所述分值,将所述消息内容存储至所述缓存中的队列,所述队列用于按照分值的大小顺序依次存储防打扰时间段内每个模板消息的消息内容。
可选地,所述防打扰时间段包括多个时间区间,所述根据所述当前时间点,获取分值,包括:
根据所述当前时间点所属的时间区间,确定所述时间区间对应的目标时间间隔,所述目标时间间隔为所述推送时间段与所述时间区间之间的时间间隔;
获取所述当前时间点与所述目标时间间隔之间的和值,得到所述分值。
可选地,所述若当前时间点到达所述防打扰时间段之外的推送时间段,从所述缓存中读取所述消息内容,包括:
若当前时间点到达所述推送时间段,每隔定时任务模式所设置的时间周期,对所述当前时间点与所述分值进行比较;
若所述分值小于或等于当前时间点,将所述消息内容从所述队列中出列。
可选地,所述若当前时间点位于防打扰时间段,将所述消息内容存储至缓存中之前,所述方法还包括:
根据所述模板消息对应的业务类型,获取所述业务类型对应的所述防打扰时间段。
可选地,所述业务类型包括配送业务,所述根据所述消息内容对应的业务类型,获取所述业务类型对应的所述防打扰时间段,包括:
根据配送业务的停止配送时间段,获取所述配送业务对应的防打扰时间段,所述防打扰时间段位于所述停止配送时间段内。
可选地,所述模板消息用于推送至目标用户,所述模板消息推送请求还包括所述目标用户的用户标识,所述方法还包括以下至少一项:
根据所述目标用户的作息偏好时间,确定所述作息偏好时间对应的所述防打扰时间段;
根据所述目标用户的作息偏好时间,确定所述作息偏好时间对应的所述推送时间段;
根据所述目标用户的购物偏好时间,确定所述购物偏好时间对应的所述防打扰时间段;
根据所述目标用户的购物偏好时间,确定所述购物偏好时间对应的所述推送时间段。
另一方面,提供了一种模板消息的推送装置,所述装置包括:
获取模块,用于获取子应用待推送的模板消息的消息内容;
存储模块,用于若当前时间点位于防打扰时间段,将所述消息内容存储至缓存中;
读取模块,用于若当前时间点到达所述防打扰时间段之外的推送时间段,从所述缓存中读取所述消息内容;
发送模块,用于根据所述消息内容以及所述模板消息对应的模板标识,向母应用关联的第二服务器发送模板消息推送请求,所述模板消息推送请求包括所述消息内容以及模板标识。
可选地,所述存储模块,用于若当前时间点位于防打扰时间段,根据所述当前时间点,获取分值,所述分值与所述当前时间点关联;根据所述分值,将所述消息内容存储至所述缓存中的队列,所述队列用于按照分值的大小顺序依次存储防打扰时间段内每个模板消息的消息内容。
可选地,所述防打扰时间段包括多个时间区间,所述获取模块,用于根据所述当前时间点所属的时间区间,确定所述时间区间对应的目标时间间隔,所述目标时间间隔为所述推送时间段与所述时间区间之间的时间间隔;获取所述当前时间点与所述目标时间间隔之间的和值,得到所述分值。
可选地,所述读取模块,用于若当前时间点到达所述推送时间段,每隔定时任务模式所设置的时间周期,对所述当前时间点与所述分值进行比较;若所述分值小于或等于当前时间点,将所述消息内容从所述队列中出列。
可选地,所述获取模块,还用于根据所述模板消息对应的业务类型,获取所述业务类型对应的所述防打扰时间段。
可选地,所述业务类型包括配送业务,所述获取模块,用于根据配送业务的停止配送时间段,获取所述配送业务对应的防打扰时间段,所述防打扰时间段位于所述停止配送时间段内。
可选地,所述模板消息用于推送至目标用户,所述模板消息推送请求还包括所述目标用户的用户标识,所述装置还包括确定模块,所述确定模块用于执行以下至少一项:
根据所述目标用户的作息偏好时间,确定所述作息偏好时间对应的所述防打扰时间段;
根据所述目标用户的作息偏好时间,确定所述作息偏好时间对应的所述推送时间段;
根据所述目标用户的购物偏好时间,确定所述购物偏好时间对应的所述防打扰时间段;
根据所述目标用户的购物偏好时间,确定所述购物偏好时间对应的所述推送时间段。
另一方面,提供了一种电子设备,所述电子设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条指令,所述至少一条指令由所述一个或多个处理器加载并执行以实现上述模板消息的推送方法所执行的操作。
另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现上述模板消息的推送方法所执行的操作。
本申请实施例提供的技术方案带来的有益效果至少包括:
本实施例提供了一种小程序模板消息的免打扰推送机制,为小程序的模板消息设置了防打扰时间段,如果在防打扰时间段采集到要推送的模板消息,则将模板消息缓存起来,延迟到打扰时间段之外进行推送。一方面,由于避免在不合时宜的情况下推送模板消息,从而解决了由于推送时机不合适导致骚扰到用户的问题,避免模板消息对用户造成干扰,从而避免由于用户对模板消息产生反感而取消订阅模板消息或者举报模板消息的情况。另一方面,能够在合适的推送时间段,将之前缓存的模板消息推送给用户,从而保证防打扰时间段内触发的模板消息最终触达用户。因此,该方法能够优化模板消息的推送机制,为用户带来更好的模板消息触达体验。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种模板消息的推送方法的实施环境的示意图;
图2是本申请实施例提供的一种模板消息的推送方法的流程图;
图3是本申请实施例提供的一种包含模板消息的界面示意图;
图4是本申请实施例提供的一种包含模板消息的界面示意图;
图5是本申请实施例提供的一种模板消息的推送方法的流程图;
图6是本申请实施例提供的一种模板消息的推送装置的结构示意图;
图7是本申请实施例提供的一种终端的结构示意图;
图8是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本申请中的字符“/”,一般表示前后关联对象是一种“或”的关系。
本申请中术语“多个”的含义是指两个或两个以上,例如,多个数据包是指两个或两个以上的数据包。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。
以下,对本申请实施例的系统架构进行介绍。例如,参见图1,图1是本申请实施例提供的一种模板消息的推送方法的实施环境示意图。,该实施环境中包括终端101、子应用关联的第一服务器102以及母应用关联的第二服务器103。终端101、第一服务器102以及第二服务器103通过无线网络或有线网络相连。
终端101可以是智能手机、游戏主机、台式计算机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器或MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器和膝上型便携计算机中的至少一种。终端101安装和运行有母应用,该母应用能够运行子应用。示例性的,母应用可以是一个应用客户端,也可以是浏览器应用。例如,母应用可以是即时通信应用、支付应用、金融应用等等,母应用内可以登录有用户账号,子应用内登录的用户账号和母应用登录的用户账号可以相同或不同。
第一服务器102用于提供子应用的后台服务。第一服务器102可以包括一台物理服务器、多台物理服务器组成的集群、云计算平台和虚拟化中心中的至少一种。第一服务器102可以与数据库104建立网络连接,数据库104存储有子应用的业务数据,当第一服务器102需要数据时,可以访问数据库104,读取数据库104存储的数据。
第二服务器103用于提供母应用的后台服务。第二服务器103可以包括一台物理服务器、多台物理服务器组成的集群、云计算平台和虚拟化中心中的至少一种。第二服务器103可以与数据库105建立网络连接,数据库105存储有母应用的业务数据,当第二服务器103需要数据时,可以访问数据库105,读取数据库105存储的数据。
第一服务器102可以通过与第二服务器103进行交互,为终端101提供子应用的后台服务。或者,第一服务器102可以不借助第二服务器103,直接与终端101进行交互,为终端101提供子应用的后台服务。例如,第二服务器103可以为子应用提供消息发送接口,第一服务器102可以通过向该消息发送接口传入模板标识、消息内容等参数,调用消息发送接口,指令第二服务器103向终端101推送模板消息。其中,该消息发送接口可以是专用于发送模板消息的消息发送接口,也可以是可发送各类消息的消息发送接口,本实施例对此不做限定。
以上示例性介绍了本申请的硬件架构,该硬件架构可以作为基础设施,实现母应用推送子应用的模板消息的方法流程。
具体而言,随着应用功能的发展,越来越多的应用客户端可以为第三方应用的运行提供平台。当在应用客户端内下载好该第三方应用后,可以在该应用客户端内运行该第三方应用,无需用户跳转到当前应用客户端以外,即能够在当前应用客户端中,无缝衔接的使用第三方应用的功能。例如,目前的一些即时通信应用中可以下载电商应用,下载完成后,可以在该即时通信应用中运行电商应用,从而在即时通信应用内迅速使用电商应用的购物功能。
为区分描述,下述方法实施例中,将应用客户端记为母应用,将应用客户端内运行的第三方应用记为子应用。
母应用是能够运行子应用的应用。在一种实现方式中,母应用可以是安卓操作系统或苹果操作系统中由安装包安装的应用客户端。母应用可以是社交应用、专门支持子应用的专用应用、文件管理应用、支付应用、邮件应用或者游戏应用等。社交应用包括即时通信应用、SNS(Social Network Service,社交网站)应用或者直播应用等,本实施例对母应用的类型不做限定。
子应用,俗称为小程序或嵌入型应用。子应用是依附于母应用运行的应用程序,子应用可以搭载在某一母应用上,并由子应用对应的后台服务器提供数据支持。用户可以通过在母应用中运行子应用,从而实现与该子应用对应的服务器进行数据交互,以使用该子应用所提供的功能。子应用是一种新的开放能力,开发者可以快速地在母应用中开发一个子应用,以在一个母应用内无需跳转至母应用外即能够实现多种其他母应用所提供的功能。子应用可以在母应用,尤其是即时通信应用内被便捷地获取和传播,同时具有出色的使用体验,例如,子应用可通过母应用下载、启动、运行、访问、关闭等。子应用具体可以是电商应用,比如可以是生鲜购物应用。当然,子应用也可以是社交应用、文件管理应用、邮件应用或者游戏应用等,本实施例对子应用的类型不做限定。
在一个示例性场景中,对于生鲜购物小程序来说,可以在即时通信客户端中通过搜索操作和点击操作,从即时通信客户端的聊天界面跳转至生鲜购物小程序,显示生鲜购物小程序,通过生鲜购物小程序,购买生鲜物品,这样,可以无需安装独立的生鲜购物客户端,也无需跳转至即时通信客户端之外,即可使用生鲜购物的功能。
时下,一些母应用为子应用开放了消息通知的渠道,提供了模板消息的推送功能。有了这一功能,子应用就可以借助母应用,向用户发送消息通知,使得子应用的模板消息可以高效触达用户。
其中,模板消息是指由具体的消息内容套用固定的模板后得到的消息。具体地,模板是指有一定的格式及内容限制、部分内容可根据需要自定义配置的数据结构。模板可以具有一种或多种模板主题,不同的模板主题可对应不同的格式,可通过对模板关键字的选取和搭配形成不同的与模板主题对应的模板消息。模板主题用于描述模板消息的主题,模板主题可与提供的服务的具体步骤对应,模板主题可根据需要自行添加。通过将同类相似的内容组织成模板,可以重复使用同一套文案及格式,每次子应用向用户发送提醒的时候,不用再次组成模板消息,只需要将具体的消息内容发给母应用的后台服务器,母应用的后台服务器可以自动填充模板,将模板消息发送至登录有母应用的终端。
在一个示例性场景中,对于生鲜购物小程序来说,当用户在生鲜购物小程序中购买了生鲜物品,生鲜购物小程序可以通过即时通信应用,向用户推送“购买商品通知”这种模板消息,即时通信应用接收到模板消息后,会在聊天列表里的服务通知选项中提示接收到模板消息,当点击服务通知选项,会从聊天列表跳转至服务通知界面,在服务通知界面中显示模板消息,若用户点击模板消息,就会打开生鲜购物小程序,在生鲜购物小程序的界面中查看已购买的生鲜物品的状态。
通过模板消息的推送功能,母应用为子应用提供了通知用户的能力。然而,时下,子应用没有考虑到用户的作息等因素,随时随地借助母应用推送模板消息,比如深夜时刻也仍然持续进行推送。这样,无疑对用户造成了很大的干扰,会引起用户的反感,使得用户触发退订操作,取消订阅子应用的模板消息,或者触发举报操作,举报模板消息存在违规。那么,母应用的后台服务器会响应于退订操作,不再将子应用的模板消息推送给用户,或者响应于举报操作,禁用原本为子应用开放的消息发送接口,导致模板消息无法抵达用户。
而下述方法实施例中,设计了合理的模板消息推送机制,在可能会打扰到用户的时间段内,对模板消息进行延迟发送,从而实现了模板消息的防骚扰功能,减少对用户的打扰,为用户提供更好的模板消息触达体验。
具体而言,请参见图2,图2是本申请实施例提供的一种模板消息的推送方法的流程图。参见图2,该方法的交互主体包括子应用关联的第一服务器、母应用关联的第二服务器以及终端,该方法包括:
201、第一服务器获取子应用待推送的模板消息的消息内容。
第一服务器可以是子应用的后台服务器。第一服务器可以运行用于推送模板消息的后台服务程序,可以通过该后台服务程序来执行第一服务器实现的步骤。其中,子应用可以包括一种或多种业务,每种业务可以产生要推送的模板消息。例如,购物引导业务可以产生用于推荐生鲜物品的模板信息的消息内容,物流配送业务可以产生用于提示配送进度的模板信息的消息内容。当子应用的任一业务满足推送条件时,该业务会上报待推送的模板消息的消息内容,则第一服务器可以采集到模板消息的消息内容。
202、第一服务器判断当前时间点是否位于防打扰时间段。
其中,这里的当前时间点可以指采集到模板消息的消息内容的时间点,可以通过时间戳来表示。防打扰时间段为暂停推送模板消息的时间段,若子应用的任一业务在防打扰时间段内上报待推送的模板消息的消息内容,可以将消息内容缓存起来,延迟到防打扰时间段之外推送。
具体而言,第一服务器可以当采集到模板消息的消息内容时,对当前时间点与防打扰时间段的起始点以及结束点分别进行比较,若当前时间点大于防打扰时间段的起始点,且当前时间点小于防打扰时间段的结束点,则确定当前时间点位于防打扰时间段,通过执行下述方法步骤,来延迟推送模板消息。此外,若当前时间点小于或等于防打扰时间段的起始点,或者当前时间点大于或等于防打扰时间段的结束点,确定当前时间点不在防打扰时间段,则可以通过第二服务器来推送模板消息。
防打扰时间段的设置方式可以包括多种。在一些实施例中,可以根据模板消息对应的业务类型,获取业务类型对应的防打扰时间段,从而针对不同的业务设置不同的防打扰时间段。通过这种方式,可以为子应用的不同业务设置对应的防打扰时间段,使得防打扰时间段与具体的业务类型关联起来,灵活性高,能够针对性为各种具体业务设计合适的推送时机。
示例性地,可以为配送业务设置第一防打扰时间段,为购物引导业务设置第二防打扰时间段,当采集到一条模板消息的消息内容时,若该消息内容来自于配送业务,则获取配送业务对应的第一防打扰时间段,若当前时间点位于第一防打扰时间段,则缓存消息内容,延迟到第一防打扰时间段结束后进行推送;若该消息内容来自于购物引导业务,则获取购物引导业务对应的第二防打扰时间段,若当前时间点位于第二防打扰时间段,则缓存消息内容,延迟到第二防打扰时间段结束后进行推送。其中,第二防打扰时间段和第一防打扰时间段可以不同或相同。
其中,可以预先为子应用的每种业务类型设置对应的防打扰时间段,建立业务类型与防打扰时间段之间的映射关系,当采集到一条模板消息的消息内容时,可以根据模板消息对应的业务类型,查询该映射关系,得到业务类型对应的防打扰时间段。例如,业务类型与防打扰时间段之间的映射关系可以如下表1。
表1
业务类型 | 防打扰时间段 |
物流配送业务 | 晚11点到早8点 |
社交玩法业务 | 晚9点到早9点 |
购物引导业务 | 晚9点到早9点 |
在一些实施例中,可以为实时性需求高的业务设置第一时长的防打扰时间段,为实时性需求低的业务设置第二时长的防打扰时间段,第一时长小于第二时长。例如,如上表1所示,对于实时性要求高的物流配送业务而言,可以设置防打扰时间为晚11点到早8点,对于实时性要求不高的社交玩法业务而言,可以设置防打扰时间为晚9点到早9点,以尽量减少对用户打扰。通过这种方式,达到的效果至少可以包括:既可以保证实时性需求高的业务的模板消息能够及时推送,减少延迟,又能够减少实时性需求低的业务的模板消息对用户的打扰。
在一些实施例中,业务类型包括配送业务,可以根据配送业务的停止配送时间段,获取配送业务对应的防打扰时间段。其中,防打扰时间段可以位于停止配送时间段内。例如,很多地区晚上11点停止物流配送,可以将配送业务的模板消息设置为晚11点到早8点。通过这种方式,达到的效果至少可以包括:对于配送业务而言,用户通常比较关注当前的配送进度,期望能够及时感知配送进度的更新。而通过这种方式,在物流配送正常流转期间,由于当前时间不在防打扰时间段,可以保证产生的每条配送物流的模板消息都及时推送,不会延迟,而在停止配送后,由于当前时间在防打扰时间段,会延迟推送模板消息。此外,对于其他类型的业务而言,也可以根据配送业务的停止配送时间段,获取业务对应的防打扰时间段。例如,对于购物引导业务而言,如果在时间点A下单时,物流已经配送不到,则没必要在时间点A向用户推送消息,引导用户去购物,那么,可以将时间点A作为防打扰时间段。
在一些实施例中,可以为依据每个用户的生理作息和/或行为习惯,为每个用户定制个性化的防打扰时间段。
示例性地,以当前要向目标用户推送模板消息而言,可以根据目标用户的作息偏好时间,确定作息偏好时间对应的防打扰时间段。例如,可以获取目标用户的睡眠时间,将目标用户的睡眠时间作为目标用户对应的防打扰时间段,这样,可以在用户睡眠时,延迟模板消息的推送,比如当用户醒来时再推送模板消息,从而避免打扰用户的睡眠。此外,也可以根据目标用户的购物偏好时间,确定购物偏好时间对应的防打扰时间段;例如,可以获取目标用户的购物偏好时间,将目标用户的购物偏好时间之外的时间作为目标用户对应的防打扰时间段。
203、若当前时间点位于防打扰时间段,第一服务器将消息内容存储至缓存中。
如果当前时间点刚好在防打扰时间段,而具有触发模板消息的需求,可以将模板消息的消息内容缓存起来,等待到防打扰时间段之外进行发送。
缓存消息内容的方式可以包括多种,在一些实施例中,可以通过执行以下步骤一至步骤二,缓存被延迟的模板消息的消息内容。
步骤一、若当前时间点位于防打扰时间段,根据当前时间点,获取分值(score)。
其中,分值与当前时间点关联。例如,分值可以用于指示当前时间点对应的模板消息的推送时间点。分值可以用于对防打扰时间段内缓存的不同模板消息进行排序。例如,如果采集到模板消息的消息内容的时间点越早,则分值越小,那么该消息内容在缓存中的排列位置越靠前,则后续到达防打扰时间段之外后,会先取出该消息内容以进行推送。
在一些实施例中,可以通过远程字典服务(英文:Remote Dictionary Server,简称:Redis)的有序集合(英文:sorted set,简称:zset)来存储消息内容,分值可以是zset中的score。其中,Redis是一种数据库,能够支持简单的数据键值对形式的数据的存储,还能够支持列表(list)、哈希(hash)、集合(set)以及有序集合(zset)等数据类型的存储。有序集合中的每个元素会关联一个double(双精度浮点型)类型的分数,Redis会按照集合中不同元素的分数,来为集合中的每个元素进行排序。
结合存储消息内容的具体场景,可以根据当前时间点以及推送时间,确定分值,将消息内容作为值(value),并确定该消息内容对应的键,根据键和值,构造得到有序集合中的数据元素,将该数据元素添加至有序集合中,如此,可以利用有序集合对模板消息的消息内容有效地进行管理。
在一些实施例中,分值的获取过程可以包括以下步骤1.1至步骤1.2:
步骤1.1根据当前时间点所属的时间区间,确定时间区间对应的目标时间间隔。
例如,可以将防打扰时间段划分为多个时间区间,建立时间区间与时间间隔之间的映射关系,可以根据当前时间点所属的时间区间,查询该映射关系,得到时间区间对应的目标时间间隔,其中,目标时间间隔可以为推送时间段与时间区间之间的时间间隔。具体地,对于任一时间区间而言,该时间区间对应的时间间隔可以根据该时间区间与推送时间段之间的时间差设定。该推送时间段可以根据可推送模板消息的时间以及推送时长设定,例如,如果早8点开始可推送模板消息,需要在2个小时内将预先缓存的模板消息发送完成,则可以设定推送时间段为早8点至早10点。
例如,如果防打扰时间段为晚9点到早8点,模板消息的推送时间段为早8点到早10点,防打扰时间段中的每个时间区间与时间间隔之间的映射关系可以如下表2所示:
表2
防打扰时间段中的时间区间 | 待延迟的时间间隔 |
晚9点到晚11点 | 11个小时 |
晚11点到凌晨1点 | 9个小时 |
凌晨1点到3点 | 7个小时 |
步骤1.2获取当前时间点与目标时间间隔之间的和值,得到分值。
可以在采集到消息内容的时间点的基础上,累加一定间隔的时间作为分值,使得分值满足两个条件,第一,分值落入可打扰的时间段内。第二,分值落在多长时间内发送完成的限制内。例如,参见上表2,对于晚9点到晚11点内采集的待推送的消息内容而言,可以将当前时间戳加上11个小时的间隔,将得到的和值作为分值,从而推迟到第二天早8点到早10点之间发送。对于晚11点到凌晨1点采集到的消息内容而言,可以将当前时间戳加上9个小时的间隔,将得到的和值作为分值,从而也推迟到第二天早8点到早10点之间发送。对于凌晨1点到3点之间的采集到的消息内容而言,可以将当前时间戳加上7个小时的间隔,将得到的和值作为分值,从而也推迟到第二天早8点到早10点之间发送。
步骤二、根据分值,将消息内容存储至缓存中的队列。
其中,队列用于按照分值的大小顺序依次存储防打扰时间段内每个模板消息的消息内容。可以将模板消息的消息内容入列至队列,对队列中每个消息内容按照分值从小到大的顺序进行排序。该队列可以是sorted set队列。
在一些实施例中,考虑到防打扰时间段内采集的模板消息可以众多,可以创建多个队列,对模板消息对应的用户标识进行取模,得到模值;从多个队列中,确定模值对应的队列;将模板消息缓存至模值对应的队列。其中,该用户标识用于标识模板消息的推送对象,即模板消息要推送给哪个用户,例如,用户标识可以是用户身份标识号码(identification,ID)、名称或编号等,比如用户标识可以是登录母应用或子应用的用户账号。
在一种可能的实现中,可以创建10个不同的redis的sorted set队列,当采集到一条模板消息的消息内容后,可以将当前时间戳加上时间间隔,将得到的和值作为redis中的sorted set的score,将消息内容通过用户ID取模,得到模值,将消息内容保存到模值对应的队列中。通过依据模值对消息内容进行存储,可以将防打扰时间段内采集的模板消息分成多份,分别路由至各个队列中。
204、若当前时间点到达防打扰时间段之外的推送时间段,第一服务器从缓存中读取消息内容。
推送时间段为可推送预先缓存的模板消息的时间段,推送时间段与防打扰时间段不同。在一些实施例中,当缓存模板消息的消息内容后,第一服务器可以启动定时器,对当前时间点与推送时间段的起始点以及结束点分别进行比较,若当前时间点大于推送时间段的起始点,且当前时间点小于推送时间段的结束点,确定当前时间点位于推送时间段,则读取预先缓存的模板消息的消息内容,以便进行推送。
在一些实施例中,可以在定时任务模式下,读取模板消息以进行推送。以下,通过步骤一至步骤二,对定时任务模式下的读取流程进行介绍。
步骤一、若当前时间点到达推送时间段,每隔定时任务模式所设置的时间周期,对当前时间点与分值进行比较。
步骤二、若分值小于或等于当前时间点,将消息内容从队列中出列。
其中,如果创建了多个队列,可以对当前时间点和每个队列中的每个消息内容关联的分值分别比较,取出所有队列中分值在当前时间戳之前的消息内容,对这些消息内容发起推送。例如,如果推送时间段为早8点到早10点,可以在早8点时,启动定时任务,每隔5分钟,依次扫描一遍10个队列,在扫描期间,依次判断每个消息内容的分值是否小于或等于当前时间点,如果有消息内容的分值小于或等于当前时间点,确认该消息内容达到了发送时间,则获取队列该消息内容并进行发送,再将早8点后到当前时间内缓存的消息删除掉,依此循环。
其中,由于队列中每个消息内容按照分值的大小顺序依次存储,队列具有有序性,这样,如果模板消息的消息内容的采集时间点越早,则该模板消息的消息内容会最先被取出来,最先被推送,如果模板消息的消息内容的采集时间点越晚,则该模板消息的消息内容会最后被取出来,最晚被推送,那么,最先过期的模板消息由于最优先被推送,从而保证整个队列中每个消息内容的使用寿命尽可能最长。
在一些实施例中,可以为依据每个用户的生理作息和/或行为习惯,为每个用户定制个性化的推送时间段。示例性地,以当前要向目标用户推送模板消息而言,可以根据目标用户的作息偏好时间,确定作息偏好时间对应的推送时间段。例如,可以获取目标用户的用餐时间,将目标用户的用餐时间作为目标用户对应的推送时间段,这样,可以在用户吃饭时,推送之前被缓存的模板消息,比如当用户吃饭时,推送引导购买生鲜物品的模板消息,从而提高模板消息的转化率。此外,也可以根据目标用户的购物偏好时间,确定购物偏好时间对应的推送时间段;例如,可以获取目标用户的购物偏好时间,将目标用户的购物偏好时间作为目标用户对应的推送时间段。
205、第一服务器根据消息内容以及模板消息对应的模板标识,生成模板消息推送请求。
206、第一服务器向母应用关联的第二服务器发送模板消息推送请求。
第一服务器可以调用第二服务器提供的消息发送接口,向消息发送接口传入消息内容以及模板标识,从而将模板消息推送请求发送给第二服务器。其中,模板消息推送请求包括消息内容以及模板标识。此外,模板消息推送请求还可以包括其他信息,比如表单标识以及模板消息的其他参数,在此不做一一列举。
207、第二服务器响应于模板消息推送请求,生成模板消息。
208、第二服务器向终端推送模板消息。
第二服务器可以从模板消息推送请求,获取消息内容以及模板标识;第二服务器可以根据模板标识,访问模板库,得到模板库预先存储的该模板标识对应的模板;第二服务器可以根据消息内容对模板进行填充,得到模板消息,将模板消息发送至终端。其中,该模板库用于存储模板消息对应的模板,子应用的开发者可预先将模板和模板标识上传至模板库。
此外,模板消息推送请求还可以包括目标用户的用户标识,以便第二服务器解析模板消息推送请求,得到目标用户的用户标识,根据目标用户的用户标识,确定登录该用户标识的终端,将模板消息发送至该终端,从而将模板消息推送给指定的用户。
209、终端接收模板消息,展示模板消息。
参见图3以及图4,终端可以在母应用的服务通知界面中显示模板消息,模板消息的样式可以是卡片。其中,如果接收到多个模板消息,可以在服务通知界面,按照接收到每个模板消息的时间先后顺序,展示每个模板消息。
具体地,参见图3,图3示出了生鲜购物小程序中用于提示账户金额变动的模板消息,该模板消息的模板包含变动金额、变动原因、变动时间、变动备注等关键字。该模板消息的消息内容包括模板中各个关键字的具体取值。例如,变动金额的取值为“8鲜币”;变动原因的取值为“拼手气红包”;变动时间的取值为“2019年12月06日的01:11:56”;变动备注的取值为“鲜币下单直接抵现金,快去赚更多鲜币”。此外,该模板消息中包括生鲜购物小程序的页面地址,该页面地址与“进入小程序查看”的选项建立了绑定关系,如果点击模板消息中“进入小程序查看”选项,可以跳转至生鲜购物小程序的页面中,从而查看账户资金变动的详情。
参见图4,图4示出了生鲜购物小程序中用于提示线上活动信息的模板消息,该线上活动为社交类的线上活动,例如可以是“拼手气红包”这一活动。该模板消息的模板包含活动名称、邀请结果、受邀者、奖励、变动备注等关键字。该模板消息的消息内容包括模板中各个关键字的具体取值。例如,活动名称的取值为“拼手气红包”;邀请结果的取值为已参与线上活动的人数,例如是图4所示的“已有1人参与”;受邀者的取值为邀请成功的用户标识,例如是图4所示的“老王”;奖励的取值为邀请成功后向发起活动的用户账户转入的虚拟货币数量,例如是图4所示的“10鲜币”;变动备注的取值为发起活动的用户账户由于活动的参与情况而发生的变化,例如是图4中所示的“还有4个红包可领取,奖励将在活动结束后发放到你的账户”。此外,该模板消息中包括生鲜购物小程序的页面地址,该页面地址与“进入小程序查看”的选项建立了绑定关系,如果点击模板消息中“进入小程序查看”选项,可以跳转至生鲜购物小程序的页面中,从而查看线上活动的参与情况的详情。
在一个可能的实施例中,参见图5,推送模板消息的流程可以包括以下步骤一至步骤八:
步骤一、获取到待发送的模板消息,执行步骤二。
步骤二、获取防打扰时间段,执行步骤三。
步骤三、判断当前时间点是否在防打扰时间段内,如果当前时间点在防打扰时间段,执行步骤四,如果当前时间点在防打扰时间段之外,执行步骤八;
步骤四、获取需要在防打扰时间段外多久内发送完消息,执行步骤五。
步骤五、计算需要累加多长时间到防打扰时间段外,执行步骤六。
步骤六、计算当前时间戳加上相应的时间间隔,存储到Redis中,执行步骤七。
步骤七、定时任务扫描队列获取到待发送的消息内容,执行步骤八。
步骤八、发起模板消息推送流程。
本实施例提供了一种小程序模板消息的免打扰推送机制,为小程序的模板消息设置了防打扰时间段,如果在防打扰时间段采集到要推送的模板消息,则将模板消息缓存起来,延迟到打扰时间段之外进行推送。一方面,由于避免在不合时宜的情况下推送模板消息,从而解决了由于推送时机不合适导致骚扰到用户的问题,避免模板消息对用户造成干扰,从而避免由于用户对模板消息产生反感而取消订阅模板消息或者举报模板消息的情况。另一方面,能够在合适的推送时间段,将之前缓存的模板消息推送给用户,从而保证防打扰时间段内触发的模板消息最终触达用户。因此,该方法能够优化模板消息的推送机制,为用户带来更好的模板消息触达体验。
图6是本申请实施例提供的一种模板消息的推送装置的结构示意图。参见图6,该装置包括:获取模块601、存储模块602、读取模块603、发送模块604。
获取模块601,用于获取子应用待推送的模板消息的消息内容;
存储模块602,用于若当前时间点位于防打扰时间段,将消息内容存储至缓存中;
读取模块603,用于若当前时间点到达防打扰时间段之外的推送时间段,从缓存中读取消息内容;
发送模块604,用于根据消息内容以及模板消息对应的模板标识,向母应用关联的第二服务器发送模板消息推送请求,模板消息推送请求包括消息内容以及模板标识。
本实施例提供了一种小程序模板消息的免打扰推送机制,为小程序的模板消息设置了防打扰时间段,如果在防打扰时间段采集到要推送的模板消息,则将模板消息缓存起来,延迟到打扰时间段之外进行推送。一方面,由于避免在不合时宜的情况下推送模板消息,从而解决了由于推送时机不合适导致骚扰到用户的问题,避免模板消息对用户造成干扰,从而避免由于用户对模板消息产生反感而取消订阅模板消息或者举报模板消息的情况。另一方面,能够在合适的推送时间段,将之前缓存的模板消息推送给用户,从而保证防打扰时间段内触发的模板消息最终触达用户。因此,该装置能够优化模板消息的推送机制,为用户带来更好的模板消息触达体验。
可选地,存储模块602,用于若当前时间点位于防打扰时间段,根据当前时间点,获取分值,分值与当前时间点关联;根据分值,将消息内容存储至缓存中的队列,队列用于按照分值的大小顺序依次存储防打扰时间段内每个模板消息的消息内容。
可选地,防打扰时间段包括多个时间区间,获取模块601,用于根据当前时间点所属的时间区间,确定时间区间对应的目标时间间隔,目标时间间隔为推送时间段与时间区间之间的时间间隔;获取当前时间点与目标时间间隔之间的和值,得到分值。
可选地,读取模块603,用于若当前时间点到达推送时间段,每隔定时任务模式所设置的时间周期,对当前时间点与分值进行比较;若分值小于或等于当前时间点,将消息内容从队列中出列。
可选地,获取模块601,还用于根据模板消息对应的业务类型,获取业务类型对应的防打扰时间段。
可选地,业务类型包括配送业务,获取模块601,用于根据配送业务的停止配送时间段,获取配送业务对应的防打扰时间段,防打扰时间段位于停止配送时间段内。
可选地,模板消息用于推送至目标用户,模板消息推送请求还包括目标用户的用户标识,装置还包括确定模块,确定模块用于执行以下至少一项:
根据目标用户的作息偏好时间,确定作息偏好时间对应的防打扰时间段;
根据目标用户的作息偏好时间,确定作息偏好时间对应的推送时间段;
根据目标用户的购物偏好时间,确定购物偏好时间对应的防打扰时间段;
根据目标用户的购物偏好时间,确定购物偏好时间对应的推送时间段。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的模板消息的推送装置在推送模板消息时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将模板消息的推送装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的模板消息的推送装置与模板消息的推送方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述方法实施例中全部或部分步骤的执行主体可以为电子设备,该电子设备可以为终端,例如,图7示出了本申请一个示例性实施例提供的终端700的结构框图。该终端700可以是:智能手机、平板电脑、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group AudioLayer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端700还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端700包括有:一个或多个处理器701和一个或多个存储器702。
处理器701可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器701可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器701也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器701可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器701还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器702中的非暂态的计算机可读存储介质用于存储至少一条指令,该至少一条指令用于被处理器701所执行以实现本申请中方法实施例提供的模板消息的推送方法。
在一些实施例中,终端700还可选包括有:外围设备接口703和至少一个外围设备。处理器701、存储器702和外围设备接口703之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口703相连。具体地,外围设备包括:射频电路704、触摸显示屏705、摄像头组件706、音频电路707、定位组件708和电源709中的至少一种。
外围设备接口703可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器701和存储器702。在一些实施例中,处理器701、存储器702和外围设备接口703被集成在同一芯片或电路板上;在一些其他实施例中,处理器701、存储器702和外围设备接口703中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路704用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路704通过电磁信号与通信网络以及其他通信设备进行通信。射频电路704将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路704包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路704可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路704还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏705用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏705是触摸显示屏时,显示屏705还具有采集在显示屏705的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器701进行处理。此时,显示屏705还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏705可以为一个,设置终端700的前面板;在另一些实施例中,显示屏705可以为至少两个,分别设置在终端700的不同表面或呈折叠设计;在再一些实施例中,显示屏705可以是柔性显示屏,设置在终端700的弯曲表面上或折叠面上。甚至,显示屏705还可以设置成非矩形的不规则图形,也即异形屏。显示屏705可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件706用于采集图像或视频。可选地,摄像头组件706包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件706还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路707可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器701进行处理,或者输入至射频电路704以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端700的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器701或射频电路704的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路707还可以包括耳机插孔。
定位组件708用于定位终端700的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件708可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源709用于为终端700中的各个组件进行供电。电源709可以是交流电、直流电、一次性电池或可充电电池。当电源709包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端700还包括有一个或多个传感器710。该一个或多个传感器710包括但不限于:加速度传感器711、陀螺仪传感器712、压力传感器713、指纹传感器714、光学传感器715以及接近传感器716。
加速度传感器711可以检测以终端700建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器711可以用于检测重力加速度在三个坐标轴上的分量。处理器701可以根据加速度传感器711采集的重力加速度信号,控制触摸显示屏705以横向视图或纵向视图进行用户界面的显示。加速度传感器711还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器712可以检测终端700的机体方向及转动角度,陀螺仪传感器712可以与加速度传感器711协同采集用户对终端700的3D动作。处理器701根据陀螺仪传感器712采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器713可以设置在终端700的侧边框和/或触摸显示屏705的下层。当压力传感器713设置在终端700的侧边框时,可以检测用户对终端700的握持信号,由处理器701根据压力传感器713采集的握持信号进行左右手识别或快捷操作。当压力传感器713设置在触摸显示屏705的下层时,由处理器701根据用户对触摸显示屏705的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器714用于采集用户的指纹,由处理器701根据指纹传感器714采集到的指纹识别用户的身份,或者,由指纹传感器714根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器701授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器714可以被设置终端700的正面、背面或侧面。当终端700上设置有物理按键或厂商Logo时,指纹传感器714可以与物理按键或厂商Logo集成在一起。
光学传感器715用于采集环境光强度。在一个实施例中,处理器701可以根据光学传感器715采集的环境光强度,控制触摸显示屏705的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏705的显示亮度;当环境光强度较低时,调低触摸显示屏705的显示亮度。在另一个实施例中,处理器701还可以根据光学传感器715采集的环境光强度,动态调整摄像头组件706的拍摄参数。
接近传感器716,也称距离传感器,通常设置在终端700的前面板。接近传感器716用于采集用户与终端700的正面之间的距离。在一个实施例中,当接近传感器716检测到用户与终端700的正面之间的距离逐渐变小时,由处理器701控制触摸显示屏705从亮屏状态切换为息屏状态;当接近传感器716检测到用户与终端700的正面之间的距离逐渐变大时,由处理器701控制触摸显示屏705从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图7中示出的结构并不构成对终端700的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
上述方法实施例中全部或部分步骤的执行主体可以为电子设备,该电子设备可以为服务器。图8是本申请实施例提供的一种服务器的结构示意图,该服务器800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(Central ProcessingUnits,CPU)801和一个或一个以上的存储器802,其中,该存储器802中存储有至少一条指令,该至少一条指令由该处理器801加载并执行以实现上述各个方法实施例提供的模板消息的推送方法。当然,该服务器还可以具有有线或无线网络接口以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括至少一条指令的存储器,上述至少一条指令由可由处理器执行以完成上述实施例中的模板消息的推送方法。例如,计算机可读存储介质可以是只读存储器(Read-Only Memory,简称:ROM)、随机存取存储器(Random Access Memory,简称:RAM)、只读光盘(Compact Disc Read-OnlyMemory,简称:CD-ROM)、磁带、软盘和光数据存储设备等。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上描述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种模板消息的推送方法,其特征在于,所述方法包括:
获取子应用待推送的模板消息的消息内容;
若当前时间点位于防打扰时间段,将所述消息内容存储至缓存中;
若当前时间点到达所述防打扰时间段之外的推送时间段,从所述缓存中读取所述消息内容;
根据所述消息内容以及所述模板消息对应的模板标识,向母应用关联的第二服务器发送模板消息推送请求,所述模板消息推送请求包括所述消息内容以及模板标识。
2.根据权利要求1所述的方法,其特征在于,所述若当前时间点位于防打扰时间段,将所述消息内容存储至缓存中,包括:
若当前时间点位于防打扰时间段,根据所述当前时间点,获取分值,所述分值与所述当前时间点关联;
根据所述分值,将所述消息内容存储至所述缓存中的队列,所述队列用于按照分值的大小顺序依次存储防打扰时间段内每个模板消息的消息内容。
3.根据权利要求2所述的方法,其特征在于,所述防打扰时间段包括多个时间区间,所述根据所述当前时间点,获取分值,包括:
根据所述当前时间点所属的时间区间,确定所述时间区间对应的目标时间间隔,所述目标时间间隔为所述推送时间段与所述时间区间之间的时间间隔;
获取所述当前时间点与所述目标时间间隔之间的和值,得到所述分值。
4.根据权利要求2所述的方法,其特征在于,所述若当前时间点到达所述防打扰时间段之外的推送时间段,从所述缓存中读取所述消息内容,包括:
若当前时间点到达所述推送时间段,每隔定时任务模式所设置的时间周期,对所述当前时间点与所述分值进行比较;
若所述分值小于或等于当前时间点,将所述消息内容从所述队列中出列。
5.根据权利要求1所述的方法,其特征在于,所述若当前时间点位于防打扰时间段,将所述消息内容存储至缓存中之前,所述方法还包括:
根据所述模板消息对应的业务类型,获取所述业务类型对应的所述防打扰时间段。
6.根据权利要求5所述的方法,其特征在于,所述业务类型包括配送业务,所述根据所述消息内容对应的业务类型,获取所述业务类型对应的所述防打扰时间段,包括:
根据配送业务的停止配送时间段,获取所述配送业务对应的防打扰时间段,所述防打扰时间段位于所述停止配送时间段内。
7.根据权利要求1所述的方法,其特征在于,所述模板消息用于推送至目标用户,所述模板消息推送请求还包括所述目标用户的用户标识,所述方法还包括以下至少一项:
根据所述目标用户的作息偏好时间,确定所述作息偏好时间对应的所述防打扰时间段;
根据所述目标用户的作息偏好时间,确定所述作息偏好时间对应的所述推送时间段;
根据所述目标用户的购物偏好时间,确定所述购物偏好时间对应的所述防打扰时间段;
根据所述目标用户的购物偏好时间,确定所述购物偏好时间对应的所述推送时间段。
8.一种模板消息的推送装置,其特征在于,所述装置包括:
获取模块,用于获取子应用待推送的模板消息的消息内容;
存储模块,用于若当前时间点位于防打扰时间段,将所述消息内容存储至缓存中;
读取模块,用于若当前时间点到达所述防打扰时间段之外的推送时间段,从所述缓存中读取所述消息内容;
发送模块,用于根据所述消息内容以及所述模板消息对应的模板标识,向母应用关联的第二服务器发送模板消息推送请求,所述模板消息推送请求包括所述消息内容以及模板标识。
9.一种电子设备,其特征在于,所述电子设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条指令,所述至少一条指令由所述一个或多个处理器加载并执行以实现如权利要求1至权利要求7任一项所述的模板消息的推送方法所执行的操作。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如权利要求1至权利要求7任一项所述的模板消息的推送方法所执行的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911303701.1A CN111083042B (zh) | 2019-12-17 | 2019-12-17 | 模板消息的推送方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911303701.1A CN111083042B (zh) | 2019-12-17 | 2019-12-17 | 模板消息的推送方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111083042A true CN111083042A (zh) | 2020-04-28 |
CN111083042B CN111083042B (zh) | 2021-11-30 |
Family
ID=70315221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911303701.1A Active CN111083042B (zh) | 2019-12-17 | 2019-12-17 | 模板消息的推送方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111083042B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111901619A (zh) * | 2020-07-23 | 2020-11-06 | 北京达佳互联信息技术有限公司 | 一种消息推送方法和装置 |
CN112182374A (zh) * | 2020-09-25 | 2021-01-05 | 北京每日优鲜电子商务有限公司 | 库存控制方法、装置、电子设备和计算机可读介质 |
CN114065041A (zh) * | 2021-11-12 | 2022-02-18 | 北京达佳互联信息技术有限公司 | 消息显示方法、装置、系统及程序产品 |
CN114125047A (zh) * | 2021-11-10 | 2022-03-01 | 携程商旅信息服务(上海)有限公司 | 基于第三方系统的消息推送方法、系统、设备及存储介质 |
CN114449035A (zh) * | 2021-12-28 | 2022-05-06 | 中国电信股份有限公司 | 一种针对自动缴费的通知消息的发送方法和装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150296037A1 (en) * | 2014-04-14 | 2015-10-15 | Wistron Corporation | Pushlet instant messaging framework and pushlet instant messaging method |
WO2016107354A1 (zh) * | 2014-12-29 | 2016-07-07 | 北京奇虎科技有限公司 | 提供用户个性化资源消息推送的方法和装置 |
US20170032364A1 (en) * | 2007-10-31 | 2017-02-02 | Mastercard Mobile Transactions Solutions, Inc. | Shareable widget interface to mobile wallet functions |
CN107911445A (zh) * | 2017-11-14 | 2018-04-13 | 维沃移动通信有限公司 | 一种消息推送方法、移动终端和存储介质 |
CN108388479A (zh) * | 2018-02-10 | 2018-08-10 | 深圳壹账通智能科技有限公司 | 延迟消息推送方法、装置、计算机设备及存储介质 |
CN109831456A (zh) * | 2019-03-14 | 2019-05-31 | 腾讯科技(深圳)有限公司 | 消息推送方法、装置、设备及存储介质 |
CN110113252A (zh) * | 2019-04-30 | 2019-08-09 | 上海连尚网络科技有限公司 | 一种小程序通知消息的处理方法、设备和计算机存储介质 |
CN110166624A (zh) * | 2019-04-26 | 2019-08-23 | 平安科技(深圳)有限公司 | 消息免打扰方法、装置、设备和计算机可读存储介质 |
CN110244974A (zh) * | 2019-05-24 | 2019-09-17 | 苏州达家迎信息技术有限公司 | 应用程序维护控制方法、装置、服务器、终端及存储介质 |
-
2019
- 2019-12-17 CN CN201911303701.1A patent/CN111083042B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170032364A1 (en) * | 2007-10-31 | 2017-02-02 | Mastercard Mobile Transactions Solutions, Inc. | Shareable widget interface to mobile wallet functions |
US20150296037A1 (en) * | 2014-04-14 | 2015-10-15 | Wistron Corporation | Pushlet instant messaging framework and pushlet instant messaging method |
WO2016107354A1 (zh) * | 2014-12-29 | 2016-07-07 | 北京奇虎科技有限公司 | 提供用户个性化资源消息推送的方法和装置 |
CN107911445A (zh) * | 2017-11-14 | 2018-04-13 | 维沃移动通信有限公司 | 一种消息推送方法、移动终端和存储介质 |
CN108388479A (zh) * | 2018-02-10 | 2018-08-10 | 深圳壹账通智能科技有限公司 | 延迟消息推送方法、装置、计算机设备及存储介质 |
CN109831456A (zh) * | 2019-03-14 | 2019-05-31 | 腾讯科技(深圳)有限公司 | 消息推送方法、装置、设备及存储介质 |
CN110166624A (zh) * | 2019-04-26 | 2019-08-23 | 平安科技(深圳)有限公司 | 消息免打扰方法、装置、设备和计算机可读存储介质 |
CN110113252A (zh) * | 2019-04-30 | 2019-08-09 | 上海连尚网络科技有限公司 | 一种小程序通知消息的处理方法、设备和计算机存储介质 |
CN110244974A (zh) * | 2019-05-24 | 2019-09-17 | 苏州达家迎信息技术有限公司 | 应用程序维护控制方法、装置、服务器、终端及存储介质 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111901619A (zh) * | 2020-07-23 | 2020-11-06 | 北京达佳互联信息技术有限公司 | 一种消息推送方法和装置 |
CN111901619B (zh) * | 2020-07-23 | 2023-10-31 | 北京达佳互联信息技术有限公司 | 一种消息推送方法和装置 |
CN112182374A (zh) * | 2020-09-25 | 2021-01-05 | 北京每日优鲜电子商务有限公司 | 库存控制方法、装置、电子设备和计算机可读介质 |
CN112182374B (zh) * | 2020-09-25 | 2024-02-13 | 宇文道静 | 库存控制方法、装置、电子设备和计算机可读介质 |
CN114125047A (zh) * | 2021-11-10 | 2022-03-01 | 携程商旅信息服务(上海)有限公司 | 基于第三方系统的消息推送方法、系统、设备及存储介质 |
CN114065041A (zh) * | 2021-11-12 | 2022-02-18 | 北京达佳互联信息技术有限公司 | 消息显示方法、装置、系统及程序产品 |
CN114449035A (zh) * | 2021-12-28 | 2022-05-06 | 中国电信股份有限公司 | 一种针对自动缴费的通知消息的发送方法和装置 |
CN114449035B (zh) * | 2021-12-28 | 2024-05-24 | 中国电信股份有限公司 | 一种针对自动缴费的通知消息的发送方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111083042B (zh) | 2021-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111083042B (zh) | 模板消息的推送方法、装置、设备及存储介质 | |
CN111064655B (zh) | 模板消息的推送方法、装置、设备及存储介质 | |
CN110674022B (zh) | 行为数据获取方法、装置及存储介质 | |
CN112616091B (zh) | 虚拟物品的发送方法、装置、计算机设备及存储介质 | |
CN112235647B (zh) | 网络数据处理方法、装置、终端及服务器 | |
CN110147503B (zh) | 信息发布方法、装置、计算机设备和存储介质 | |
CN110569220B (zh) | 游戏资源文件的展示方法、装置、终端及存储介质 | |
CN111784416A (zh) | 虚拟物品的分配方法、装置、设备及存储介质 | |
CN111309431A (zh) | 群组会话中的显示方法、装置、设备及介质 | |
CN111831385A (zh) | 业务授信信息处理方法、装置、设备及存储介质 | |
CN110995842A (zh) | 业务数据下载方法、装置、设备及存储介质 | |
CN112990964B (zh) | 推荐内容资源的获取方法、装置、设备及介质 | |
CN112148499A (zh) | 数据上报方法、装置、计算机设备及介质 | |
CN113506086A (zh) | 任务发布方法、装置、计算机设备及介质 | |
CN111045562A (zh) | 界面显示方法、装置、设备及可读存储介质 | |
CN110825465A (zh) | 日志数据处理方法、装置、电子设备及存储介质 | |
CN111013154A (zh) | 代替抽取奖品的方法、装置及系统 | |
CN110990241B (zh) | 应用试用方法、装置、终端及存储介质 | |
CN113393608A (zh) | 业务处理方法、装置、终端及存储介质 | |
CN113538099A (zh) | 订单处理方法、装置、计算机设备及存储介质 | |
CN112613772A (zh) | 信息推送方法、装置、设备及存储介质 | |
CN109045690B (zh) | 虚拟宠物获取方法、装置、电子装置及存储介质 | |
CN112699364A (zh) | 验证信息的处理方法、装置、设备及存储介质 | |
CN114489874A (zh) | 小程序页面的显示方法、装置、设备及存储介质 | |
CN112702375A (zh) | 信息推送方法、装置、计算机设备以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |