软件开发套件平台的制作方法

文档序号:11532482阅读:209来源:国知局
软件开发套件平台的制造方法与工艺

相关申请的交叉引用

该申请是于2014年4月30日提交的美国临时专利申请序列号no.61/986,815的非临时专利申请。相应地,该非临时专利申请根据35u.s.c.§119(e)要求美国临时专利申请序列号no.61/986,815的优先权。临时专利申请序列号no.61/986,815在此全部并入。



背景技术:

使用软件开发套件(sdk)可以构建应用。

附图说明

图1示出根据本发明一个或多个实施方式的系统。

图2示出根据本发明一个或多个实施方式的具有本地sdk平台的系统。

图3示出根据本发明一个或多个实施方式用于使用本地sdk平台服务于对深层链接的请求的流程图。

图4a示出根据本发明一个或多个实施方式的具有本地sdk平台实例的系统。

图4b示出根据本发明一个或多个实施方式的本地sdk平台实例。

图5示出根据本发明一个或多个实施方式的计算系统。



技术实现要素:

通常,在一个方面,本发明一个或多个实施方式涉及一种计算系统,包括:第一应用,其包括第一本地软件开发套件(sdk)平台实例,其中第一本地sdk平台实例包括第一非核心sdk模块实例、应用发现模块以及应用间通信模块;第二应用,其包括第二本地sdk平台实例,其中,所述第一非核心sdk模块实例被配置为:将请求发放到应用发现模块,其中,在接收到所述请求时,发现模块被配置为:确定第二本地sdk平台实例包括被配置为服务于所述请求的第二非核心sdk模块实例,其中,第一本地sdk平台实例基于所述确定而被配置为:基于第一本地sdk平台实例所收集的数据生成与第二应用关联的深层链接,以及将深层链接提供给第一非核心sdk模块。

在另一方面,本发明的一个或多个实施方式涉及一种用于使用服务请求的方法,包括:在第一应用中从本地sdk平台实例接收深层链接;接收第一应用的用户已经选择所述深层链接的指示;以及响应于所述指示触发启动第二应用,其中,第一应用和第二应用皆安装在计算系统上,并且,其中使用第一应用中的至少一个非核心sdk模块实例所获得的数据生成所述深层链接。

在又一方面,本发明一个或多个实施方式涉及一种非易失性计算机可读介质,包括计算机可读程序代码,用于:在第一应用中从本地sdk平台实例接收深层链接;接收第一应用的用户已经选择所述深层链接的指示;以及响应于所述指示触发启动第二应用,其中,第一应用和第二应用皆安装在计算系统上,并且,其中使用所述第一应用中的至少一个非核心sdk模块实例所获得的数据生成所述深层链接。

具体实施方式

现将参照附图详细描述本发明的特定实施方式。在对本发明实施方式的以下详细描述中,阐述众多特定细节以提供本发明更透彻的理解。然而,本领域技术人员应理解,可以在没有这些具体细节的情况下实践本发明。在其它实例中,并未详细描述公知特征,以免不必要地使得描述变得复杂。

在图1-图5的以下描述中,本发明的各个实施方式中,关于附图所描述的任何组件可以与关于任何其它附图所描述的一个或多个类似命名的组件等效。为了简明,不会就每个附图重复描述这些组件。因此,每个附图的组件中的每一个实施方式通过引用而并入而且假设为可选地出现在具有一个或多个类似命名的组件的每一其它附图内。此外,根据本发明各个实施方式,对附图组件的任何描述应解释为可选实施方式,该可选实施方式可以另外地、结合地或替代地就任何其它附图中对应的类似命名的组件所描述的实施方式而实现。

在以下描述中,本地软件开发套件(sdk)平台可以指图2所示的本地sdk平台或图4a-图4b所示的本地sdk平台实例。

通常,本发明的一个或多个实施方式涉及一种sdk平台。sdk平台包括:(i)sdk平台后端,以及(ii)本地sdk平台和/或本地sdk平台实例,其运行在计算系统上的现有操作系统上。此外,在本发明的一个或多个实施方式中,sdk平台提供使得能够在实现sdk平台所支持的sdk模块的其它应用之间共享数据的机制。在本发明的一个或多个实施方式中,sdk平台提供在应用之间进行通信的标准化方式,从而一个应用的开发者可以通过一致的方式调用另一应用内部的目标动作。此外,sdk平台以及sdk平台所支持的sdk的一致的使用可以使得远程第3方(例如正在部署sdk平台的第3方)能够精确地确定在用户设备(又称为计算系统)上是否安装了应用。sdk平台还有利于sdk平台后端与本地sdk平台和/或本地sdk平台实例之间的数据通信。

图1示出根据本发明一个或多个实施方式的系统。该系统包括:计算系统(100)(见例如图5),其可操作地连接到后端服务(又称为sdk平台后端)和/或第3方服务(105)。在本发明的一个实施方式中,后端服务(105)对应于可远程访问本地sdk平台(见例如图2)和/或本地sdk平台实例(见例如图4a-图4b)的计算服务。后端服务(105)可以由生成和/或发布sdk模块(见例如图2、图4a和图4b)的同一实体来实现。后端服务(105)可以在一个或多个计算系统上实现。第3方服务(105)对应于所有其它远程计算服务(排除由后端服务所提供的计算服务),其中,使用一个或多个计算系统(如下在图5中描述)实现这些第3方服务。以下描述后端服务和/或第3方服务(105)的各种非限定性示例。

在本发明的一个实施方式中,计算系统(100)可以仅与后端服务直接进行通信。在这些情况下,如果计算系统上的应用正尝试与第3方服务进行通信,则这些请求被发送到后端服务,后端服务随后将请求发送到第3方服务。在本发明的其它实施方式中,计算系统可以与第3方服务直接进行通信。在本发明的其它实施方式中,计算系统可以实现前述两种实施方式。

在本发明的一个实施方式中,sdk平台后端(105)提供对sdk的支持服务。例如,sdk平台可以提供关于sdk的市场,并且提供用于执行(以下所描述的)非核心sdk模块实例的服务器侧服务。换言之,sdk开发者可以创建非核心sdk模块实例并且将非核心sdk模块实例发送到sdk平台后端。sdk平台后端可以提供sdk市场服务,从而软件应用开发者可以购买或以其他方式获得非核心sdk模块实例,并且将非核心sdk模块实例合并到软件应用中。sdk模块(例如非核心sdk模块实例)是协助创建软件应用的软件开发工具集合。sdk模块可以是采取库的形式的、一个或多个应用编程接口(api)的实现。sdk模块可以被编译并提供给sdk平台后端。

在本发明的一个或多个实施方式中,sdk平台后端(105)也可以提供关于软件应用的应用市场。应用市场是通过硬件和软件来支持的虚拟网络空间,其将软件应用的消费者与软件应用的开发者连接起来并且促进软件应用的交换。在本发明的至少一些实施方式中,应用市场是可经由互联网访问的公开市场。

在本发明的一个实施方式中,sdk平台后端包括数据仓(repository)(未示出)。数据仓是任何类型的用于存储数据的存储单元和/或设备(例如文件系统、数据库、表集合或任何其它存储机构)。此外,数据仓可以包括多个不同的存储单元和/或设备。所述多个不同的存储单元和/或设备可以是相同类型的或位于相同物理地点或者可以不是相同类型的或位于相同物理地点。数据仓包括用于存储例如系统配置数据和用户数据的功能。在不脱离本发明的情况下,可以在数据仓中存储其它数据。

在本发明的一个或多个实施方式中,系统配置数据包括对已经加载包括非核心sdk模块实例(见图2、图4a-图4b)的应用的所有计算系统(见例如图1中的100)的硬件和/或软件配置进行描述的数据。用于特定系统的系统配置数据可以包括:标识计算设备上所加载的所有非核心sdk模块实例(见图2、图4a-图4b)。系统配置数据可以包括操作系统标识符、设备制造商名称和型号名称、web浏览器名称以及系统配置的任何其它标识信息。用于特定系统配置的系统配置数据可以包括附加信息,例如系统配置所提供的功能、系统配置的组件、特定系统配置的已知缺陷、其它类似信息或其组合。

在本发明的一个或多个实施方式中,用户数据对应于关于特定用户(例如计算系统(图1中的100)的用户)的数据。用户数据可以包括用户资料(profile)和系统配置标识符。用户资料包括关于用户的信息。例如,用户资料可以包括管理信息(例如姓名、地址、电子邮件地址以及其它类似信息)、市场历史信息(例如用于市场上的购买的金融账户信息、从市场购买的一个或多个应用以及其它货物的标识符)、安全信息(例如账户证书、关于密码重置的安全问题、其它安全有关信息)、或其它信息或其组合。系统配置标识符是对用于用户正在使用的计算系统的对应系统配置数据的引用。系统配置数据可以是用户数据的部分,而不是具有分离的系统配置数据和用户数据。

用户数据可以还包括其中一些或所有以下信息:(i)计算系统上的、包括非核心sdk模块实例的应用的数量;(ii)基于每应用在计算系统中实现非核心sdk模块实例的信息;(iii)提供从计算设备获得的非核心sdk模块实例使用情况的本地收集的分析信息;(iv)包括非核心sdk模块实例的每个应用的应用名称(或另外标识符);和/或(v)用于包括非核心sdk模块实例的每个应用的应用特征的列表。前述信息可以使用任何通信机制、以任何数据格式传递到后端服务/第3方服务(105)。

可以通过符合所适用的用户隐私法的任何方式存储用户资料中的数据。此外,可以通过匿名化形式存储用户资料中的数据。

在本发明的一个实施方式中,计算系统(100)执行一个或多个应用(103a、103b),其中,所述一个或多个应用(103a、103b)实现/包括本地sdk平台或本地sdk平台实例所支持的至少一个非核心sdk模块实例(即sdk模块的实例)。在本发明的一个实施方式中,应用对应于可以通过计算系统100执行的可执行代码。每个非核心sdk模块在实现该非核心sdk模块的应用内提供特定类型的功能。非核心sdk模块的示例包括但不限于:(i)身份sdk模块,其在应用内提供标识和/或验证功能(例如,以允许用户登录到应用中);(ii)货币化sdk模块,其允许应用在应用内显示广告(例如原生以及非广告);(iii)支付sdk模块,其允许应用支持应用内支付(例如,用户可以在不离开应用情景的情况下购买货物和/或服务);以及(iv)分析模块,其允许开发者检测应用并随后收集各种类型的分析信息(例如,谁正使用该应用,应用正被如何使用等)。

连同任何已知的或未来发现的通信协议一起使用有线网络或无线网络的任何组合,计算系统(100)可以连接到后端服务/第3方服务(105)。

本发明不限于图1所示的系统架构。

图2示出根据本发明一个或多个实施方式的具有本地sdk平台(201)的系统。在本发明的一个或多个实施方式,本地sdk平台(201)使得同一计算系统(100)上执行的应用(203a、203b)能够共享数据。此外,本地sdk平台(201)使得计算系统(100)上的应用(203a、203b)能够调用计算系统(100)上的其它应用(203a、203b)的功能。

在本发明的一个或多个实施方式中,本地sdk平台(201)包括应用发现模块(adm)(211),其包括用于发现计算系统(100)上的应用(203a、203b)中的哪个(些)具有一个或多个非核心sdk模块实例(207a、207b)的功能。此外,adm(211)可以包括如下功能:(经由应用sdk平台接口(209a、209b))询问每个这种应用以确定在每一个应用(203a、203b)中存在哪些特定的非核心模块(207a、207b)。可替代地,包括非核心sdk模块实例(207a、207b)的应用(203a、203b)可以将该信息公开和/或“推送”到adm(211)。adm(211)也可以被配置为:将所收集和/或接收到的信息存储在可操作地连接到本地sdk平台(201)(或在本地sdk平台(201)内)的数据结构中。本地sdk平台(201)可以然后以在此所描述的方式使用该信息。

本地sdk平台(201)可以还包括应用间通信模块(iacm)(205),其使得包括sdk平台接口(209a、209b)的应用(203a、203b)能够进行通信。在本发明的一个或多个实施方式中,本地sdk平台(201)可以还包括如下功能:从在计算系统(100)上执行的应用(203a、203b)接收请求,并且将这些请求(经过修改或不修改)转发到后端服务/第3方服务(105),并且将从后端服务/第3方服务(105)接收到的响应(经过修改或不修改)提供给应用(203a、203b)。

此外,本地sdk平台(201)可以将其已经(例如通过使用adm(211))收集的信息提供给后端服务/第3方服务(105)。例如,本地sdk平台(201)可以将其中一些或所有以下信息发送到后端服务/第3方服务(105):(i)计算系统上的、包括非核心sdk模块实例的应用的数量;(ii)基于每应用在计算系统中实现非核心sdk模块实例的信息;(iii)提供非核心sdk模块实例使用情况的本地收集的分析信息;(iv)包括非核心sdk模块实例的每个应用的应用名称(或另外标识符);和/或(v)用于包括非核心sdk模块实例的每个应用的应用特征的列表。前述信息可以使用任何通信机制、以任何数据格式传递到后端服务/第3方服务(105)。

在本发明的一个或多个实施方式中,每次应用(203a)被安装在计算系统(100)上(其中,该应用(203a)包括至少一个非核心sdk模块实例(207a))时,应用(203a)就(经由sdk平台接口(209a))向本地sdk平台(201)发送消息以指示该应用(203a)已安装,并且本地sdk平台(201)将关于该安装的信息发送到后端服务/第3方服务(105)。后端服务/第3方服务(105)然后记录该信息,并且跟踪在计算系统(100)上存在哪些包括非核心sdk模块的应用。

在本发明的一个或多个实施方式中,计算系统(100)上的一个或多个应用(203a、203b)包括一个或多个非核心sdk模块实例(207a、207b)、(本地sdk平台不支持的)其它sdk模块和/或其它自定义代码。如果应用(203a、203b)包括一个或多个非核心sdk模块实例(207a、207b),则应用(203a、203b)还可以包括sdk平台接口(209a、209b),其允许非核心sdk模块(207a、207b)与本地sdk平台(201)进行通信,将数据提供给本地sdk平台(201)和/或从本地sdk平台(201)接收数据。包括非核心sdk模块的应用可以:(i)将请求直接发放到计算系统os和/或后端服务和/或第3方服务;和/或(ii)经由sdk平台接口将请求发放到本地sdk平台。

虽然图2中未示出,但计算系统(100)可以包括:不包括非核心sdk模块和/或本地sdk平台(201)不支持的其它应用。本发明不限于图2所示的系统架构。

在本发明的一个或多个实施方式中,本地sdk平台(201)使用深层链接,以使得一个应用(203a)能够发起/触发同一计算系统(100)上另一应用203b中的动作。在本发明的一个实施方式中,深层链接是链接到目标应用内的特定位置的统一资源标识符(uri)。此外,深层链接可以包括其它信息,例如深层链接的源(即,发起深层链接的应用、关于目标应用中的位置的信息、在前述位置处的目标应用可以使用的信息)。以下是示例性深层链接:myapp://make_purchase?referral=app2&product_id=20&guid=100。在该示例中,目标应用是myapp,源应用是app2(即在计算设备上执行的另一应用),并且从app2传递到myapp的信息是productid=20和guid=100。

图3示出根据本发明一个或多个实施方式的用于使用本地sdk平台(201)服务于对深层链接的请求的流程图。虽然流程图中的各个步骤是依次出现并描述的,但本领域技术人员应理解,一些或所有步骤可以按不同顺序执行,可以组合或省略,并且一些或所有步骤可以并行执行。

在步骤300中,从第一应用(203a)中的非核心sdk模块实例(207a)(或例如本地sdk平台实例(401a))接收请求。该请求可以对应于对应响应中包括深层链接的请求。例如,该请求可以用于原生广告,其中,回应的原生广告包括对计算系统上执行的另一应用的深层链接。在请求之时,进行请求的应用可以不一定要求具有深层链接的响应,例如,在该应用请求原生广告的情况下,在此进行请求的应用能够接收任何原生广告作为响应(包括包含或不包含深层链接的原生广告)。在本发明的一个或多个实施方式中,请求可以是对深层链接的显式请求。例如,进行请求的应用可以包括“purchase”按钮,其在由应用的用户选中时触发购买动作。然而,如果应用并非原生支持购买动作,则该应用可以将请求发送到本地sdk平台(201),以获得对于可以处理购买动作的计算系统(100)上的另一应用的深层链接,或获得应用的深层链接,所述应用为必须下载到计算系统(100)上然后使用深层链接中的信息来启动。这些示例并非意图限制本发明的范围。

在步骤302中,请求从非核心sdk模块实例(207a)(或例如本地sdk平台实例(401a))经由sdk平台接口(209a、209b)转发到本地sdk平台(201)。

在步骤304中,本地sdk平台(201)确定计算系统(100)上的另一应用(203b)是否可以服务于请求。如上所述,本地sdk平台(201)可以包括adm(211),其包括用于发现本地sdk平台(201)支持哪些应用(其包括非核心sdk模块)的功能。该信息可以用于服务于请求。例如,如果请求是用于购买动作,则本地sdk平台(201)可以包括用于确定是否有(包括非核心sdk模块的)任何应用可以服务于该请求(即,可以服务于购买动作)的功能。在另一示例中,如果请求是用于原生广告,则该请求可能需要由后端服务或第3方服务(105)来提供服务。例如,该请求可以被发送到后端服务(例如twitter),以获得原生广告。在另一示例中,所述请求可以被发送到后端服务,后端服务随后将请求发送到第3方服务(例如第3方广告交易平台)。第3方广告交易平台于是可以将原生广告提供给后端服务,其可以修改原生广告以包括深层链接(例如对当用户点击原生广告中的按钮时将要触发的计算设备上的应用的深层链接)。修改后的原生广告于是可以被返回到计算系统(100)。

继续图3的讨论,在步骤306中,当计算系统(100)上的另一应用(203b)可以服务于请求时(如步骤304中所确定的那样),则处理进入步骤312;否则,处理进入步骤308。

在步骤308中,当所述请求无法由计算系统(100)上目前存在的另一应用(203b)来服务时,于是向后端服务或第3方服务(105)(见以上所讨论的示例)发送请求。

在步骤310中,后端服务或第3方服务(105)提供可以包括深层链接的响应。考虑以下第一示例:如果请求是用于原生广告,则后端服务或第3方服务(105)可以(使用任何已知的选择方法)选择原生广告,并且将深层链接合并到原生广告中。在该示例中,深层链接可以对应于计算系统(100)上存在的应用,并且可以指定:当应用启动时,通过计算系统(100)上的用户接口最初向用户显示什么屏幕。在第一示例中,后端服务或第3方服务(105)包括关于在计算系统(100)上存在哪些应用以及每个这些应用的功能的信息(其可以从本地sdk平台(201)获得)。

考虑以下第二示例:如果请求是用于原生广告,则后端服务或第3方服务(105)可以(使用任何已知的选择方法)选择原生广告,并且然后将深层链接合并到原生广告中。在该示例中,深层链接可以对应于未出现在计算系统(100)上的应用,并且也可以指定:当应用启动时,通过计算系统上的用户接口最初向用户显示什么屏幕。在第二示例中,后端服务或第3方服务(105)包括关于哪些其它应用可供下载在计算系统(100)上以及每个这些应用的功能的信息。

考虑以下第三示例:如果请求是用于原生广告,则后端服务或第3方服务(105)可以(使用任何已知的选择方法)选择原生广告,然后将对支持例如购买动作的网站的链接合并到原生广告中。该情况可以出现在如下情形中:在计算系统(100)上不存在应用,或没有应用可供下载到能够支持所需功能的计算系统(100)上。

在步骤312中,如果方法经由步骤310到达步骤312,则(在步骤310中生成的)响应(经过修改或不修改)经由sdk平台接口(209a、209b)被发送到第一应用(203a)中的非核心sdk模块(207a)(或例如本地sdk平台实例(401a));可替代地,如果方法经由步骤306到达步骤312,则本地sdk平台(201)首先生成响应深层链接,其中,深层链接可以对应于出现在计算系统(100)上的应用,并且可以指定:当应用启动时,通过计算系统(100)上的用户接口最初向用户显示什么屏幕。本地sdk平台(201)能够在不从后端服务和/或第3方服务(105)请求信息的情况下生成响应。所生成的响应然后发送到第一应用中的非核心sdk模块(207a)(或例如本地sdk平台实例(401a))。

在步骤314中,在第二应用(203b)已经被加载在计算系统(100)的情况下,在第一应用(203a)中选择深层链接会将第二应用(203b)启动到应用(203b)的特定屏幕,其中,所述特定屏幕是在深层链接中指定的。在第二应用(203b)尚未被加载在计算系统(100)上的情况下,在第一应用(203a)中选择深层链接会触发将第二应用(203b)下载到计算系统(100)上。一旦下载,第二应用103b被启动到该应用(203b)的特定屏幕,其中,所述特定屏幕是在深层链接中指定的。最后,在所述响应包括网站链接的情况下,在第一应用(203a)中选择链接会启动web浏览器应用,其显示链接中所指定的特定网页。

图4a示出根据本发明一个或多个实施方式的具有本地sdk平台实例401a、401b的系统。图4a所示的系统实质上与图2所示的系统相似,只是在图4a中,不存在公共本地sdk平台(201);反之,存在与每个应用(405a、405b)关联(或在每个应用(405a、405b)内)的本地sdk平台(401a、401b)的一个实例。本地sdk平台(401a、401b)实例执行与图2所示的本地sdk平台(201)相同的功能。此外,如图4b所示,本地sdk平台实例(401a、401b)也可以均包括一个或多个非核心sdk模块403a、403b。本发明不限于图4a-图4b所示的系统架构。

以下描述根据本发明一个或多个实施方式的各个示例。本发明不限于以下示例。

示例(经由深层链接从另一应用购买货物)

以下示例并非意图限制本发明的范围。在本发明的一个或多个实施方式中,本地sdk平台提供开发者可以选取以在它们的应用中支持的通用动作标识符。这些标识符之一可以是“purchase”,其具有用于“productid”的支持数据字段。

应用b采用了本地sdk平台。具体地说,在该示例中,其将其结账屏幕注册为“purchase”动作。类似地,其注册所述应用的该部分以处理拨入的产品id,以填入用户的购物车。注册过程可以由本地sdk平台中的应用发现模块来管理。

应用a405a是体育新闻应用,其也采用了本地sdk平台。通过货币化sdk模块(即非核心sdk模块),应用a显示原生广告。本地sdk平台也能够确定安装了应用b,使得应用a呈现应用b中具有的关于sanfranciscogiants帽子的广告,其中,本地sdk平台(201)生成包括在广告中的深层链接。当被选中时,与广告关联的深层链接触发对启动应用b的调用,并且通过“productid”30传递“purchase”动作。

一旦应用b启动,本地sdk平台(201)查找用于“purchase”动作的适当屏幕。该适当屏幕可以是在前述深层链接中指定的,或者可以使用任何其它已知机制来确定。应用b连同产品id30一起显示该屏幕。用户继续进行购买流程以购买帽子,然后经由本地sdk平台(201)被再次重定向到应用a405a。

广告中所使用的该深层链接也可以用于将指示成功购买的数据传递回应用a405a。该结果数据可以用于通知其它广告,或者它可以用于允许用户与他或她在社交网络上的粉丝(例如他或她在twitter上的粉丝)共享他或她的新的购买。指示成功购买的数据也可以被提供给后端服务或第3方,其中,该信息可以用于进一步经由应用a或应用b标定用户。

示例(经由深层链接方案从另一应用购买货物)

以下示例并非意图限制本发明的范围。应用a、b、c和d分别是体育应用、旅行应用、事件购买应用以及购物应用。我们进行以下假设:(1)sam星期二将在亚特兰大,以及(2)sanfranciscogiants将在星期二与atlantabraves进行比赛。

各应用均与公共本地sdk平台进行交互。sam正使用应用a浏览体育新闻。sam碰到关于他感兴趣的队伍(例如sanfranciscogiants)的信息。sam通过在应用a的新闻中嵌入并显示的twitterfollow按钮上进行点击关注sanfranciscogiants。该动作在twitter上sam的社交图谱中产生新的“关注”。知晓sam刚关注sanfranciscogiants,应用b的货币化sdk模块实例随后请求广告为sam显示相关广告。应用b是旅行应用,其能够获得sam的位置和/或可访问sam的旅行计划。将关于sam的新的“关注”以及sam星期二去往亚特兰大的旅行计划的信息相结合,应用b的货币化sdk模块实例提供广告(其对星期二比赛的门票做广告),其可以显示在应用a或b中。广告可以嵌入有深层链接。当sam与对对星期二比赛的门票做广告的任何广告进行交互时,应用b的货币化sdk模块实例或支付sdk模块实例可以经由深层链接将sam传送到应用c(事件购买应用)。此外,当在应用d上进行购买时,sam可能先前已经输入支付信息。从应用d的支付sdk模块实例(经由本地sdk平台)自动地获得他的支付信息。因此,sam仅需要点击“purchase”以在应用c中完成他的对比赛门票的购买。

获知sam购买了星期二sanfranciscogiants比赛的门票确认了sam对sanfranciscogiants感兴趣。当将来执行应用a-d时,广告可能会将更多的sanfranciscogiants广告显示给sam(即sanfranciscogiants棒球帽)。

如果sam并未通过应用b的货币化sdk模块实例在被重定向到应用c时购买sanfranciscogiants比赛的门票,则应用a-d可以继续发送对星期二比赛的门票做广告的广告(也许增加广告印象频率),直到赛事结束(比赛进行之后的日子)。虽然关于星期二比赛门票的广告是“时间敏感的”,并且当赛事结束时将终止,但并非时间敏感的广告(即sanfranciscogiants商品)可以在sam执行应用a-d时继续发送给他。

非核心sdk模块示例

以下部分描述根据本发明一个或多个实施方式的各个非核心sdk模块。非核心sdk模块不限于以下所列出的模块。

身份sdk模块

在本发明的一个或多个实施方式中,身份sdk模块实例可以发送授权请求,以对例如访问计算系统上的应用的用户进行鉴权。授权请求可以包括标识计算系统的标识符(例如电话号码、电子邮件地址、传真号、社会保障号等)。可替代地,标识符可以是标识计算系统的唯一客户端标识符(例如设备标识)。

虽然应用的身份sdk模块实例可以与后端服务或第3方服务直接或间接地进行通信以对计算系统进行鉴权,但应用的身份sdk模块实例也可以与同一计算系统上的另一应用的身份sdk模块实例直接或间接地进行通信,从而对应用进行鉴权。

以下是来自身份sdk模块实例的示例使用情况。考虑如下情况:用户已经登录到第一社交媒体应用中,并且现在同一用户正尝试登录到第二社交媒体应用中。当用户例如执行第二社交媒体或在第二应用的屏幕中的“login”上进行点击时,可以发送授权请求。本地sdk平台能够将授权请求从第二社交媒体应用的身份sdk模块实例转发到第一社交媒体应用的身份sdk模块实例。因为用户已经登录到第一应用中,所以第一社交媒体应用的身份sdk模块实例在接收到授权请求时将授权请求返回到第二社交媒体应用,并且允许用户获取对第二应用的访问,而无需用户输入他或她的证书。根据本发明一个或多个实施方式的身份sdk模块实例可以跟踪用户跨多个应用的活动,所述多个应用与其它非核心sdk模块实例耦合,可以有益于广告商、开发者以及类似的其它人员。

可替代地,应用的身份sdk模块实例可以通过计算系统外部的系统寻求用户鉴权。系统可以是后端服务或第3方服务或可以不是后端服务或第3方服务。系统包括身份sdk模块实例,其包括用于从计算系统接收授权请求的功能。如上所述,授权请求可以包括标识计算系统的标识符。计算系统的身份sdk模块实例可以包括用于确定标识符所标识的计算系统与身份sdk模块实例的账户对应的功能。身份sdk模块实例可以包括账户仓,其保存标识计算系统及其对应账户的账户索引。例如,账户索引可以包括通过系统的身份sdk模块实例标识具有账户的客户端设备的标识符的列表。身份sdk模块实例还可以包括鉴权sdk模块实例,其包括用于与账户仓进行通信以基于授权请求中接收到的标识符搜索账户索引的功能。如果身份sdk模块实例的鉴权sdk模块实例在账户索引中发现匹配标识符,则鉴权sdk模块实例可以标识与标识符所标识的计算系统对应的账户。随后,系统可以返回授权请求,并且使得用户能够访问应用。

根据本发明一个或多个实施方式,系统的身份sdk模块实例还可以包括如下功能:响应于授权请求,发送验证所述计算系统经过鉴权的验证消息以及账户的唯一令牌,其中,该唯一令牌对于应用是唯一的。唯一令牌可以用于保持计算系统的用户对于所述应用的私密性。例如,在从身份sdk模块实例接收到唯一令牌时,应用可以将唯一令牌发送到与应用关联的应用服务器,以访问与唯一令牌关联的应用数据。然后计算系统能够仅使用唯一令牌来访问由应用服务器所管理的用户账户。

货币化sdk模块

在本发明的一个或多个实施方式中,货币化sdk模块使用来自身份sdk模块的信息/信号,以用于标定、交叉推销和/或市场化。该信息/信号中的一些是显式的,并且这些信号中的一些是隐式的或是从显式信息推导出的。

以下是来自货币化sdk模块的示例使用情况。考虑如下情况:社交网络中用户的社交图谱包括他的粉丝以及他关注的人。如果社交网络确定用户关注与sanfranciscogiants有关的x账户,则其可以定制经由货币化sdk模块实例所服务的广告。如果应用采用了本地sdk平台并且包括身份sdk模块实例和货币化sdk模块实例,则应用可以快速地受益于该数据。

此外,从用户先前的发文获得的位置数据可以提供关于货币化的有价值的数据,而正显示广告的应用无需显式地询问用户的位置。如果用户已经从圣弗朗西斯科发文2000次,并且当前处于采用了本地sdk平台的体育应用内部,则应用能够快速地确证湾区体育队伍有关的新闻及商品很有可能与该用户相关。

其它所推断的数据,例如用户已经安装的应用(可以通过设备上的应用是否采用了本地sdk平台来确定该情况),对于货币化目的可能是重要的。例如,如果用户已经下载作为“体育”类别(该类别可以通过各种手段(包括直接从各个平台商店)获得)的三个应用并且通过其鉴权,则后端服务可以通过在所安装的应用中显示与用户的兴趣有关的广告,确保采用了货币化sdk模块的设备上的所有应用可以受益于该数据。

在本发明的一个或多个实施方式中,货币化sdk模块可以:(i)使用对用户兴趣的实时洞察(real-timeinsights)以在移动设备上提供及时的广告;(ii)采用来自安装在同一设备上的其它应用的数据以用于标定;(iii)基于社交情景提供广告;和/或(iv)建立交叉应用广告系统。

如上所述,深层链接用于使得一个应用能够触发启动另一应用。在本发明的一个实施方式中,给定的应用可以与多个不同的深层链接关联,其中,每个深层链接将应用启动到不同的屏幕。货币化sdk模块实例可以使用应用对各个广告中的深层链接的1对多关系。例如,货币化sdk模块实例可以显示包括深层链接1的广告1以及包括深层链接2的广告2等,其中,每个广告启动同一应用。可以随机执行包括于给定的广告中的深层链接的选择。分析sdk模块实例(如下所述)于是可以用于跟踪例如用户对应用的使用。以此方式,货币化sdk模块实例提供用于执行a/b测试(或与a/b测试相似的测试)的机制,以确定所启动的应用上哪个屏幕带动了最多的应用使用等。

支付sdk模块

在本发明的一个或多个实施方式中,支付sdk模块实例支持应用内支付处理。例如,如果社交网络收集支付机制(例如信用卡)并且将其附连到用户的身份,则其可以提供可直接引导至购买的可操作的广告,全部在实现本地sdk平台实例或与本地sdk平台进行交互的应用内。

如果本地sdk平台对于第3方开发者提供用于支付的支付sdk模块实例,则开发者可以利用支付sdk模块实例以接收对他们自己的虚拟或真实货物的支付。

此外,移动用户的身份,与同样采用了本地sdk平台的用户移动设备上的应用相组合,可以提供关于购买意向的强信号。例如,如果用户在社交网络上搜索“giantshomeopener”,然后打开采用了本地sdk平台的门票应用,则该应用可以快速地获知用户“首要”购买门票以观看sfgiants,并且可以在应用的主页屏幕中呈现大的行动号召(cal-to-action),以购买这些门票。

通过支付sdk模块实例,后端服务或第3方服务可以利于用户之间的1:1或1对多支付。例如,如果用户通过应用为与朋友共进晚餐进行了预定,并且该应用利用了本地平台sdk,则支付sdk模块实例可以请求每一个朋友中在晚餐之后经由后端服务或第3方服务向该用户进行支付。

在本发明的一个或多个实施方式中,支付sdk模块可以:(i)使得能够在用户的社交图谱与他的支付机制之间进行映射;(ii)为用户无缝地进行购买,在用户已经通过应用进行鉴权之后,他无需录入信用卡信息以完成购买;以及(iii)与支付sdk模块结合,使用直接消息传送/私有消息传送型特征,促进社交网络的用户之间的私有交易。

分析sdk模块

分析sdk模块提供用于开发者检测他的应用以跟踪关于应用及其使用情况的各种信息的能力。分析sdk模块可以与身份sdk模块组合使用。例如,应用可以具有用户与之交互的账户,以用于消费者支持的目的。如果后端服务获知社交网络上的应用的账户(例如@mysuperapp)的身份,并且某天对该账户的提及急剧增加,则分析sdk模块实例可以将该数据与应用会话数据组合,以提醒开发者发生了一些事,会负面地或正面地影响他的应用。

分析sdk模块实例也可以用于鼓励开发者使用货币化产品。例如,如果应用(经由每个计算系统上所安装的分析sdk模块实例)在某天看见聚合4999个活跃会话,并且后端服务(使用关于各个所安装的分析sdk模块实例的信息)可以确定具有5000个会话的应用通常每天赚取$50(如果它们包括原生广告),则其可以对开发者提供该信息。开发者于是可以选择实现货币化sdk模块,以当该应用在此后短期内假设命中5000个用户时看得见这些益处。生成前述聚合信息所需的数据可以按每个计算系统由后端服务(或第3方服务)获得,然后使用后端服务或第3方服务进行聚合。

分析sdk模块也可以带动对身份sdk模块的使用。例如,当应用采用了身份sdk模块实例以使得用户能够登录时,分析sdk模块实例能够提供更好的洞察,而不仅仅是该应用在给定时间段期间看见的活跃用户的数量。例如,分析sdk模块实例能够基于所收集的数据并且采用身份sdk模块实例(其可以用于获得可以借其确定兴趣的用户资料)确证“你昨天看见对足球感兴趣的50个用户以及对篮球感兴趣的50个用户”,而不是仅告诉“你昨天有100个用户”。

分析sdk模块可以帮助开发者理解其它应用如何将用户引导到他们自身的应用。参考其他应用对于广告商或非广告商也是重要的。具体地说,使用深层链接(如上所述)可以用于确定哪些应用对其它应用是最佳引用者。

在本发明的一个或多个实施方式中,分析sdk模块可以:(i)使得能够跟踪用户在应用内部如何表现,其中,该信息可以与关于用户的其它数据组合,以通知开发者的产品开发流程;(ii)提供关于应如何基于从实现本地sdk平台的计算系统获得的信息执行给定类型的应用的基准;(iii)用于推动应用安装活动,其通过在相似应用中标定最活跃的用户而更加有效;(iv)用于当开发者的应用的执行情况发生正面或负面变化时通知开发者;以及(v)用于建立设备上引用跟踪网络,其中,引用跟踪网络跟踪哪些应用(经由,例如广告等)引用哪些其它应用。

无论正使用的平台如何,都可以在虚拟地任何类型的计算系统500上实现本发明实施方式。例如,计算系统500可以是一个或多个移动设备(例如笔记本计算机、智能电话、个人数字助理、平板计算机或其他移动设备)、台式计算机、服务器、服务器机架中的刀片服务器、或至少包括最小处理能力、存储器以及输入和输出设备以执行本发明一个或多个实施方式的任何其他类型的计算系统或设备。例如,如图5所示,计算系统500可以包括一个或多个计算机处理器502、关联存储器504(例如随机存取存储器(ram)、缓存存储器、闪存等)、一个或多个存储设备505(例如硬盘、光驱(例如压缩盘(cd)驱动器或数字多功能盘(dvd)驱动器)、闪存棒等)以及大量其它元件和功能。计算机处理器502可以是用于处理指令的集成电路。例如,计算机处理器可以是处理器的一个或多个内核或微内核。计算系统500可以还包括一个或多个输入设备510(例如触摸屏、键盘、鼠标、麦克风、触摸板、电子笔或任何其他类型的输入设备)。此外,计算系统500可以包括一个或多个输出设备508(例如屏幕(例如液晶显示器(lcd)、等离子体显示器、触摸屏、阴极射线管(crt)监视器、投影仪或其他显示设备)、打印机、外部存储件或任何其他输出设备)。输出设备中的一个或多个可以与输入设备相同或不同。计算系统500可以经由网络接口连接(未示出)连接到网络512(例如局域网(lan)、广域网(wan)(例如互联网)、移动网络或任何另外类型的网络)。输入和输出设备可以本地或远程地(例如经由网络512)连接到计算机处理器502、存储器504以及存储设备505。很多不同类型的计算系统存在,并且前述输入和输出设备可以采取其它形式。

用于执行本发明一个或多个实施方式的计算机可读程序代码的形式的软件指令可以整体地或部分地临时或永久存储在非易失性计算机可读介质(例如cd、dvd、存储设备、盘、带、闪存、物理存储器或任何另外计算机可读存储介质)上。具体地说,软件指令可以与当由处理器执行时被配置为执行本发明实施方式的计算机可读程序代码对应。

此外,前述计算系统500的一个或多个元件可以位于远程位置处,并且通过网络512连接到其它元件。此外,可以在具有多个节点的分布式系统上实现本发明实施方式,其中,本发明的每个部分可以位于分布式系统内的不同节点上。在本发明的一个或多个实施方式中,节点可以与不同的计算系统对应。可替代地,节点可以与具有关联物理存储器的计算机处理器对应。节点可以可替代地与具有共享存储器和/或资源的计算机处理器或计算机处理器的微内核对应。

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