CN115037728A - 协议更新方法、装置、设备及存储介质 - Google Patents
协议更新方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115037728A CN115037728A CN202210416225.XA CN202210416225A CN115037728A CN 115037728 A CN115037728 A CN 115037728A CN 202210416225 A CN202210416225 A CN 202210416225A CN 115037728 A CN115037728 A CN 115037728A
- Authority
- CN
- China
- Prior art keywords
- protocol
- updating
- current
- user
- agreement
- 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
- 238000000034 method Methods 0.000 title claims abstract description 61
- 230000004044 response Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 6
- 230000000977 initiatory effect Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- 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/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- 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/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/02—Protocol performance
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种协议更新方法、装置、设备及存储介质,涉及终端应用业务技术领域,检查当前协议是否有更新,有更新时下载保存更新协议并替换掉当前协议,加载替换后的当前协议提醒用户及时同意;无更新时,说明当前协议是最新版协议,根据指定位置存储的同意更新时间,判断当前协议是否被同意,没同意直接加载当前协议提醒用户及时同意;能够及时得知当前协议的更新的同时,始终将用户同意的更新版协议的协议日期保存至固定的指定位置,能够保证用户同意的是下载好的最新版协议,避免了长时间的加载,提高了协议更新的及时性、有效性。
Description
技术领域
本申请涉及终端应用业务技术领域,具体而言,涉及一种协议更新方法、装置、设备及存储介质。
背景技术
用户在使用终端的应用业务功能时,为了保证用户隐私,终端的应用程序会给用户提示协议文件内容,用户阅读并同意该协议文件后,用户才能够正常使用该应用程序。而在一些情况下,该协议文件有可能需要更新内容,更新后则需要用户再次同意。
目前更新协议文件的实现方式受限于网络速度,在弱网环境下,加载协议文件会很慢,且无法保证及时性,如果用户不重新启动应用程序,则无法得知该协议文件的更新。
发明内容
有鉴于此,本申请实施例的目的在于提供一种协议更新方法、装置、设备及存储介质,通过不断检查当前协议是否有更新,并始终将用户同意的更新版协议的协议日期保存至固定的指定位置,能够及时得知当前协议的更新,能够保证用户同意的是下载好的最新版协议,避免了长时间的加载,从而解决“加载协议文件会很慢,且无法保证及时性,如果用户不重新启动应用程序,则无法得知该协议文件的更新”的技术问题。
第一方面,本申请实施例提供一种协议更新方法,所述方法包括:获取当前协议的后端更新数据;其中,所述后端更新数据包括更新协议的更新日期和更新协议的下载地址;根据所述更新日期,检查所述当前协议是否需要更新;若是,根据所述下载地址从后端下载更新协议,下载完成后将所述当前协议替换为所述更新协议,加载所述当前协议请求用户同意,并将用户同意的协议日期存储至指定位置;若否,判断所述指定位置存储的协议日期是否为所述当前协议的协议日期,若否,加载所述当前协议请求用户同意,并将用户同意的协议日期存储至指定位置。
在上述实现过程中,及时得知当前协议的更新的同时,始终将用户同意的更新版协议的协议日期保存至固定的指定位置,能够保证用户同意的是下载好的最新版协议,避免了长时间的加载,提高了协议更新的及时性、有效性。
可选地,所述获取当前协议的后端更新数据,包括:基于当前协议的后端更新通知,获取当前协议的后端更新数据;和/或,基于网络请求检查后端接口,获取当前协议的后端更新数据;或,基于网络请求轮训检查后端接口,获取当前协议的后端更新数据。
在上述实现过程中,通过后端更新通知接收数据检查更新、应用程序启动直接请求后端检查更新、以及没有通知权限时通过接口轮训请求后端检查更新等三种方式检查更新,可以实现当前协议的及时优化更新,可以使得用户同意的是下载好的最新版协议,提高了协议更新的及时性、有效性。
可选地,所述基于网络请求检查后端接口,获取当前协议的后端更新数据,包括:在所述当前协议的应用程序启动后,向后端发起更新所述当前协议的网络请求;以及接收后端接口基于所述网络请求返回的响应数据,并将所述响应数据确定为所述当前协议的后端更新数据。
在上述实现过程中,通过应用程序启动后,直接请求检查后端接口,接收后端更新数据,根据该数据判断当前协议是否有更新,使得用户每次启动应用程序时都能请求检查后端接口检查更新,提高了协议文件更新的及时性。
可选地,所述基于当前协议的后端更新通知,获取当前协议的后端更新数据,包括:判断是否获取到后端通知的权限;若是,则等待当前协议的后端更新通知,基于所述后端更新通知的接收信息,确定所述当前协议的后端更新数据。
在上述实现过程中,如果拥有通知权限,收到通知后可以立即下载和更新,可以实现当前协议的及时优化更新,提高了协议文件更新的及时性。
可选地,所述基于网络请求轮训检查后端接口,获取当前协议的后端更新数据,包括:判断是否获取到后端通知的权限;若否,则在所述当前协议的应用程序启动后,每隔一段时间向后端发起更新所述当前协议的网络请求,并接收后端接口基于所述网络请求返回的响应数据,将所述响应数据确定为所述当前协议的后端更新数据。
在上述实现过程中,如果用户未给予通知权限,通过每隔一段时间进行一次接口轮训,可以保证比较及时的下载和更新。
可选地,所述根据所述更新日期,检查所述当前协议是否需要更新,包括:读取当前协议所在文件中的协议日期;比较后端更新数据中的所述更新日期与所述协议日期的时间先后;以及根据所述时间先后的比较结果,确定是否需要更新。
在上述实现过程中,通过直接比较更新时间的方式,可以快速确定当前协议是否为最新版,提高了协议更新的效率。
可选地,所述加载所述当前协议请求用户同意,并将用户同意的协议日期存储至指定位置,包括:在启动应用程序后,显示弹出的用于加载所述当前协议的弹窗,以提示用户阅读并同意所述更新协议;以及接收用户的同意操作后,通过键值对形式记录所述当前协议的协议日期,并存储至指定位置。
在上述实现过程中,通过键值对形式单独记录用户同意的更新时间,使得无更新时可以直接读取指定位置存储的同意更新时间,判断当前协议是否被同意,没同意提醒用户及时同意,能够保证用户及时同意下载好的最新版协议,提高了协议更新的及时性、有效性。
第二方面,本申请实施例提供了一种用于协议更新的装置,所述装置包括:获取模块,用于获取当前协议的后端更新数据;其中,所述后端更新数据包括更新协议的更新日期和更新协议的下载地址;检查更新模块,用于根据所述更新日期,检查所述当前协议是否需要更新;若是,根据所述下载地址从后端下载更新协议,下载完成后将所述当前协议替换为所述更新协议,加载所述当前协议请求用户同意,并将用户同意的协议日期存储至指定位置;若否,判断所述指定位置存储的协议日期是否为所述当前协议的协议日期,若否,加载所述当前协议请求用户同意,并将用户同意的协议日期存储至指定位置。
第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述机器可读指令被所述处理器执行时执行上述的方法的步骤。
第四方面,本申请实施例提供一种计算机可读存储介质,所述存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述的方法的步骤。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种协议更新方法的流程图;
图2(a)为本申请实施例提供的一种优选的获取到通知权限的协议更新方法流程图;
图2(b)为本申请实施例提供的一种优选的未获取到通知权限的协议更新方法流程图;
图3为本申请实施例提供的用于协议更新的装置功能模块示意图;以及
图4为本申请实施例提供用于协议更新装置的电子设备的方框示意图。
图标:210-获取模块;220-检查更新模块;300-电子设备;311-存储器;312-存储控制器;313-处理器;314-外设接口;315-输入输出单元;316-显示单元。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
本申请发明人注意到,目前现有的更新协议的实现方式,一种是通过将协议放到云端,在需要用户同意时,访问云端的资源来保证协议是最新的,这种方式的缺陷是受限于网络速度,在弱网环境下,加载协议会很慢。另一种是每当应用启动后,检查协议是否有更新,有更新则进行下载,下载后立刻或下次应用启动时进行加载显示,这种方式的缺陷是无法保证及时性,如果用户不重新启动应用,则无法得知协议的更新。
基于上述研究,本申请实施例提供了一种协议更新方法,获取当前协议的后端更新数据;根据更新协议的更新日期,检查当前协议是否需要更新;若是,根据下载地址从后端下载更新协议,下载完成后将当前协议替换为更新协议,加载替换后的当前协议请求用户同意,并将用户同意的协议日期存储至指定位置;若否,判断指定位置存储的协议日期是否为当前协议的协议日期,若否,直接加载当前协议请求用户同意,并将用户同意的协议日期存储至指定位置。及时得知更新及时下载保存,从而使得加载显示给用户的协议文件始终是下载好的更新版,避免了长时间的加载等待;将用户同意的协议日期保存至固定位置,从而可以据此判断是否提醒用户及时同意下载好的最新版协议,提高了协议更新的及时性、有效性。
请参阅图1,图1为本申请实施例提供的一种协议更新方法的流程,下面对图1的实施例进行详细阐述。该协议更新方法可以包括:步骤100、步骤120。
其中,步骤100:获取当前协议的后端更新数据;其中,后端更新数据包括更新协议的更新日期和更新协议的下载地址。
示例性地,当前协议、更新协议均可以是指《隐私政策》、《隐私协议》、《隐私条款》、《隐私声明》、《用户协议》、《用户须知》等一类的协议文件,用于展示对应的应用程序对用户信息收集、使用等行为的规范或声明,是用户了解该应用程序和其提供的服务的窗口。用户在启动应用程序,阅读并同意该协议文件后,用户才能够正常使用该应用程序。同时,当前协议、更新协议等协议文件自身均携带一个协议日期,该协议日期记录了本协议更新的日期时间。具体可通过特殊的命名方式来代表更新的日期时间,例如:《用户协议》在2022年1月1日13点10分更新的协议文件,可以命名为:USER_AGRREMENT_202201011310.hmtl。
当前协议可以是应用程序在出厂配置时内置的一份初始协议,例如:首次存储在应用程序本地“files”目录下创建的“uaAndPP”文件夹下的内置协议,也可以是经更新下载后保存替换掉上一份旧协议的更新协议。
获取的后端更新数据可以是以json数据块形式返回的当前协议对应的更新日期和更新的下载地址。例如:若当前协议为《用户协议》,则返回的json数据至少包含《用户协议》更新日期时间(updateTime)和文件下载地址(downloadPath),具体可以为:
"user_agreement":{"updateTime":202201011310,
"downloadPath":"https://xxxx/xxx/USER_AGRREMENT_202201011310.hmtl"};
若当前协议为《隐私条款》,则返回的json数据至少包含《隐私条款》更新日期时间(updateTime)和文件下载地址(downloadPath),具体可以为:
"privacy_policy":{"updateTime":202112100140,"downloadPath":"https://xxxx/xxx/PERMISSION_POLICY_202112100140.hmtl"}
步骤120:根据更新日期,检查当前协议是否需要更新。
步骤120后可后续进行步骤1201、步骤1202、步骤1203、步骤1204和步骤1205。
若是,执行步骤1201:根据下载地址从后端下载更新协议;
步骤1202:下载完成后将当前协议替换为更新协议;
步骤1203:加载当前协议请求用户同意;
步骤1204:并将用户同意的协议日期存储至指定位置;
若否,执行步骤1205:判断指定位置存储的协议日期是否为当前协议的协议日期。
若否,重复执行步骤1203、步骤1204,即:加载当前协议请求用户同意,并将用户同意的协议日期存储至指定位置。
示例性地,指定位置可以是更新程序运行时分配的任意一个方便读取数据的固定位置,每次判断为不更新时就可以直接调用这个固定位置存储的更新时间等数据,进行比较,从而快速判断用户是否同意了已下载好并保存在本地的更新协议。接收后端返回的更新协议的数据,根据其中的更新日期与当前协议自身携带的协议日期,可以判断当前协议是否是最新版,即是否需要更新。
如果需要更新,可以进一步从后端返回的下载地址获取更新协议,可选地:下载“downloadPath”指定的文件,下载成功后,将下载好的更新协议保存到应用程序本地“files”目录下创建的“uaAndPP”文件夹下,删除其中存在的旧协议,即将当前协议替换为更新协议,从而实现当前协议在本地存储位置的更新。如果用户此时正在使用应用,可以立即在应用程序端通过显示提示框加载上述下载完成的更新协议,即被更新协议替换掉的当前协议,以提醒或请求用户同意该下载好的更新版协议。用户在应用程序端阅读完该更新协议的文本内容,且用户根据文本内容指示点击了同意,即实现了当前协议在用户应用程序端的更新。此时,可以将当前用户同意的这版协议的更新日期存储至一个固定的指定位置。可选地,用户同意的更新协议为《用户协议》,记录并存储:“ua_agree_time”:“202201011310”,其代表用户同意了更新日期为202201011310的《用户协议》。
如果不需要更新,说明当前协议是最新版协议,可以进一步检查本地存储位置保存的当前协议的更新时间是否与用户同意的时间相同,具体可以直接比较当前协议文件名中的更新时间与指定位置存储的用户同意的协议的更新日期,如果发现本地存储的下载好的更新协议文件没有被用户同意,且如果用户此时正在使用应用,则可以立即在应用程序端通过显示提示框的方式直接加载当前协议的文本内容,以提醒或请求用户同意该下载好的最新版协议,用户根据文本内容指示点击了同意,同样将用户当前同意的这版协议的更新日期存储至上述相同的指定位置,以方便下次更新时进行比对判断用户是否同意下载好的本地更新版协议。可选地:当前协议为《用户协议》,且判断为不需要更新,则进一步比较上述本地“files”目录下创建的“uaAndPP”文件夹下特殊命名的更新日期时间:USER_AGRREMENT_202201011310.hmtl与更新后存储的时间:“ua_agree_time”:“202201011310”。两者时间不相同,即表示用户未同意当前最新版协议。
其中,当前协议、更新协议的文本内容均可以包括引导用户同意的语言文字,即:“感谢您使用本平台产品!为了让您更放心的使用本平台产品及服务,请您务必仔细阅读,充分理解协议中的条款内容后再点击同意,以便您能够更好地行使个人权利及保护个人信息。[请您注意]如果您不同意以下协议或其中任何条款规定,您可以点击不同意,暂停使用本平台的产品和服务。如您点击同意即表示您已阅读并同意《隐私条款》或《用户协议》。”
通过不断检查当前协议是否有更新,有更新时下载保存更新协议并替换掉当前协议,提醒用户及时同意;无更新时根据指定位置存储的同意更新时间,判断当前协议是否被同意,没同意提醒用户及时同意;能够及时得知当前协议的更新的同时,始终将用户同意的更新版协议的协议日期保存至固定的指定位置,能够保证用户同意的是下载好的最新版协议,避免了长时间的加载,提高了协议更新的及时性、有效性。
在一个实施例中。该协议更新方法中步骤100可以具体包括:步骤101和/或,步骤102或,步骤103。
其中,步骤101:基于当前协议的后端更新通知,获取当前协议的后端更新数据;
步骤102:和/或,基于网络请求检查后端接口,获取当前协议的后端更新数据;
步骤103:或,基于网络请求轮训检查后端接口,获取当前协议的后端更新数据。
示例性地,步骤101中的后端更新通知可以是后台运行更新协议程序需要提醒更新的通知。具体地,当后端更新当前协议时,会为所有应用发送通知,通知内包含更新协议的更新日期和下载地址,接收该通知需取得通知权限,即在应用程序启动时弹窗询问用户是否需要该通知权限,如果用户同意过即可获得该通知权限。
步骤102中的后端接口可以是在启动应用程序时通过http、https等网络请求直接发起的连接服务,后端接收网络请求后返回响应数据。在步骤103中,如果没有后端更新通知的通知权限或通知权限申请弹窗被用户拒绝时,通过接口轮训的方式请求后端接口及时返回响应数据。
通过后端更新通知接收数据检查更新、应用程序启动直接请求后端检查更新、以及没有通知权限时通过接口轮训请求后端检查更新等三种方式检查更新,可以实现当前协议更新时,如果拥有通知权限,收到通知后可以立即下载和更新;如果用户未给予通知权限,通过接口轮训,可以保证比较及时的下载和更新;再加上每次应用程序启动时的检查,基本可以保证当前协议的及时性,从而可以实现当前协议的及时优化更新,可以使得用户同意的是下载好的最新版协议,提高了协议更新的及时性、有效性。
在一个实施例中,步骤102可以具体包括:步骤102a和步骤102b。
其中,步骤102a:在当前协议的应用程序启动后,向后端发起更新当前协议的网络请求;以及
步骤102b:接收后端接口基于网络请求返回的响应数据,并将响应数据确定为当前协议的后端更新数据。
示例性地,当用户使用终端打开App应用软件时,与后端服务器连接成功建立后,向后端web服务器发送网络请求,这个网络请求一般是GET或POST命令。格式可以为:GET路径/文件名HTTP/1.0,其中,文件名指出所访问的文件,HTTP/1.0指出Web浏览器使用的HTTP版本。后端应答web服务器收到这个网络请求,进行处理,从它的文档空间中搜索网络请求中该路径该文件名下的数据,Web服务器把应答响应的数据传送给相应的网络接口。
接口接收的数据可以为当前后端产生的更新数据,若当前协议为《用户协议》,则返回的json数据至少包含《用户协议》更新日期时间和文件下载地址,如:"user_agreement":{"updateTime":202201011310,"downloadPath":"https://xxxx/xxx/USER_AGRREMENT_202201011310.hmtl"}。
通过应用程序启动后,直接请求检查后端接口,接收后端更新数据,根据该数据判断当前协议是否有更新,使得用户每次启动应用程序时都能请求检查后端接口检查更新,提高了协议文件更新的及时性。
在一个实施例中,步骤101可以具体包括:步骤101a和步骤101b。
其中,步骤101a:判断是否获取到后端通知的权限;以及
步骤101b:若是,则等待当前协议的后端更新通知,基于后端更新通知的接收信息,确定当前协议的后端更新数据。
示例性地,当后端更新当前协议时,会为所有应用发送通知,通知内包含更新协议的更新日期和下载地址,接收该通知需取得通知权限,即在应用程序启动时弹窗询问用户是否需要该通知权限,如果用户同意过即可获得该通知权限。启动应用程序后,检测已获取到该通知权限,或在弹窗申请后用户同意了权限,等待后端对当前协议的更新通知,接收到后端为所有应用发送的通知,通知的数据与请求后端接口返回的数据相同,同样包含了更新协议的更新日期和下载地址。同步骤102b类似,通知数据可以为当前后端产生的更新数据。
通过检测获取到通知权限,等待并接收后端对当前协议的更新通知数据,根据该数据判断当前协议是否有更新,即如果拥有通知权限,收到通知后可以立即下载和更新,可以实现当前协议的及时优化更新,提高了协议文件更新的及时性。
在一个实施例中,步骤103可以具体包括:步骤103a和步骤103b。
其中,步骤103a:判断是否获取到后端通知的权限;以及
步骤103b:若否,则在当前协议的应用程序启动后,每隔一段时间向后端发起更新当前协议的网络请求,并接收后端接口基于网络请求返回的响应数据,将响应数据确定为当前协议的后端更新数据。
示例性地,如果检测未获取到该通知权限,或在弹窗申请后用户拒绝了权限,应用程序启动后,轮训后端接口,每隔一段时间发起一次网络请求,以检查是否有更新,接口接收的数据可以为后端每一次产生的更新数据。间隔时间可以是一小时,时间间隔太短会浪费流量,时间间隔太长不能够较好地保证及时性。如果用户未给予通知权限,通过每隔一段时间进行一次接口轮训,可以保证比较及时的下载和更新。
在一个实施例中,步骤120可以具体包括:步骤121、步骤122和步骤123。
其中,步骤121:读取当前协议所在文件中的协议日期;
步骤122:比较后端更新数据中的更新日期与协议日期的时间先后;以及步骤123:根据时间先后的比较结果,确定是否需要更新。
示例性地,比较时间先后的方式可以是直接比较时间数值的大小,数值大表示日期时间比较延后,数值小表示日期时间比较提前。可选地,接收后端返回的更新协议的数据,读取其中的更新日期与当前协议自身携带的协议日期,再读取本地存储位置:uaAndPP文件夹目录下前缀为USER_AGRREMENT的文件的名称,获取其中保存的当前协议的更新时间,即最后一个“_”后的数字,比较此数字与后端返回的“user_agreement”中的“updateTime”数字,如果后端的“updateTime”数字的数值更大,则说明当前协议有更新,即确定当前协议的版本需要更新。通过直接比较更新时间的方式,可以快速确定当前协议是否为最新版,提高了协议更新的效率。
在一个实施例中,步骤120中“加载当前协议请求用户同意,并将用户同意的协议日期存储至指定位置”可以具体包括:步骤124和步骤125。
步骤124:在启动应用程序后,显示弹出的用于加载当前协议的弹窗,以提示用户阅读并同意更新协议;以及
步骤125:接收用户的同意操作后,通过键值对形式记录当前的协议日期,并存储至指定位置。
示例性地,加载协议的方式可以是弹窗的形式,即在应用程序端弹出显示该协议文本内容的提示框。提示框中可以包含提醒用户同意或不同意的按钮。用户根据文本内容指示点击了同意按钮,检测到同意按钮被点击的操作指示后,记录下被用户同意的那份协议的时间,应当理解记录的不是用户同意的时钟时间,而是同意的协议自身携带的更新时间,即具体将当前更新版协议的名称记录为键,更新时间记录为值。例如:“ua_agree_time”:“202201011310”,这对键值对代表了用户同意了更新时间为202201011310的《用户协议》。
通过键值对形式单独记录用户同意的更新时间,并保存在一份固定的指定位置,使得无更新时可以直接读取指定位置存储的同意更新时间,判断当前协议是否被同意,没同意提醒用户及时同意,能够保证用户及时同意下载好的最新版协议,提高了协议更新的及时性、有效性。
请参阅图2(a)和图2(b),为本申请实施例提供的一种优选的协议更新方法的流程图,具体地,图2(a)为获取到通知权限的协议更新方法流程图,图2(b)为未获取到通知权限的协议更新方法流程图。若更新协议为对当前《用户协议》与《隐私条款》协议文件的更新。
每次进入应用,直接请求后端接口,和/或,获得后端通知权限时,等待并接收后端通知,读取本地存储位置保存的《用户协议》与《隐私条款》取得更新日期,通过更新日期判断并返回是否有新的《用户协议》与《隐私条款》,如果有新的《用户协议》与《隐私条款》,同时返回新的《用户协议》与《隐私条款》的下载地址,应用根据下载地址进行下载,下载后将更新版协议存储到本地存储位置,删除旧的《用户协议》或《隐私条款》,如果此时用户已经启动应用程序,然后可以直接弹出《用户协议》与《隐私条款》弹窗加载协议内容请求用户同意,并将此时用户同意的更新时间单独以键值对形式存在固定的一个指定位置。
如果应用进入后,请求后端发现没有更新,则去分别检查指定位置存储的《用户协议》和《隐私条款》的同意更新时间,比较本地存储位置保存的已下载好的更新协议的更新时间与用户同意的《用户协议》和《隐私条款》的更新时间。如发现本地已下载好的更新协议文件还没有同意,则弹出弹窗请求用户同意,并将此时用户同意的更新时间单独以键值对形式存在固定的一个指定位置。
如果未获得通知权限,则应用每隔1小时进行一次接口访问,确定是否有新的《用户协议》与《隐私条款》。如果有新的,去下载最新的,下载后存储到本地存储位置,然后弹出《用户协议》与《隐私条款》弹窗请求用户同意。如果没有新的,同上过程检查用户是否已同意当前下载好的更新协议,没有同意,则弹出弹窗请求用户同意。
请参阅图3,图3为本申请实施例提供的一种用于协议更新的装置功能模块示意图,该装置包括获取模块210和检查更新模块220。
其中,获取模块210,用于获取当前协议的后端更新数据;其中,所述后端更新数据包括更新协议的更新日期和更新协议的下载地址;
检查更新模块220,用于根据所述更新日期,检查所述当前协议是否需要更新;若是,根据所述下载地址从后端下载更新协议,下载完成后将所述当前协议替换为所述更新协议,加载所述当前协议请求用户同意,并将用户同意的协议日期存储至指定位置;若否,判断所述指定位置存储的协议日期是否为所述当前协议的协议日期,若否,加载所述当前协议请求用户同意,并将用户同意的协议日期存储至指定位置。
可选地,获取模块210还可用于:
基于当前协议的后端更新通知,获取当前协议的后端更新数据;
和/或,基于网络请求检查后端接口,获取当前协议的后端更新数据;
或,基于网络请求轮训检查后端接口,获取当前协议的后端更新数据。
可选地,获取模块210还可用于:
在所述当前协议的应用程序启动后,向后端发起更新所述当前协议的网络请求;以及
接收后端接口基于所述网络请求返回的响应数据,并将所述响应数据确定为所述当前协议的后端更新数据。
可选地,获取模块210还可用于:
判断是否获取到后端通知的权限;
若是,则等待当前协议的后端更新通知,基于所述后端更新通知的接收信息,确定所述当前协议的后端更新数据。
可选地,获取模块210还可用于:
判断是否获取到后端通知的权限;
若否,则在所述当前协议的应用程序启动后,每隔一段时间向后端发起更新所述当前协议的网络请求,并接收后端接口基于所述网络请求返回的响应数据,将所述响应数据确定为所述当前协议的后端更新数据。
可选地,检查更新模块220还可用于:
读取当前协议所在文件中的协议日期;
比较后端更新数据中的所述更新日期与所述协议日期的时间先后;以及
根据所述时间先后的比较结果,确定是否需要更新。
可选地,检查更新模块220还可用于:
在启动应用程序后,显示弹出的用于加载所述当前协议的弹窗,以提示用户阅读并同意所述更新协议;以及
接收用户的同意操作后,通过键值对形式记录所述当前协议的协议日期,并存储至指定位置。
请参阅图4,图4是电子设备的方框示意图。电子设备300可以包括存储器311、存储控制器312、处理器313、外设接口314、输入输出单元315、显示单元316。本领域普通技术人员可以理解,图4所示的结构仅为示意,其并不对电子设备300的结构造成限定。例如,电子设备300还可包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。
上述的存储器311、存储控制器312、处理器313、外设接口314、输入输出单元315、显示单元316各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。上述的处理器313用于执行存储器中存储的可执行模块。
其中,存储器311可以是,但不限于,随机存取存储器(Random Access Memory,简称RAM),只读存储器(Read Only Memory,简称ROM),可编程只读存储器(ProgrammableRead-Only Memory,简称PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,简称EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,简称EEPROM)等。其中,存储器311用于存储程序,所述处理器313在接收到执行指令后,执行所述程序,本申请实施例任一实施例揭示的过程定义的电子设备300所执行的方法可以应用于处理器313中,或者由处理器313实现。
上述的处理器313可能是一种集成电路芯片,具有信号的处理能力。上述的处理器313可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(digital signalprocessor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
上述的外设接口314将各种输入/输出装置耦合至处理器313以及存储器311。在一些实施例中,外设接口314,处理器313以及存储控制器312可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
上述的输入输出单元315用于提供给用户输入数据。所述输入输出单元315可以是,但不限于,鼠标和键盘等。
上述的显示单元316在电子设备300与用户之间提供一个交互界面(例如用户操作界面)给用户参考。在本实施例中,所述显示单元316可以是液晶显示器或触控显示器。液晶显示器或触控显示器可以对处理器执行所述程序的过程进行显示。
本实施例中的电子设备300可以用于执行本申请实施例提供的各个方法中的各个步骤。
此外,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中的步骤。
本申请实施例所提供的上述方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中的步骤,具体可参见上述方法实施例,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。在本申请实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
需要说明的是,功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种协议更新方法,其特征在于,所述方法包括:
获取当前协议的后端更新数据;其中,所述后端更新数据包括更新协议的更新日期和更新协议的下载地址;
根据所述更新日期,检查所述当前协议是否需要更新;
若是,根据所述下载地址从后端下载更新协议,下载完成后将所述当前协议替换为所述更新协议,加载所述当前协议请求用户同意,并将用户同意的协议日期存储至指定位置;
若否,判断所述指定位置存储的协议日期是否为所述当前协议的协议日期,若否,加载所述当前协议请求用户同意,并将用户同意的协议日期存储至指定位置。
2.根据权利要求1所述的方法,其特征在于,所述获取当前协议的后端更新数据,包括:
基于当前协议的后端更新通知,获取当前协议的后端更新数据;
和/或,基于网络请求检查后端接口,获取当前协议的后端更新数据;或,基于网络请求轮训检查后端接口,获取当前协议的后端更新数据。
3.根据权利要求2所述的方法,其特征在于,所述基于网络请求检查后端接口,获取当前协议的后端更新数据,包括:
在所述当前协议的应用程序启动后,向后端发起更新所述当前协议的网络请求;以及
接收后端接口基于所述网络请求返回的响应数据,并将所述响应数据确定为所述当前协议的后端更新数据。
4.根据权利要求2所述的方法,其特征在于,所述基于当前协议的后端更新通知,获取当前协议的后端更新数据,包括:
判断是否获取到后端通知的权限;
若是,则等待当前协议的后端更新通知,基于所述后端更新通知的接收信息,确定所述当前协议的后端更新数据。
5.根据权利要求2所述的方法,其特征在于,所述基于网络请求轮训检查后端接口,获取当前协议的后端更新数据,包括:
判断是否获取到后端通知的权限;
若否,则在所述当前协议的应用程序启动后,每隔一段时间向后端发起更新所述当前协议的网络请求,并接收后端接口基于所述网络请求返回的响应数据,将所述响应数据确定为所述当前协议的后端更新数据。
6.根据权利要求1所述的方法,其特征在于,所述根据所述更新日期,检查所述当前协议是否需要更新,包括:
读取当前协议所在文件中的协议日期;
比较后端更新数据中的所述更新日期与所述协议日期的时间先后;以及
根据所述时间先后的比较结果,确定是否需要更新。
7.根据权利要求1所述的方法,其特征在于,所述加载所述当前协议请求用户同意,并将用户同意的协议日期存储至指定位置,包括:
在启动应用程序后,显示弹出的用于加载所述当前协议的弹窗,以提示用户阅读并同意所述更新协议;以及
接收用户的同意操作后,通过键值对形式记录所述当前协议的协议日期,并存储至指定位置。
8.一种用于协议更新的装置,其特征在于,所述装置包括:
获取模块,用于获取当前协议的后端更新数据;其中,所述后端更新数据包括更新协议的更新日期和更新协议的下载地址;以及
检查更新模块,用于根据所述更新日期,检查所述当前协议是否需要更新;若是,根据所述下载地址从后端下载更新协议,下载完成后将所述当前协议替换为所述更新协议,加载所述当前协议请求用户同意,并将用户同意的协议日期存储至指定位置;若否,判断所述指定位置存储的协议日期是否为所述当前协议的协议日期,若否,加载所述当前协议请求用户同意,并将用户同意的协议日期存储至指定位置。
9.一种电子设备,其特征在于,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述机器可读指令被所述处理器执行时执行如权利要求1至7任一所述的方法的步骤。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至7任一所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210416225.XA CN115037728B (zh) | 2022-04-20 | 2022-04-20 | 协议更新方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210416225.XA CN115037728B (zh) | 2022-04-20 | 2022-04-20 | 协议更新方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115037728A true CN115037728A (zh) | 2022-09-09 |
CN115037728B CN115037728B (zh) | 2024-01-30 |
Family
ID=83119407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210416225.XA Active CN115037728B (zh) | 2022-04-20 | 2022-04-20 | 协议更新方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115037728B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116389254A (zh) * | 2023-06-05 | 2023-07-04 | 天津金城银行股份有限公司 | 资源版本控制方法、弹窗确认方法、装置、设备及介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050055687A1 (en) * | 2003-09-04 | 2005-03-10 | Georg Mayer | Software update information via session initiation protocol event packages |
CN102281322A (zh) * | 2010-06-08 | 2011-12-14 | 索尼公司 | 更新管理服务器、电子设备、更新管理系统及其方法 |
CN103227806A (zh) * | 2011-09-26 | 2013-07-31 | 三星电子株式会社 | 用于重配置应用程序的协议的方法和设备 |
US20150046368A1 (en) * | 2013-08-09 | 2015-02-12 | Canon Kabushiki Kaisha | System for determining whether to notify agreement terms, method, and medium |
CN108763883A (zh) * | 2018-04-08 | 2018-11-06 | 深圳盒子信息科技有限公司 | 一种信息的确认方法、装置及设备 |
US20190213700A1 (en) * | 2018-01-08 | 2019-07-11 | Microsoft Technology Licensing, Llc | Digital Contracting Service |
CN111131474A (zh) * | 2019-12-27 | 2020-05-08 | 山东爱城市网信息技术有限公司 | 一种基于区块链管理用户协议的方法、设备及介质 |
CN112235643A (zh) * | 2020-08-31 | 2021-01-15 | 福州智象信息技术有限公司 | 一种智能设备的操作系统用户协议运营管理方法 |
CN112306518A (zh) * | 2020-07-01 | 2021-02-02 | 深圳新阳蓝光能源科技股份有限公司 | 一种协议更新方法、装置及电子设备 |
CN112612534A (zh) * | 2020-12-03 | 2021-04-06 | 马上消费金融股份有限公司 | 应用启动方法、设备以及存储介质 |
-
2022
- 2022-04-20 CN CN202210416225.XA patent/CN115037728B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050055687A1 (en) * | 2003-09-04 | 2005-03-10 | Georg Mayer | Software update information via session initiation protocol event packages |
CN102281322A (zh) * | 2010-06-08 | 2011-12-14 | 索尼公司 | 更新管理服务器、电子设备、更新管理系统及其方法 |
CN103227806A (zh) * | 2011-09-26 | 2013-07-31 | 三星电子株式会社 | 用于重配置应用程序的协议的方法和设备 |
US20150046368A1 (en) * | 2013-08-09 | 2015-02-12 | Canon Kabushiki Kaisha | System for determining whether to notify agreement terms, method, and medium |
US20190213700A1 (en) * | 2018-01-08 | 2019-07-11 | Microsoft Technology Licensing, Llc | Digital Contracting Service |
CN108763883A (zh) * | 2018-04-08 | 2018-11-06 | 深圳盒子信息科技有限公司 | 一种信息的确认方法、装置及设备 |
CN111131474A (zh) * | 2019-12-27 | 2020-05-08 | 山东爱城市网信息技术有限公司 | 一种基于区块链管理用户协议的方法、设备及介质 |
CN112306518A (zh) * | 2020-07-01 | 2021-02-02 | 深圳新阳蓝光能源科技股份有限公司 | 一种协议更新方法、装置及电子设备 |
CN112235643A (zh) * | 2020-08-31 | 2021-01-15 | 福州智象信息技术有限公司 | 一种智能设备的操作系统用户协议运营管理方法 |
CN112612534A (zh) * | 2020-12-03 | 2021-04-06 | 马上消费金融股份有限公司 | 应用启动方法、设备以及存储介质 |
Non-Patent Citations (1)
Title |
---|
赵卫绩;刘井莲;: "基于FTP协议的客户端自动更新程序的设计与实现", 科学技术与工程, no. 34 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116389254A (zh) * | 2023-06-05 | 2023-07-04 | 天津金城银行股份有限公司 | 资源版本控制方法、弹窗确认方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115037728B (zh) | 2024-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9443017B2 (en) | System and method for displaying search results | |
RU2608668C2 (ru) | Система и способ управления и организации кэша веб-браузера для обеспечения автономного просмотра | |
US20180102998A1 (en) | Forgotten attachment detection | |
US7788259B2 (en) | Locating, viewing and interacting with information sources | |
US9280327B2 (en) | Simplifying development of user interfaces of applications | |
US8671110B1 (en) | Collaborative modeling environment | |
WO2016130346A1 (en) | De-siloing applications for personalization and task completion services | |
US20160342449A1 (en) | Data exchange across multiple computing devices through a proactive intelligent clipboard | |
US20150127838A1 (en) | Page Operation Processing Method and Apparatus, and Terminal | |
CN111753064B (zh) | 一种人机交互方法及其装置 | |
EP2839628B1 (en) | Providing rule based analysis of content to manage activation of web extension | |
WO2014194512A1 (en) | Information sensors for sensing web dynamics | |
US20140188929A1 (en) | Computer-readable storage medium, file management apparatus, and file management method | |
CN115037728B (zh) | 协议更新方法、装置、设备及存储介质 | |
US11729248B2 (en) | Web application component migration to a cloud computing system | |
JP2023024365A (ja) | ソフトウェアバージョン間のapi下位互換性の検出 | |
EP2440997A2 (en) | Software extension analysis | |
CN114237651A (zh) | 云原生应用的安装方法、装置、电子设备和介质 | |
CN112115063A (zh) | 一种软件本地化测试方法、装置、终端及存储介质 | |
US10956514B2 (en) | System and method for directed analysis of content using artifical intelligence for storage and recall | |
CN108363614B (zh) | 一种应用的业务模块管理方法、装置及服务器 | |
CN107578297B (zh) | 会员信息聚合方法以及装置 | |
CN109190352B (zh) | 一种授权文本准确性验证方法和装置 | |
CN111367703A (zh) | 故障排查方法及装置 | |
CN111125211A (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 |