购买APP内产品的支付方法及装置与流程

文档序号:20583807发布日期:2020-04-29 01:39阅读:479来源:国知局
购买APP内产品的支付方法及装置与流程

本发明涉及应用程序app产品购买的技术领域,特别是涉及一种购买app内产品的支付方法及装置。



背景技术:

目前,有的操作系统平台,在进行应用程序app内购买产品的过程中,在用户选定待购买的产品后,支付时,需要先到app对应的应用服务器中,获得待购买产品的产品id,再到该平台对应的应用商店(appstore)中,获取该待购买产品的产品数据,再将获得的产品数据返回给appstore,以进行购买扣费。

然而,在支付过程中,如果出现网络速度慢等网络问题,可能导致支付失败。



技术实现要素:

本发明实施例的目的在于提供一种购买app内产品的支付方法及装置,以减少支付失败的概率。具体技术方案如下:

在本发明实施的第一方面,首先提供了一种购买app内产品的支付方法,应用于app客户端设备,所述方法包括:

在app启动后,从应用商店获取所述app内各个产品的产品数据,并保存至所述app客户端设备中的缓冲池;所述缓冲池用于保存所述app内各个产品的产品数据;

获得用户在所述app内选定的目标产品;

如果检测出所述app客户端设备中的缓冲池包含所述目标产品的目标产品数据,则从所述app客户端设备中的缓冲池读取所述目标产品的目标产品数据;

将包含所述目标产品数据的扣费请求发送至应用商店,以使所述应用商店进行购买扣费。

可选的,所述在app启动后,从应用商店获取所述app内各个产品的产品数据,并保存至所述app客户端设备中的缓冲池的步骤,包括:

当app启动到达预设时间时,获取所述app内各个产品对应的各个产品标识;

从应用商店获取所述各个产品标识对应的各个产品数据;所述产品数据中包含产品标识;

将所述各个产品数据保存至所述app客户端设备中的缓冲池;

在所述获得用户在所述app内选定的目标产品的步骤之后,还包括:

获取所述目标产品对应的目标产品标识;

所述如果检测出所述app客户端设备中的缓冲池包含所述目标产品的目标产品数据,则从所述app客户端设备中的缓冲池读取所述目标产品的目标产品数据的步骤,包括:

如果检测出所述app客户端设备中的缓冲池包含所述目标产品的目标产品数据,则从所述app客户端设备中的缓冲池读取所述目标产品标识对应的目标产品数据。

可选的,所述产品数据携带有产品参数,在所述从所述app客户端设备中的缓冲池读取所述目标产品的目标产品数据的步骤之后,还包括:

判断所述目标产品数据携带的产品参数是否为目标产品参数;

如果所述目标产品数据携带的产品参数不是目标产品参数,则从应用商店获取目标产品数据,并将获取到的所述目标产品数据保存至所述app客户端设备中的缓冲池。

可选的,所述获取所述app内各个产品对应的各个产品标识的步骤,包括:

从预先保存所述app的程序应用文件中的产品标识列表中,获取所述app内各个产品对应的各个产品标识。

可选的,所述方法,还包括:

如果检测出所述app客户端设备中的缓冲池不包含所述目标产品的目标产品数据,则从应用商店获取所述目标产品的目标产品数据,保存至所述app客户端设备中的缓冲池,并执行所述将包含所述目标产品数据的扣费请求发送至应用商店的步骤。

在本发明实施的第二方面,还提供了一种购买app内产品的支付的装置,应用于app客户端设备,所述装置包括:

产品数据保存单元,用于在app启动后,从应用商店获取所述app内各个产品的产品数据,并保存至所述app客户端设备中的缓冲池;所述缓冲池用于保存所述app内各个产品的产品数据;

目标产品获得单元,用于获得用户在所述app内选定的目标产品;

目标产品数据读取单元,用于如果检测出所述app客户端设备中的缓冲池包含所述目标产品的目标产品数据,则从所述app客户端设备中的缓冲池读取所述目标产品的目标产品数据;

发送单元,用于将包含所述目标产品数据的扣费请求发送至应用商店,以使所述应用商店进行购买扣费。

可选的,所述产品数据保存单元,包括:

产品标识获取模块,用于当app启动到达预设时间时,获取所述app内各个产品对应的各个产品标识;

产品数据获取模块,用于从应用商店获取所述各个产品标识对应的各个产品数据;所述产品数据中包含产品标识;

产品数据保存模块,用于将所述各个产品数据保存至所述app客户端设备中的缓冲池;

所述装置,还包括:目标产品标识获取单元,用于在所述目标产品获得单元获得用户在所述app内选定的目标产品之后,获取所述目标产品对应的目标产品标识;

所述目标产品数据读取单元,包括:

目标产品数据读取模块,用于如果检测出所述app客户端设备中的缓冲池包含所述目标产品的目标产品数据,则从所述app客户端设备中的缓冲池读取所述目标产品标识对应的目标产品数据。

可选的,所述产品数据携带有产品参数,所述装置,还包括:

判断单元,用于在所述目标产品数据读取单元从所述app客户端设备中的缓冲池读取所述目标产品的目标产品数据之后,判断所述目标产品数据携带的产品参数是否为目标产品参数;如果所述目标产品数据携带的产品参数不是目标产品参数,则从应用商店获取目标产品数据,并将获取到的所述目标产品数据保存至所述app客户端设备中的缓冲池。

可选的,所述产品标识获取模块,具体用于:

当app启动到达预设时间时,从预先保存所述app的程序应用文件中的产品标识列表中,获取所述app内各个产品对应的各个产品标识。

可选的,所述装置,还包括:

目标产品数据保存单元,用于如果检测出所述app客户端设备中的缓冲池不包含所述目标产品的目标产品数据,则从应用商店获取所述目标产品的目标产品数据,保存至所述app客户端设备中的缓冲池,并触发所述发送单元将包含所述目标产品数据的扣费请求发送至应用商店。

在本发明实施的又一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现上述任一购买app内产品的支付的方法步骤。

在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的购买app内产品的支付方法。

在本发明实施的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的购买app内产品的支付方法。

本发明实施例提供的一种购买app内产品的支付的方法及装置,通过在app启动后,从应用商店获取所述app内各个产品的产品数据,并保存至所述app客户端设备中的缓冲池;所述缓冲池用于保存所述app内各个产品的产品数据;获得用户在所述app内选定的目标产品;从所述app客户端设备中的缓冲池读取所述目标产品的目标产品数据;将包含所述目标产品数据的扣费请求发送至应用商店,以使所述应用商店进行购买扣费。因此,应用本发明实施例,在app启动后,先从应用商店获取所述app内各个产品的产品数据保存至所述app客户端设备中的缓冲池,这样,在用户选定目标产品后,如果检测出所述app客户端设备中的缓冲池包含所述目标产品的目标产品数据,则直接从app客户端设备中的缓冲池读取目标产品的目标产品数据,获取的过程与当前的网络状况无关,减小了支付失败的概率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1为本发明实施例提供的购买app内产品的支付方法的一种流程图;

图2为本发明实施例提供的购买app内产品的支付方法的另一种流程图;

图3为本发明实施例提供的将各个产品数据保存至app客户端设备中的缓冲池的示意图;

图4a为相关技术中支付流程的示例;

图4b为本发明实施例支付流程的示例;

图5为本发明实施例提供的购买app内产品的支付的装置的结构示意图;

图6为本发明实施例提供的电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。

为了减少在进行应用程序app内购买产品进行支付时的失败概率,本发明实施例提供了一种购买app内产品的支付方法及装置。

本发明实施例所提供的购买app内产品的支付方法可以应用于任意需要购买app内产品,进行支付的电子设备,如:电脑或移动终端等,在此不做具体限定。为了描述方便,以下简称电子设备。

参见图1,为本发明实施例提供的购买app内产品的支付方法,应用于客户端设备,如图1所示,该方法的具体处理流程可以包括:

步骤s101,在app启动后,从应用商店获取所述app内各个产品的产品数据,并保存至所述app客户端设备中的缓冲池。

可实施的,可以从应用商店中获取app内所有产品的产品数据保存至app客户端设备中的缓冲池。在一种具体的实施方式中,可以当app启动到达预设时间时,获取所述app内各个产品对应的各个产品标识;从应用商店中获取所述各个产品标识对应的各个产品数据;所述产品数据中包含产品标识;将所述各个产品数据保存至所述app客户端设备中的缓冲池。其中,预设时间可以为1s、2s或3s等时间,在这里不具体限定。

步骤s102,获得用户在所述app内选定的目标产品。

可实施的,用户可以点击预设在app页面的支付按钮对目标产品进行选定,也可以对app页面中的产品进行查看,对购买目标产品进行选定。

可实施的,获得用户选定的目标产品后可以获取所述目标产品对应的目标产品标识。

步骤s103,如果检测出所述app客户端设备中的缓冲池包含所述目标产品的目标产品数据,则从所述app客户端设备中的缓冲池读取所述目标产品的目标产品数据。

可实施的,如果检测出所述app客户端设备中的缓冲池包含所述目标产品的目标产品数据,则可以从所述app客户端设备中的缓冲池读取所述目标产品标识对应的目标产品数据。

步骤s104,将包含所述目标产品数据的扣费请求发送至应用商店,以使所述应用商店进行购买扣费。

可见,应用本发明实施例,在app启动后,先从应用商店获取所述app内各个产品的产品数据保存至所述app客户端设备中的缓冲池,这样,在用户选定目标产品后,如果检测出所述app客户端设备中的缓冲池包含所述目标产品的目标产品数据,则直接从app客户端设备中的缓冲池读取目标产品的目标产品数据,获取的过程与当前的网络状况无关,减小了支付失败的概率。

本发明实施例可以应用在多个场景中,例如:

场景一:需要先展示app页面,再支付的场景。

例如,用户先查看某个app内页面中的目标产品时,应用本发明实施例可以在app启动后,从应用商店获取app内各个产品的产品数据保存至所述app客户端设备中,获得用户选定的待查看的目标产品后,从app客户端设备中读取待查看的目标产品的目标产品数据,根据目标产品数据,将目标产品信息显示在用户界面以供用户浏览,当用户在所述app内选定目标产品进行支付时,如果检测出所述app客户端设备中的缓冲池包含所述目标产品的目标产品数据,则从所述app客户端设备中的缓冲池读取所述目标产品的目标产品数据,将包含所述目标产品数据的扣费请求发送至应用商店,以使应用商店进行购买扣费。

因为在支付时可以从app客户端设备中读取目标产品的目标产品数据,与网络状况无关,减小了支付失败的概率。而且,将目标产品信息显示在用户界面以供用户浏览时,还提高了显示速度,用户体验较高。

场景二:某些业务中,在app页面中预先设置了可以进行显示的产品信息,但是没有产品数据的,这时尽管用户可以浏览到产品信息,但是在支付时,还是要获取产品数据。

应用本发明实施例,可以在app启动后,从应用商店获取app内各个产品的产品数据保存至所述app客户端设备中的缓冲池,获得用户选定的目标产品进行支付时,如果检测出所述app客户端设备中的缓冲池包含所述目标产品的目标产品数据,则可以从app客户端设备中的缓冲池读取所述目标产品的目标产品数据。因为在支付时可以从app客户端设备中的缓冲池读取目标产品的目标产品数据,与网络状况无关,减小了支付失败的概率。

本发明实施例提供的购买app内产品的支付方法的另一种流程图,如图2所示,可以包括:

步骤s201,当app启动到达预设时间时,从预先保存所述app的程序应用文件中的产品标识列表中,获取所述app内各个产品对应的各个产品标识。

可实施的,各个产品标识可以以属性列表文件plist的形式打包在该app对应的程序应用文件中。例如:苹果产品标识可以打包在ipa包中。

步骤s202,从应用商店获取所述各个产品标识对应的各个产品数据。

可实施的,所述产品数据中包含产品标识。

可实施的,app客户端设备向应用商店发送包含各个产品标识的获取产品数据的请求;接收应用商店返回的各个产品标识对应的各个产品数据。所述请求中,可以包括所有的产品标识;当然,如果app内各个产品对应的各个产品标识太多,也可以将所有的产品标识分成预设的批次,向应用商店发送请求。

该产品数据是skproduct模型对象,则本步骤具体为从应用商店获取所述各个产品标识对应的各个skproduct模型对象。

步骤s203,将所述各个产品数据保存至所述app客户端设备中的缓冲池。

可实施的,缓冲池可以位于随机存储内存中,也可以位于只读存储内存中,对应以下至少两种方式保存各个产品数据。

第一种方式:缓冲池位于随机存储内存中。则仅将所述各个产品数据保存至app客户端设备中的随机存储内存中的缓冲池。如果app的产品数量少,app内产品的产品数据量较小,可以用这种方式,虽然占了部分随机存储内存,也就是运行内存的空间,但是由于数据量较小,对设备运行影响不大。

第二种方式:缓冲池位于只读存储内存中。先将所述各个产品数据保存至app客户端设备中的随机存储内存中后,再将所述各个产品数据从随机存储内存中保存至只读存储内存中的缓冲池。

这种方式,尽量不占用随机存储内存,也就是运行内存的空间,能够更大限度的减少产品数据对设备运行的影响。

具体的,可以在随机存储内存中,将从应用商店获取的各个skproduct模型对象归档为各个qyskproduct模型对象;再创建多个线程;利用多个线程,将各个产品数据,也就是qyskproduct模型对象,保存至app客户端设备中的只读存储内存中的缓冲池。用这种方式,可以防止阻塞主线程的运行。

例如:如果app客户端设备是计算机,可以将各个产品数据先保存到内存中,再保存至硬盘上的缓冲池,并将内存中的各个产品数据释放掉。如果app客户端设备是手机等移动终端,可以将各个产品数据先保存到运行内存,再从运行内存保存到非运行内存中的缓冲池,并将运行内存中的各个产品数据释放掉。

例如:在基于苹果公司的移动操作系统ios的设备上可以从苹果公司的应用商店获取所述各个产品标识对应的各个产品数据至随机存储内存中的自动释放池autoreleasepool,从自动释放池autoreleasepool中,利用多个线程,将各个产品数据保存至只读存储内存中的缓冲池,再将随机存储内存中的自动释放池autoreleasepool中的各个产品数据释放掉,回收内存空间。用这种方式,可以将占用的随机存储内存空间释放,防止引起卡顿等现象。

步骤s204,获得用户在所述app内选定的目标产品。

步骤s205,获取所述目标产品对应的目标产品标识。

可实施的,可以从app对应的应用服务器中,获取所述目标产品对应的目标产品标识;

也可以从预先保存在所述app客户端设备中的产品标识列表中,获取所述目标产品对应的目标产品标识;如果获取不到,再从app对应的应用服务器中,获取所述目标产品对应的目标产品标识。

可以根据实际需要,研发人员进行设置,使用其中的一种方式获取所述目标产品对应的目标产品标识。

步骤s206,检测所述app客户端设备中的缓冲池是否包含所述目标产品标识对应的目标产品数据。

可实施的,与上述步骤相对应,该目标产品数据可以为目标qyskproduct模型对象。

如果检测到所述app客户端设备中的缓冲池包含所述目标产品标识对应的目标产品数据,则执行步骤s207;如果检测到所述app客户端设备中的缓冲池不包含所述目标产品标识对应的目标产品数据,则执行步骤s208。

步骤s207,如果检测出所述app客户端设备中的缓冲池包含所述目标产品数据,则从所述app客户端设备中的缓冲池读取所述目标产品数据。执行步骤s209。

如果检测到,则从app客户端设备中读取所述目标产品数据,可以节省时间。

步骤s208,如果检测出所述app客户端设备中的缓冲池不包含所述目标产品数据,则从应用商店获取所述目标产品标识对应的目标产品数据,保存至所述app客户端设备中的缓冲池。执行步骤s211。

可实施的,当目标产品为新增的一个产品,预先保存在客户端设备中的该app的程序应用文件中还没预置该目标产品标识时,则就会检测不到目标产品数据。则可以从应用商店获取所述目标产品标识对应的目标产品数据,保存至所述app客户端设备中。

可实施的,如果app客户端设备中的缓冲池不包含所述目标产品数据,从应用商店获取所述目标产品标识对应的目标产品数据后,至少有以下三种方式进行处理。

第一种方式:可以先将获取到的目标产品数据保存至所述app客户端设备中的缓冲池,再执行步骤s211。

第二种方式:先执行步骤s211,再将获取到的目标产品数据保存至所述app客户端设备中的缓冲池。用这种方式,因为先将包含目标产品数据的请求发送至应用商店,所以更节省支付时间。

第三种方式:从应用商店获取目标产品数据后,可以在判断出目标产品数据携带的产品参数为目标产品参数后,再将获取到的所述目标产品数据保存至所述app客户端设备中的缓冲池,再执行步骤s211;如果不是目标产品参数,则重新从应用商店获取目标产品数据。

步骤s209,判断所述目标产品数据携带的产品参数是否为目标产品参数。

可实施的,产品数据携带有产品参数,可以判断所述目标产品数据的产品参数是否为目标产品参数。例如:根据qyskproduct模型对象的属性localizedtitle值是否为空或者price值是否为空等预设参数的值,判断qyskproduct模型对象是否正确,如果值为空,则判断出目标产品数据携带的产品参数不是目标产品参数。

如果判断的结果为否,即所述目标产品数据携带的产品参数不是目标产品参数,则执行步骤s210;如果判断的结果为是,即所述目标产品数据携带的产品参数是目标产品参数,则执行步骤s211。

步骤s210,从应用商店获取目标产品数据,并将获取到的所述目标产品数据保存至所述app客户端设备中的缓冲池。

可实施的,如果所述目标产品数据携带的产品参数不是目标产品参数,则表明缓冲池中的目标产品数据是错误的,可以把缓存池中的目标产品数据置为无效删除之后,至少有以下三种方式进行处理。

第一种方式:从应用商店获取目标产品数据后,可以先将获取到的目标产品数据保存至所述app客户端设备中的缓冲池,再执行步骤s211。

第二种方式:从应用商店获取目标产品数据后,先执行步骤s211,再将获取到的目标产品数据保存至所述app客户端设备中的缓冲池。用这种方式,因为先将目标产品数据返回应用商店,所以更节省支付时间。

第三种方式:从应用商店获取目标产品数据后,也可以在判断出目标产品数据携带的产品参数为目标产品参数后,再将获取到的所述目标产品数据保存至所述app客户端设备中的缓冲池,执行步骤s211;如果不是目标产品参数,则重新从应用商店获取目标产品数据。

步骤s211,将包含所述目标产品数据的扣费请求发送至应用商店,以使所述应用商店进行购买扣费。

可见,应用本发明实施例,在app启动后,先从应用商店获取所述app内各个产品的产品数据保存至所述app客户端设备中的缓冲池,这样,在用户选定目标产品后,如果检测出所述app客户端设备中的缓冲池包含所述目标产品的目标产品数据,则直接从app客户端设备中的缓冲池读取目标产品的目标产品数据,获取的过程与当前的网络状况无关,减小了支付失败的概率。

而且,应用本实施例,可以判断所述目标产品数据携带的产品参数是否为目标产品参数,在判断出不是目标产品参数时,例如,在判断出产品标题缺失或价格缺失等情况时,可以把缓存池中的目标产品数据置为无效删除,重新从应用商店获取目标产品数据保存至app客户端设备中的缓冲池,以保证支付继续执行,提高了用户体验。

如图3所示,为上述实施例中将各个产品数据保存至app客户端设备中的缓冲池的示意图,如图3所示,包括:

从应用商店获取产品数据1、产品数据2、产品数据3、产品数据4、产品数据5和产品数据6等各个产品数据至随机存储内存中的自动释放池autoreleasepool中;

从自动释放池autoreleasepool中,利用多个线程,将各个产品数据保存至只读存储内存的缓冲池中。这里以两个线程为例。系统分配资源将各个产品数据提交到每个线程的队列queue中。其中产品数据1、产品数据3和产品数据5以block的形式提交到一个线程中;产品数据2、产品数据4和产品数据6以block的形式提交到另一个线程中。一个线程和另一个线程之间是异步的。在每一个线程中,是串行处理的。

这样,利用多个线程,防止app内的产品数据较多时,阻塞主线程的工作。而且,在每个线程中是串行处理的,避免同一个产品数据被多个线程同时访问,保证了产品数据的完整性。

将各个产品数据保存至只读存储内存后,将随机存储内存中的自动释放池autoreleasepool中的各个产品数据释放掉,回收随机存储内存的空间。用这种方式,可以将占用的随机存储内存空间释放,防止引起卡顿等现象。

以下,将相关技术中app内购买的支付流程示例与本发明实施例的app内购买的支付流程示例进行对比说明。

如图4a所示,为相关技术中支付流程的示例;如图4b所示,为本发明实施例支付流程的示例。

在相关技术中,如图4a所示,支付流程包括如下步骤:

步骤s410,app客户端设备获得用户在app内选定的目标产品。

步骤s411,向app对应的应用服务器发送获取用户选定的目标产品的目标产品标识的请求。

步骤s412,应用服务器发送用户选定的目标产品的目标产品标识至app客户端设备。

步骤s413,app客户端设备发送获取目标产品标识对应的目标产品数据的请求至应用商店。

步骤s414,应用商店发送目标产品标识对应的目标产品数据至app客户端设备。

步骤s415,app客户端设备对目标产品数据进行展示。

步骤s416,将包含所述目标产品数据的扣费请求发送至应用商店。

步骤s417,应用商店进行购买扣费。

在本发明实施例中,如图4b所示,支付流程包括如下步骤:

步骤s420,app客户端设备获得用户在所述app内选定的目标产品。

步骤s421,从预先保存在所述app客户端设备中的产品标识列表中,获取所述目标产品对应的目标产品标识。

步骤s422,app客户端设备如果检测出所述app客户端设备中的缓冲池包含所述目标产品的目标产品数据,则从app客户端设备中的缓冲池读取所述目标产品的目标产品数据。

步骤s423,app客户端设备对目标产品数据进行展示。

步骤s424,将包含所述目标产品数据的扣费请求发送至应用商店。

步骤s425,应用商店进行购买扣费。

可见,应用本发明实施例,在app启动后,先从应用商店获取所述app内各个产品的产品数据保存至所述app客户端设备中的缓冲池;这样,在用户选定目标产品后,如果检测出所述app客户端设备中的缓冲池包含所述目标产品数据,则直接从app客户端设备中读取目标产品的目标产品数据,获取的过程与当前的网络状况无关,减小了支付失败的概率。同时,本实施例中还可以直接从预先保存在所述app客户端设备中的产品标识列表中,获取所述目标产品对应的目标产品标识。与图4a所示的流程相比,减少了与应用服务器之间的交互,进一步减少了支付失败的概率。

本发明实施例提供的购买app内产品的支付的装置的结构示意图,如图5所示,所述装置包括:

产品数据保存单元501,用于在app启动后,从应用商店获取所述app内各个产品的产品数据,并保存至所述app客户端设备中的缓冲池;所述缓冲池用于保存所述app内各个产品的产品数据;

目标产品获得单元502,用于获得用户在所述app内选定的目标产品;

目标产品数据读取单元503,用于如果检测出所述app客户端设备中的缓冲池包含所述目标产品的目标产品数据,则从所述app客户端设备中的缓冲池读取所述目标产品的目标产品数据;

发送单元504,用于将包含所述目标产品数据的扣费请求发送至应用商店,以使所述应用商店进行购买扣费。

可选的,所述产品数据保存单元,包括:

产品标识获取模块,用于当app启动到达预设时间时,获取所述app内各个产品对应的各个产品标识;

产品数据获取模块,用于从应用商店获取所述各个产品标识对应的各个产品数据;所述产品数据中包含产品标识;

产品数据保存模块,用于将所述各个产品数据保存至所述app客户端设备中的缓冲池;

所述装置,还包括:目标产品标识获取单元,用于在所述目标产品获得单元获得用户在所述app内选定的目标产品之后,获取所述目标产品对应的目标产品标识;

所述目标产品数据读取单元,包括:

目标产品数据读取模块,用于如果检测出所述app客户端设备中的缓冲池包含所述目标产品的目标产品数据,则从所述app客户端设备中的缓冲池读取所述目标产品标识对应的目标产品数据。

可选的,所述产品数据携带有产品参数,所述装置,还包括:

判断单元,用于在所述目标产品数据读取单元从所述app客户端设备中的缓冲池读取所述目标产品的目标产品数据之后,判断所述目标产品数据携带的产品参数是否为目标产品参数;如果所述目标产品数据携带的产品参数不是目标产品参数,则从应用商店获取目标产品数据,并将获取到的所述目标产品数据保存至所述app客户端设备中的缓冲池。

可选的,所述产品标识获取模块,具体用于:

当app启动到达预设时间时,从预先保存所述app的程序应用文件中的产品标识列表中,获取所述app内各个产品对应的各个产品标识。

可选的,所述装置,还包括:

目标产品数据保存单元,用于如果检测出所述app客户端设备中的缓冲池不包含所述目标产品的目标产品数据,则从应用商店获取所述目标产品的目标产品数据,保存至所述app客户端设备中的缓冲池,并触发所述发送单元将包含所述目标产品数据的扣费请求发送至应用商店。

可见,应用本发明实施例,在app启动后,先从应用商店获取所述app内各个产品的产品数据保存至所述app客户端设备中的缓冲池,这样,在用户选定目标产品后,如果检测出所述app客户端设备中的缓冲池包含所述目标产品的目标产品数据,则直接从app客户端设备中的缓冲池读取目标产品的目标产品数据,获取的过程与当前的网络状况无关,减小了支付失败的概率。

本发明实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,

存储器603,用于存放计算机程序;

处理器601,用于执行存储器603上所存放的程序时,实现如下步骤:

在app启动后,从应用商店获取所述app内各个产品的产品数据,并保存至所述app客户端设备中的缓冲池;所述缓冲池用于保存所述app内各个产品的产品数据;

获得用户在所述app内选定的目标产品;

如果检测出所述app客户端设备中的缓冲池包含所述目标产品的目标产品数据,则从所述app客户端设备中的缓冲池读取所述目标产品的目标产品数据;

将包含所述目标产品数据的扣费请求发送至应用商店,以使所述应用商店进行购买扣费。

可见,应用本发明实施例,在app启动后,先从应用商店获取所述app内各个产品的产品数据保存至所述app客户端设备中的缓冲池,这样,在用户选定目标产品后,如果检测出所述app客户端设备中的缓冲池包含所述目标产品的目标产品数据,则直接从app客户端设备中的缓冲池读取目标产品的目标产品数据,获取的过程与当前的网络状况无关,减小了支付失败的概率。

上述终端提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述终端与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,简称ram),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的购买app内产品的支付方法。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的购买app内产品的支付方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质及计算机程序产品等实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1