发明内容
本发明实施例所要解决的技术问题是提供一种提供应用渠道包的方法,能够向第三方渠道提供可以识别渠道信息的安装包。
相应的,本发明实施例还提供了一种提供应用渠道包的装置,用以保证上述方法的实现及应用。
为了解决上述问题,本发明公开了一种提供应用渠道包的方法,包括:
获得应用安装包;
判断所述应用安装包是否接入用于读取尾数据的软件开发工具包SDK;
若是,则在接收到渠道方的下载请求时,获得根据所述应用安装包生成的与所述渠道方对应的应用渠道包,以供所述渠道方下载。
进一步,所述判断所述应用安装包是否接入用于读取尾数据的SDK,包括:
判断所述应用安装包的文件中是否记录有所述SDK的版本号;
若是,则确定所述应用安装包接入了所述SDK。
进一步,所述在接收到渠道方的下载请求时,获得根据所述应用安装包生成的与所述渠道方对应的应用渠道包,包括:
根据所述渠道方的下载请求获得所述渠道方的渠道信息;
向服务器发送所述渠道信息;
接收所述服务器发送的根据所述渠道信息及所述应用安装包生成的应用渠道包。
进一步,所述方法还包括:
接收所述服务器发送的根据所述渠道信息及所述应用安装包计算获得的所述应用渠道包的关联信息,所述关联信息包括以下至少一个:安装包长度、校验值、安装包名称、安装包对应的软件名称、安装包对应的软件的图片。
进一步,所述方法还包括:
接收所述渠道方发送的对所述应用渠道包的关联信息的请求;
向所述渠道方发送所述应用渠道包的关联信息。
本发明实施例还提供一种提供应用渠道包的装置,包括:
安装包获取单元,用于获得应用安装包;
判定单元,用于判断所述应用安装包是否接入用于读取尾数据的软件开发工具包SDK;
渠道包获取单元,用于当所述判定单元判定所述应用安装包接入了SDK,并在接收到渠道方的下载请求时,获得根据所述应用安装包生成的与所述渠道方对应的应用渠道包,以供所述渠道方下载。
进一步,所述判定单元,具体用于判断所述应用安装包的文件中是否记录有所述SDK的版本号;若是,则确定所述应用安装包接入了所述SDK。
进一步,所述渠道包获取单元包括:
信息获取子单元,用于根据所述渠道方的下载请求获得所述渠道方的渠道信息;
信息发送子单元,用于向服务器发送所述渠道信息;
接收子单元,用于接收所述服务器发送的根据所述渠道信息及所述应用安装包生成的应用渠道包。
进一步,所述装置还包括:
关联数据获取单元,用于接收所述服务器发送的根据所述渠道信息及所述应用安装包计算获得的所述应用渠道包的关联信息,所述关联信息包括以下至少一个:安装包长度、校验值、安装包名称、安装包对应的软件名称、安装包对应的软件的图片。
进一步,所述装置还包括:
请求接收单元,用于接收所述渠道方发送的对所述应用渠道包的关联信息的请求;
信息提供单元,用于向所述渠道方发送所述应用渠道包的关联信息。
与现有技术相比,本发明实施例包括以下优点:
本发明实施例通过获得接入了SDK的应用安装包,当接收到渠道方的请求时,可以根据该渠道方的渠道信息及应用安装包获得应用渠道包,由于该应用渠道包中的SDK可以读取出其中的渠道信息,从而可以实现向第三方渠道提供可以识别渠道信息的安装包,方便了将应用的推广。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明的一种提供应用渠道包的方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101,获得应用安装包。
本发明实施例中,提供应用渠道包的装置可以是具有自己的存储系统的独立系统,也可以是集成在现有的某一服务器中,例如内容分发网络(ContentDelivery Network,CDN)服务器等。
该提供应用渠道包的装置获得应用安装包的方法有多种。例如,应用开发商一般会将应用安装包预先存储在CDN服务器中,该装置可以通过linux的shell脚本将应用安装包从CDN服务器中下载下来,并对其解压,也可以是CDN服务器主动发送给该装置的。
步骤102,判断应用安装包是否接入用于读取尾数据的软件开发工具包SDK。
该装置获得应用安装包后,可以读取该应用安装包的解压文件,并进一步根据文件内容判断该应用安装包是否接入了可以读取文件尾数据的软件开发工具包(Software Development Kit,SDK)。
具体的,可以是判断应用安装包的文件中是否记录有SDK的版本号;例如查看文件中的记录项为VersionName的字段,若记录有版本号,则可确定该应用安装包接入了SDK。
该装置获得的应用安装包中可能部分或全部接入了SDK,应用开发商可以预先在应用安装包的源代码中接入SDK,SDK可以识别出应用安装包的结尾标识,并可以读取出位于该结尾标识后的数据。
若该装置判定应用安装包中接入了SDK,则执行步骤103,否则,按照现有处理流程可以直接提供应用安装包给渠道方或者用户下载。
步骤103,在接收到渠道方的下载请求时,获得根据应用安装包生成的与渠道方对应的应用渠道包,以供该渠道方下载。
当该装置接收到渠道方对该应用安装包对应的应用渠道包的下载请求时,该装置可以根据该请求获得渠道方的渠道信息,然后根据该渠道信息及应用安装包利用现有方法对应用安装包进行重新编译获得应用渠道包,也可以将该渠道信息的对应数据续接在应用安装包尾部生成应用渠道包。该装置还可以将渠道方的相关数据发送至其它服务器,例如CDN服务器,由其它服务器生成对应的应用渠道包后再返回给该装置,具体请参见后续实施例的描述。该应用渠道包可以利用其中的SDK读取其中的渠道数据,进而渠道信息,实现多渠道分发。
该装置可以提供数据读取接口作为网络服务,使渠道方等方面能够通过该接口获取本装置内的数据。当渠道方从该接口内申请读取的数据是接入了SDK的应用安装包时,该装置将实时获得该应用安装包对应的应用渠道包供渠道方下载。同时该装置还可以提供网页版信息,给渠道方或者用户直接使用,渠道方或者用户通过访问该网页,可以从网页中下载获得应用渠道包。
本发明实施例通过获得接入了SDK的应用安装包,当接收到渠道方的请求时,可以根据该渠道方的渠道信息及应用安装包获得应用渠道包,由于该应用渠道包中的SDK可以读取出其中的渠道信息,从而可以实现向第三方渠道提供可以识别渠道信息的安装包,方便了将应用的推广。
在本发明的另一实施例中,该装置获得应用渠道包的过程可以如图2所示,包括:
步骤201,根据渠道方的下载请求获得渠道方的渠道信息。
该提供应用渠道包的装置接收渠道方发送的下载应用渠道包的请求,该请求中包含该渠道方的渠道信息。
步骤202,向服务器发送该渠道信息。
该装置具体可以通过URL传参的方式将渠道信息传递到服务器中。本实施例中该服务器可以是CDN服务器。
服务器接收到渠道信息后,可以利用约定密钥对该渠道信息进行加密处理获得渠道数据,然后可以根据该渠道数据及应用安装包利用现有方法对应用安装包进行重新编译获得应用渠道包,也可以将该渠道数据续接在应用安装包尾部生成应用渠道包。
服务器生成应用渠道包后,发送给该提供应用渠道包的装置。
步骤203,接收服务器发送的根据该渠道信息及应用安装包生成的应用渠道包。
该装置接收到应用渠道包后,即可向渠道方提供该应用渠道包的下载。
另外,服务器在生成应用渠道包后,还可以进一步获得该应用渠道包的关联信息,例如安装包长度、校验值、安装包名称、安装包对应的软件名称、安装包对应的软件的图片等。
例如,服务器将应用安装包的长度与渠道数据的长度的和作为应用渠道包的安装包长度;计算应用安装包与渠道数据组合后的应用渠道包的MD5值作为应用渠道包的校验值等。
服务器可以连同应用渠道包一并将应用渠道包的关联信息发送至该提供应用渠道包的装置,也可以是在接收到该装置发送的获取该应用渠道包的关联信息时,再将所请求的关联信息发送至该装置。
步骤204,接收服务器发送的根据该渠道信息及应用安装包计算获得的应用渠道包的关联信息,该关联信息包括以下至少一个:安装包长度、校验值、安装包名称、安装包对应的软件名称、安装包对应的软件的图片。
该装置获得应用渠道包的关联信息后还可以执行以下步骤205~206。
步骤205,接收渠道方发送的对应用渠道包的关联信息的请求。
步骤206,向渠道方发送应用渠道包的关联信息。
在另一实施例中,上述方法步骤204~205之间的顺序可以根据需要调整,例如,可以是该装置首先执行步骤201~203,然后执行步骤205,在接收到渠道方对关联信息的请求后,向服务器发送获取关联信息的请求,然后执行步骤204,最后执行步骤206。
本实施例中,将生成渠道安装包的流程和存储都在服务器(如CDN)中完成,能够满足网络服务对效率的要求。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图3,示出了本发明一种提供应用渠道包的装置实施例的结构框图,具体可以包括如下单元:
安装包获取单元301,用于获得应用安装包。
判定单元302,用于判断所述应用安装包是否接入用于读取尾数据的软件开发工具包SDK。
渠道包获取单元303,用于当所述判定单元302判定所述应用安装包接入了SDK,并在接收到渠道方的下载请求时,获得根据所述应用安装包生成的与所述渠道方对应的应用渠道包,以供所述渠道方下载。
本发明实施例通过上述单元获得接入了SDK的应用安装包,当接收到渠道方的请求时,可以根据该渠道方的渠道信息及应用安装包获得应用渠道包,由于该应用渠道包中的SDK可以读取出其中的渠道信息,从而可以实现向第三方渠道提供可以识别渠道信息的安装包,方便了将应用的推广。
在本发明的另一实施例中,判定单元302,具体可以用于判断所述应用安装包的文件中是否记录有所述SDK的版本号;若是,则确定所述应用安装包接入了所述SDK。
在本发明的另一实施例中,如图4所示,渠道包获取单元303可以进一步包括:
信息获取子单元401,用于根据所述渠道方的下载请求获得所述渠道方的渠道信息。
信息发送子单元402,用于向服务器发送所述渠道信息。
接收子单元403,用于接收所述服务器发送的根据所述渠道信息及所述应用安装包生成的应用渠道包。
如图5所示为本发明实施例另一种提供应用渠道包的装置结构示意图,该装置除了可以包括安装包获取单元301,判定单元302,渠道包获取单元303之外,还可以包括:
关联数据获取单元501,用于接收所述服务器发送的根据所述渠道信息及所述应用安装包计算获得的所述应用渠道包的关联信息,所述关联信息包括以下至少一个:安装包长度、校验值、安装包名称、安装包对应的软件名称、安装包对应的软件的图片。
请求接收单元502,用于接收所述渠道方发送的对所述应用渠道包的关联信息的请求;
信息提供单元503,用于向所述渠道方发送所述应用渠道包的关联信息。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种提供应用渠道包的方法和一种提供应用渠道包的装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。