本申请涉及一种游戏领域。具体地,本申请涉及一种游戏中的信息交互方法、装置以及系统。
背景技术:
在现有技术中,经常需要在应用软件中实现信息的发布和推送。例如,通过在游戏中接入推送或发布信息的SDK或者自己实现一个信息发布系统,即可在此游戏中,发布有关其他游戏的信息,从而达到为其他游戏引入新用户的目的。
信息的推送和发布在移动游戏中,尤其是单机游戏,被广泛使用。现有的信息推送和发布的方式主要有三种。
第一种是游戏直接在自己游戏中编码,安置其他游戏的Icon以及下载链接,点击Icon,就会跳转到对应游戏的下载处。
第二种是通过接入积分墙SDK,在自己游戏中作为额外奖励,推送和发布信息以便引导玩家去下载其他游戏,并达到一定等级。其他游戏也接入配套的SDK,并在对应的等级或者游戏进程出写代码埋点,玩家过了这个进度,便进行上报,从而达到为其他游戏引入新用户的目的。
第三种是接入推送或发布信息的SDK,在游戏中让玩家观看推送或发布的信息,并提供对应的下载链接给玩家。
以上几种技术方案,都有一个共同的缺点,即这些推送和发布信息的方式都采用玩家被动接受内容的形式。而这种形式引导进入新游戏的玩家,往往质量不高。因为如果是第一种Icon引导进去的玩家,其实这些玩家对于游戏本身是一无所知的,有可能下下来的游戏和自己对Icon的理解完全不一样。
第二种方式引导进入的玩家,也仅仅是为了获得当前玩的游戏设计的奖励,而去下载其他游戏,所以对于被推广的游戏没有忠诚度。
第三种方式对于其他游戏的认识源于推送和发布的信息,该信息是否原汁原味地体现了其他游戏内容,会极大程度上影响玩家对于其他游戏的认知,所以进入新游戏的玩家素质差距较大。
技术实现要素:
本申请的实施例提供了一种游戏中的信息交互方法、装置以及系统,从而解决了背景技术中存在的上述问题。
根据本申请实施例的一个方面,提供一种游戏中的信息交互方法,包括:接收第一游戏客户端通过内置于所述第一游戏客户端中的库的接口所发送的第一请求,其中,所述第一请求为第一用户在第一游戏运行过程中使用第一游戏客户端所发出的信息获取请求,用于获取其他用户发布的信息;判断所述第一请求是否为共通信息获取请求,如果是共通信息获取请求,则将所述第一请求转发至第一服务器;接收所述第一服务器根据所述第一请求所反馈的一项或多项第一发布信息;以及将所述第一发布信息转发至所述第一游戏客户端。
根据本申请实施例的又一个方面,提供一种游戏中的信息交互装置,其特征在于,包括:客户请求接收模块,用于接收第一游戏客户端通过内置于所述第一游戏客户端中的库的接口所发送的第一请求,其中,所述第一请求为第一用户在第一游戏运行过程中使用第一游戏客户端所发出的信息获取请求,用于获取其他用户发布的信息;客户请求转发模块,用于判断所述第一请求是否为共通信息获取请求,如果是共通信息获取请求,则将所述第一请求转发至第一服务器;服务器发布信息接收模块,用于接收所述第一服务器根据所述第一请求所反馈的一项或多项第一发布信息;以及发布信息转发模块,用于将所述第一发布信息转发至所述第一游戏客户端。
根据本申请实施例的又一个方面,提供一种游戏中的信息交互系统,包括:至少一个游戏客户端,所述游戏客户端内置用于实现交互功能的库,通过所述库的接口与本地服务器进行信息交互;本地服务器,与第一服务器和所述游戏客户端相连接,用于,转发所述游戏客户端的第一请求和/或第一发布信息,所述第一请求用于获取其他用户发布的信息,所述第一发布信息至少包括:第一发布信息所属第二游戏的标识;第一服务器,与所述本地服务器相连接,用于响应所述本地服务器转发的第一请求,存储用户通过所述游戏客户端发布的共通第一发布信息。
综上所述,本申请提供了一种优于传统基于内容的信息发布方式,而改为基于UGC(用户生成内容)的信息发布方式,从而改善了信息发布的效果。并且通过云架构服务器与客户端SDK使开发者的接入工作达到了最简化。且为开发者提供了完善的基于web的配套工具性解决方案,极大地丰富了开发者的推广分析手段。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了根据本申请的实施例1游戏中的信息交互方法的流程图;
图2示出了根据本申请实施例2的游戏中的信息交互装置;
图3示出了根据本申请实施例3的游戏中的信息交互系统的示意图;
图4示出了根据本申请实施例4的游戏中的信息交互系统的示意图;
图5示出了根据本申请实施例4的运行游戏客户端的移动终端的示意图;
图6示出了根据本申请实施例4的向世界讨论区发布信息的方法的流程图;
图7中示出了根据实施例4的从世界讨论区查看信息的方法的流程图;
图8示出了根据实施例4的集群服务器和缓存器的示意图;
图9示出了根据实施例4的集群服务器的操作流程图;
图10示出了本申请是实例4的发布信息的示例性示意图;以及
图11示出了根据本申请的实施例4的信息交互的统计流程的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块或单元。
实施例1
附图1示出了根据本申请的实施例1的游戏中的信息交互方法的流程图。如附图1所示,所述方法包括:
S102:接收第一游戏客户端通过内置于所述第一游戏客户端中的库的接口所发送的第一请求,其中,所述第一请求为第一用户在第一游戏运行过程中使用第一游戏客户端所发出的信息获取请求,用于获取其他用户发布的信息;
S104:判断所述第一请求是否为共通信息获取请求,如果是共通信息获取请求,则将所述第一请求转发至第一服务器;
S106:接收所述第一服务器根据所述第一请求所反馈的一项或多项第一发布信息;以及
S108:将所述第一发布信息转发至所述第一游戏客户端。
根据实施例1的方法,可以根据来自第一游戏客户端的信息获取请求来获取从第一服务器获取第一发布信息。从而实现在第一游戏的运行过程中,可以通过该方法获取存储在第一服务器中的,与其他各种游戏相关的信息,即共通信息。从而,通过这样的方式有利于实现来自各个不同游戏玩家的信息的发布和交流。尤其是,这样的信息交互方法可用于实现由与第一游戏客户端交互的本地社区服务器与存储关于各种游戏的发布信息的世界服务器(对应于权利要求1所述的第一服务器)这样一种信息交互系统。从而第一游戏客户端可以通过发送共通信息获取请求来获取关于各种不同游戏的发布信息。此外,由于第一游戏客户端通过内置于第一游戏客户端中的接口发送第一请求,从而通过使用内置于游戏中的库,使开发者的接入工作达到了最简化。
将所述第一请求转发至第一服务器,包括:判断本地缓存中是否保存有与所述第一请求相对应的一项或多项第一发布信息;如确定所述本地缓存中没有所述第一发布信息,则将所述第一请求转发至所述第一服务器;如确定所述本地缓存中有所述第一发布信息,则判断所述第一发布信息是否过期;如所述第一发布信息没有过期,则直接从缓存中获取所述第一发布信息;如所述第一发布信息已过期,则将所述第一请求转发至所述第一服务器。通过这样的方式,在接收到第一请求时,先判断本地缓存是否保存第一发布信息。这样可以避免频繁访问第一服务器区获取第一发布信息,从而可以最大限度提升第一游戏客户端获得信息的效率并减小单点瓶颈。此外,应当说明的是,该方式并不是实现本实施例的目的所必需的方式,其仅在实现本实施例的的基础上,进一步提升第一游戏客户端获得信息的效率并减小单点瓶颈。
可选地,接收所述第一服务器根据所述第一请求所反馈的一项或多项第一发布信息之后,还包括将接收到的所述第一发布信息保存在本地缓存中。从而通过这种方式,在下一次从所述第一游戏客户端接收到新的共通信息获取请求时,则可以将保存在本地缓存中的第一发布信息直接转发给第一游戏客户端,这样可以避免频繁访问第一服务器区获取第一发布信息,从而可以最大限度提升第一游戏客户端获得信息的效率并减小单点瓶颈。
可选地,在接收第一游戏客户端通过内置于所述第一游戏客户端中的库的接口所发送的第一请求之前,还包括:接收第二游戏客户端通过内置于所述第二游戏客户端中的库的接口所发送的所述第一发布信息;以及判断所述第一发布信息是否为共通信息,如果是共通信息,则将所述第一发布信息转发至第一服务器,其中所述第一服务器用于存储所述第一发布信息。通过这样的方式,可以根据来自第二游戏客户端的请求,将共通信息发布到第一服务器,从而使得其他不同的游戏客户端(例如第一游戏客户端)可以从所述第一服务器浏览到该信息。因此,一方面,可以将关于游戏的信息发布到第一服务器,供不同应用的玩家下载和查看,从而改善了信息发布的效果。另一方面,通过采用本地服务器和第一服务器互通的架构方式,能够实现分布式的云社区,从而有利于服务器的扩展。但是需要说明的是,该方式并不是实现本实施例所必需的,因此以任何方式存储在所述第一服务器上的信息都可以通过本实施例的方式进行获取。
可选地,将所述第一发布信息转发至第一服务器之前,还包括:对所述第一发布信息进行审核,如果包含非法内容则对所述第一发布信息进行过滤处理。通过这样的方式,使得仅仅高质量的信息才能在第一服务器发布,从而保证了发布信息的合法性和质量。
可选地,第一发布信息至少包括:第一发布消息所属第二游戏的标识,所述第一发布消息所属第二游戏的标识用于当所述第一游戏客户端接收用户的点击操作时,将当前界面跳转至所述第一发布消息所属第二游戏的下载界面。从而,通过该方法可以使得浏览第一发布信息的玩家(例如第一游戏客户端的用户)在查看第一发布信息的时候能够下载该第二游戏,从而改善了信息发布的效果。
可选地,将所述第一发布信息转发至所述第一游戏客户端之后,还包括:接收第一游戏客户端通过所述库的接口发送的第一触发信息,所述第一触发信息为所述第一用户通过所述第一游戏客户端点击所述第一发布消息所属第二游戏的标识所生成的信息,所述第一触发信息至少包括:第一用户的标识符;以及将所述第一触发信息转发至第二服务器,所述第二服务器用于根据接收到的所述第一用户的标识符与接收到的所述第一用户下载并通过所述第二游戏的客户端登陆第二游戏后生成的标识符的匹配率来计算推广成功率。通过这种方式,能够有效统计与游戏的发布相关的统计数据。从而不需要开发者做额外的埋点,方便统计转化率和渗透率等统计数据,以及追溯转化是来自哪个游戏,比例是多少等。
实施例2
附图2示出了根据本申请实施例2的游戏中的信息交互装置200,参考附图2所示,所述信息交互装置200包括:
客户请求接收模块201,用于接收第一游戏客户端通过内置于所述第一游戏客户端中的库的接口所发送的第一请求,其中,所述第一请求为第一用户在第一游戏运行过程中使用第一游戏客户端所发出的信息获取请求,用于获取其他用户发布的信息;
客户请求转发模块202,用于判断所述第一请求是否为共通信息获取请求,如果是共通信息获取请求,则将所述第一请求转发至第一服务器;
服务器发布信息接收模块203,用于接收所述第一服务器根据所述第一请求所反馈的一项或多项第一发布信息;以及
发布信息转发模块204,用于将所述第一发布信息转发至所述第一游戏客户端。
参考实施例1的意见陈述,本实施例可以根据来自第一游戏客户端的信息获取请求来获取从第一服务器获取第一发布信息。从而实现在第一游戏的运行过程中,可以通过该方法获取存储在第一服务器中的,与其他各种游戏相关的信息,即共通信息。从而,通过这样的方式有利于实现来自各个不同游戏玩家的信息的发布和交流。尤其是,这样的信息交互方法可用于实现由与第一游戏客户端交互的本地社区服务器与存储关于各种游戏的发布信息的世界服务器(对应于权利要求2所述的第一服务器)这样一种信息交互系统。从而第一游戏客户端可以通过发送共通信息获取请求来获取关于各种不同游戏的发布信息。此外,由于第一游戏客户端通过内置于第一游戏客户端中的接口发送第一请求,从而通过使用内置于游戏中的库,使开发者的接入工作达到了最简化。
可选地,所述客户请求转发模块包括:缓存检测单元,用于判断本地缓存中是否保存有与所述第一请求相对应的一项或多项第一发布信息;发布信息处理单元,用于在确定所述本地缓存中没有所述第一发布信息时,将所述第一请求转发至所述第一服务器;用于在确定所述本地缓存中有所述第一发布信息时,判断所述第一发布信息是否过期;以及过期处理单元,用于在所述发布信息处理单元确定所述第一发布信息没有过期时,直接从缓存中获取所述第一发布信息;在所述发布信息处理单元确定所述第一发布信息已过期时,将所述第一请求转发至所述第一服务器。
可选地,还包括发布信息存储模块,用于将接收到的所述第一发布信息保存在本地缓存中。
可选地,还包括客户发布信息接收模块,用于在接收第一游戏客户端通过内置于所述第一游戏客户端中的库的接口所发送的第一请求之前,接收第二游戏客户端通过内置于所述第二游戏客户端中的库的接口所发送的所述第一发布信息:以及共通信息转发装置,用于判断所述第一发布信息是否为共通信息,如果判断是共通信息,则将所述第一发布信息转发至第一服务器,其中所述第一服务器用于存储所述第一发布信息。
可选地,还包括内容过滤模块,用于在所述第一发布信息转发至第一服务器之前,对所述第一发布信息进行审核,如果包含非法内容则对所述第一发布信息进行过滤处理。
可选地,第一发布信息至少包括:第一发布消息所属第二游戏的标识,所述第一发布消息所属第二游戏的标识用于当所述第一游戏客户端接收用户的点击操作时,将当前界面跳转至所述第一发布消息所属第二游戏的下载界面。以及所述信息交互装置还包括:触发信息接收模块,用于接收第一游戏客户端通过所述库的接口发送的第一触发信息,所述第一触发信息为所述第一用户通过所述第一游戏客户端点击所述第一发布消息所属第二游戏的标识所生成的信息,所述第一触发信息至少包括:第一用户的标识符;以及触发信息转发模块,用于将所述第一触发信息转发至第二服务器,所述第二服务器用于根据接收到的所述第一用户的标识符与接收到的所述第一用户下载并通过所述第二游戏的客户端登陆第二游戏后生成的标识符的匹配率来计算推广成功率。
实施例3
图3示出了根据本申请实施例3的游戏中的信息交互系统300示意图,如附图3所示,所述系统300包括:
至少一个游戏客户端301和302,所述游戏客户端内置用于实现交互功能的库,通过所述库的接口与本地服务器进行信息交互;
本地服务器3111和3112,与第一服务器320和所述游戏客户端301和302相连接,用于向第一服务器320转发所述游戏客户端301和302的第一请求和/或向游戏客户端301和302转发存储在第一服务器320的第一发布信息,所述第一请求用于获取其他用户发布的信息,所述第一发布信息至少包括:第一发布信息所属第二游戏的标识;
第一服务器320,与所述本地服务器3111和3112相连接,用于响应所述本地服务器转发的第一请求,存储用户通过所述游戏客户端301和302发布的共通第一发布信息。
通过上述的游戏中信息交互系统,游戏客户端301和302可以通过本地服务器3111和3112,将第一发布信息存储至第一服务器320,并且可以通过所述本地服务器3111和3112从所述第一服务器320获取公共第一发布信息,从而实现游戏客户端之间的信息交互。并且由于从客户端发布的第一发布信息至少包括第一发布信息所述第二游戏的标识,所以可以使所述游戏客户端的玩家能够获得关于第二游戏的信息。有利于关于第二游戏的信息发布。
可选地,还包括第二服务器330,与所述本地服务器3111和3112相连接,用于根据接收到的第一用户的标识符与接收到的所述第一用户下载并通过所述第二游戏的客户端登陆第二游戏后生成的标识符的匹配率来计算推广成功率,其中,所述第一用户的标识符通过第一用户点击所述第一发布信息所属第二游戏的标识时生成。
通过这种方式,能够有效统计与游戏的发布相关的统计数据。从而不需要开发者做额外的埋点,方便统计转化率和渗透率等统计数据,以及追溯转化是来自哪个游戏,比例是多少等。
实施例4
下面参照具体的实施例4对本申请的技术方案进行详细说明。但是实施例4可以与前面的实施例1至3在没有相反启示情况下,进行结合和参考。
为了便于理解实施例4的内容,实施例4部分分为以下几个部分进行介绍:
(一)信息交互系统的构成
(二)运行游戏客户端的移动终端
(三)通过游戏客户端SDK向世界讨论区发布信息以及获取信息
(四)关于集群服务器和缓存器
(五)发布信息示例
(六)信息交互的统计
(一)信息交互系统的构成
图4示出了根据实施例4的信息交互的系统的示意图。如图4所示,实施例4所述的信息交互系统包括:移动终端401至404、游戏社区服务器4111至4132、世界服务器420、统计服务器431和432、开发者管理服务器441和442。其中游戏社区服务器4111至4132分别分布至第1至第3社区集群411至413,统计服务器431和432设置在统计集群430中以及开发者管理服务器441和442分布在开发者管理集群440中。
如图4所示,运行不同游戏客户端的移动终端401至404分别与不同的游戏社区服务器4111至4132通信连接,并且所述不同的社区服务器4111至4132均与世界服务器420和统计服务器431和432通信连接。此外,尽管图中未示出,所述移动终端401至404也均与统计服务器431和432通信连接,下文中将对此进行详细描述。
其中,移动终端401和移动终端402上运行第一游戏的第一客户端;移动终端403上运行与第一游戏不同的第二游戏的第二客户端;移动终端404运行与其他游戏均不同的第三游戏的第三客户端。
进一步的,第一社区集群411中的第一社区服务器4111和4112上运行与第一游戏关联的第一社区;第二社区集群412的第二社区服务器4121和4122上运行与第二游戏关联的第二社区;第三社区集群413的第三社区服务器4131和4132上运行与第三游戏关联的第三社区。其中每一个社区的社区服务器可以采用云架构实现,从而方便开发者的接入,方便扩展。需要注意的是,尽管图4中将相同游戏对应的社区服务器布置在同一个社区集群中,但这只是为了便于说明的目的而示出的。实际上,与相同游戏对应的社区服务器可以分别位于不同的社区集群中,并且也可以将与多个不同游戏对应的社区服务器或全部社区服务器设置在同一个社区集群中。例如,第一社区服务器4111和4112以及第二社区服务器4121和4122均可设置在第一社区集群中,以此类推。此外,也可以在一个社区服务器上运行两个或更多社区,只要符合本实施例的构思即可。
进一步的,世界服务器420上运行有一个与各个不同游戏社区全接入共通的世界讨论区。每一个社区服务器4111至4132可以与世界服务器420通信连接,从而游戏玩家可以分别通过社区服务器4111至4132上运行的第一社区至第三社区向世界讨论区发布信息或通过第一社区至第三社区从世界讨论区查看信息。其中,可选地,世界服务器420是云架构中的一个集群共通服务器。由于世界服务器420提供服务器端的基本服务,因此即便社区服务器4111至4132在不同的集群中,用户也可以分别通过第一社区至第三社区访问到世界讨论区。
进一步,如图4所示,所述交互系统400中还配置有统计服务器431和432。所述社区服务器4111至4132可与所述统计服务器431和432进行通信连接,并且所述移动终端401至404也可以与所述的统计服务器431和432进行通信连接。从而所述统计服务器431和432可以通过从所述社区服务器和所述移动终端上运行的客户端收集数据,以便对系统中的信息交互进行统计。并且,所述统计服务器431和432可以与开发者管理服务器441和442进行通信连接,以便将统计的数据提供给开发者450。相关的具体过程将在后面详细描述。
下面,分别介绍所述交互系统中的各个组成部分以及各个交互过程。
(二)运行游戏客户端的移动终端
图5以移动终端401为例示出了本实施例运行游戏客户端的移动终端,其他移动终端402至404可以参考移动终端401的描述,这里不再赘述。
如图5所示,移动终端401上设置有第一游戏的第一客户端500,并且所述第一客户端500内设置有用于访问第一社区的库。该库的实现方式不受限制,例如其可以作为静态库(例如SDK)的方式实现,也可以是嵌入在第一客户端500中的程序,或者由动态链接库实现。为了便于说明,下面以第一客户端SDK 510作为例子说明所述库。即,如附图10所示,所述第一客户端500内设置有第一客户端SDK 510。需要说明的是,尽管在本部分中只介绍与第一游戏相关的第一客户端,但是与其他游戏相关的游戏客户端也可以参照第一客户端的描述。并且移动终端401上也可以设置有多个游戏的多个客户端,这里不再一一赘述。
如图5所示,第一客户端500内置有第一客户端SDK 510,并通过第一客户端SDK510访问与第一客户端500相关的第一社区。
可选地,所述第一客户端SDK 510可以在IOS系统上采用Object C实现,或在Android系统上采用Java实现。这两种语言均为其操作系统原生语言,因此可以保证极少的资源占用与第三方工具依赖,对操作系统兼容性最高。除此以外,所述第一客户端SDK 510还可针对不同引擎进行引擎层的封装,完全屏蔽了底层不同系统的细节,因为移动游戏发布一般来说是IOS和Android双平台都有,所以通过此引擎适配层使之不用关心平台细节而可以自动打包出正确的社区版本到游戏中。
因此,移动终端401的用户通过第一游戏客户端500启动所述的第一客户端SDK510,并且通过第一客户端SDK 510即可以访问上面所述的世界讨论区。
如附图5所示,所述第一客户端SDK 510中包括有信息发布接口511、信息请求接口512、登录接口513、用户交互接口514和标识上报接口515。
信息发布接口511用于在社区中发布信息,用户可以通过该信息发布接口511向与第一游戏关联的第一社区或世界讨论区发布信息。可选地,在世界讨论区中,会有很严格的发帖限制,以保证世界讨论区中只能发布高质量的信息。从而,这些高质量的信息往往可以更好的描述和说明所述信息发布者正在玩的游戏。
信息请求接口512用于请求查看在社区中发布的信息,从而用户可以通过该信息请求接口512请求查看所述第一社区或世界讨论区中发布的信息。
登录接口513用于实现对所述第一社区的登录操作。
用户交互接口514用于实现与第一游戏的用户的交互,例如将从第一社区服务器传输的信息展示给第一游戏的用户,或者接收第一游戏的用户输入的信息和操作。这里用户输入的信息可以是要在论坛发布的关于第一游戏的信息,例如对第一游戏的评价和观感、在游戏过程中遇到的有趣的情景、游戏的通关技巧以及要向其他玩家请教的问题,等等。例如,参考图10中示出的游戏用户发布的信息。
标识上报接口515用于上报移动终端401的标识,例如该用户移动终端的IDFA(广告标识符)、移动设备的序列号、以及用于安卓或IOS系统的其标识符等
因此通过以上社区服务器4111至4132与世界服务器420,就可以实现在不同游戏的用户之间实现信息的共享和公布。由于不同的游戏社区是分别与不同的游戏关联的,因此通常第一游戏的用户只能在第一社区中看到与第一游戏相关的信息,而不能看到其他游戏的用户在其他社区(例如第一和第三社区)中发布的信息。
但是通过设置世界服务器420,可以实现与各个游戏社区连通的世界讨论区。不同游戏的用户可以通过各个社区服务器4111至4132将信息发布和/或存储在世界讨论区中,并且也可以通过各个社区服务器4111至4132查看世界讨论区中发布和/或存储的信息。
从而,通过这样的方式,一个游戏的用户可以查看到其他游戏的用户发布的信息,从而了解和知晓关于其他游戏的信息。通过这种方式,一个游戏的用户也可以在游戏运行中将自己的信息发布到世界讨论区,以供其他游戏的玩家观看,这样可以使更多其他游戏的玩家关注该游戏。
下面将详细介绍通过游戏客户端SDK向世界讨论区发布以及或发布信息的流程。
(三)通过游戏客户端SDK向世界讨论区发布信息以及获取发布信息
附图6中示出了根据本实施例向世界讨论区发布信息的方法的流程图。虽然附图6中的方法流程图是以移动终端401为例进行说明,但是对于其他的移动终端,附图6中的方法也同样适用。
如附图6所示,在步骤S601,移动终端401上的第一客户端500调用第一客户端SDK 510,从而进入第一社区的功能。
在步骤S602,在进入第一社区后,第一游戏的用户向世界讨论区发布信息(例如发帖),第一客户端SDK 510先通过用户交互接口514接收第一游戏的用户输入的内容,然后第一客户端SDK 510响应于根据该用户的指令,通过信息发布接口511向第一社区集群的第一社区服务器4111和/或4112发送该信息,并提出向世界讨论区发布信息的请求。信息发布接口511向第一社区服务器所发送的信息不仅包括用户输入的内容,还包括与第一游戏相关的游戏信息(对应于权利要求中所述的“第一发布消息所属第二游戏的标识”)。所述游戏信息可以是第一游戏的图标、游戏名以及用于获取第一游戏的信息(例如,关于第一游戏的下载链接、用于获取第一游戏的说明等等)。因此,当其他游戏的用户在游戏中通过社区服务器查看到与第一游戏相关的游戏信息时,通过点击所述游戏信息,可以将当前界面跳转至所述第一游戏的下载界面的。并且,当与第一游戏相关的游戏信息被点击时,如后文所述,将通过客户端SDK的表示上报接口来上报用于识别点击该游戏信息的用户的标识,例如该用户移动终端的IDFA(广告标识符)、移动设备的序列号、以及用于安卓或IOS系统的其标识符等。
在步骤S603,第一社区集群的第一社区服务器4111和/或4112收到该信息和请求后,首先对待发布的信息进行合法性检查。如果发现该信息具有违法内容,则不对该信息进行发布或转发至世界服务器420。
在步骤S604,当第一社区服务器4111和/或4112在步骤S603判定该信息内容合法,并且发现该信息是向世界讨论区发布时,将该信息转发至世界服务器420。
在步骤S605,世界服务器420对该信息进行发布可能性检查,判定该信息是否属于高质量的信息。
在步骤S606,当世界服务器420判定该信息的质量满足发布的要求时,将该信息保存到世界讨论区。
在步骤S607,世界服务器420向第一社区服务器4111和/或4112返回发布成功的消息。
在步骤S608,第一社区服务器4111和/或4112在收到世界服务器420返回的消息后,向第一客户端SDK 510返回发布成功的消息。
从而,完成了向世界区发布信息的流程。下面介绍如何通过客户端SDK获取世界讨论区的信息。
附图7中示出了通过客户端SDK从世界讨论区查看信息的方法的流程图。虽然附图7中的方法流程图是以移动终端401为例进行说明,但是对于其他的移动终端,附图7中的方法也同样适用。
如附图7所示,在步骤S701,移动终端401上的第一客户端500启动第一客户端SDK 510,从而进入第一社区。
在步骤S702,在进入第一社区后,第一客户端SDK 510根据第一游戏的用户的指令,通过信息请求接口512向第一社区服务器4111和/或4112发出请求拉取世界讨论区的发布信息的请求。
在步骤S703,第一社区服务器4111和/或4112在收到该请求后,在判断该请求为请求获取世界服务器的发布信息(即权利要求中所述的共通信息)时,将该请求转发至世界服务器420。
在步骤S704,世界服务器420在收到来自第一社区服务器4111和/或4112的该请求后,组织要传输的保存在世界讨论区的信息(例如,保存在世界讨论区的帖子)。
在步骤S705,世界服务器420将世界讨论区的发布信息传输至第一社区服务器4111和/或4112,供第一游戏的用户查看。
在步骤S706,第一社区服务器4111和/或4112在接收到世界服务器420传输的发布信息后,将其传输给第一客户端SDK 510,以便通过第一客户端SDK 510的用户交互接口展示给第一游戏的用户。
通过附图5和附图6的示例,可以看出在本申请中,游戏用户对社区以及世界讨论区的访问,无论是发布信息还是查看信息,都是通过内置于游戏中的客户端SDK实现的。游戏用户只需要输入要发布的内容,或者通过点击等方式产生触发操作,后续工作都通过内置于游戏中的客户端SDK来完成。因此,游戏的开发者也仅需要调用所述客户端SDK的打开功能,后续的所有交互都由所述客户端SDK来接管,因此游戏的开放方也不需要额外的代码就可以利用本申请的信息交互的功能。
(四)关于集群服务器和缓存器
此外,优选地,每个社区集群中还可以设置有缓存器4113和集群服务器4110,用于提高向游戏客户端转发世界讨论区的发布信息的效率,以及从最大限度提升集群效率和减少单点瓶颈。
下面,参考附图8和附图9所示,以第一社区集群411为例,继续说明本实施例。
如附图8所示,在本实施例中,在每个社区集群中设置有缓存器4113和集群服务器4110从而实现针对世界讨论区的缓存服务。其中所述集群服务器4110会主动连接世界服务器420,还可以具有简单的内容合法性校验逻辑,用于在游戏客户端的用户发帖时,在社区集群内就阻止或处理掉非法内容的发布。
如附图9所示,当游戏客户端的用户想要获取世界讨论区的帖子列表或帖子内容时从而发出请求时,集群服务器4110会收到第一社区服务器4111和/或4112的有关从世界讨论区拉取发布信息的请求(S602),即参见附图7中,当第一社区服务器4111和/或4112向世界讨论区转发拉取发布信息的请求时(参见附图7步骤S703),会将该请求先发送至集群服务器4110。
然后集群服务器4110会先检测是否在本社区集群的缓存器4113内也有用户想要获取的世界讨论区所存储的发布信息(S604),以及该发布信息是否已经过期(S606)。如果有发布信息且发布信息没有达到过期的时间,则直接将该内容返回给第一社区服务器4111和/或4112,并由第一社区服务器4111和/或4112返回给用户(S608),这样就无需将用户的请求转发到世界讨论区;如果没有该发布信息或者该发布信息已经达到过期的时间,则由所述集群服务器4110向世界讨论区发起请求(S610),接收从世界讨论区返回的内容(S612)并将世界讨论区返回的内容缓存到缓存器4113中(S614),然后进一步将内容返回给所述第一社区服务器4111和/或4112,并由社区服务器4111和/或4112返回给用户(S608)。
此外,也可省略所述集群服务器4110,而由所述社区服务器4111和/或4112直接与所述世界服务器420和所述缓存器4113通信连接,并完成所述集群服务器4110的上述操作。即,当所述第一社区服务器4111和/或4112从第一客户端SDK 510收到从世界讨论区拉取公布信息的请求时,由所述第一社区服务器4111和/或4112检测是否在本社区集群的缓存器4113内也有用户想要获取的世界讨论区所存储的发布信息,以及该发布信息是否已经过期。如果有发布信息且发布信息没有达到过期的时间,则直接将该内容返回给第一客户单。如果没有该发布信息或者该发布信息已经达到过期的时间,则由所述第一社区服务器4111和/或4112向世界讨论区发起请求,接收从世界讨论区返回的发布信息并将世界讨论区返回的发布信息缓存到缓存器4113中,然后进一步将内容返回给所述第一客户端SDK 510。
(五)发布信息示例
下面参考附图10,具体说明本实施例中在世界讨论区420或第一社区至第三社区等各个社区发布的信息。如附图10所示,游戏“毛和老鼠”的用户“Kyara”发布的信息包括“Kyara”输入的信息“一不小心抽到了很多不想要的老鼠,纠结啊”以及与游戏相关的信息(即游戏的名称以及图标,对应于权利要求中的第一发布信息所属第二游戏的标识)。其中,所述游戏名称“猫和老鼠”以及游戏的图标是由内置于该游戏中的客户端SDK所提供的接口,响应于用户“Kyara”发布信息的触发操作而提供的。
通过这样的方式,不同游戏的用户看到用户“Kyara”发布的信息时,如果对信息的内容感兴趣,可以通过游戏的名称“猫和老鼠”和游戏的图标来知晓该游戏。
可选地,该游戏的名称和/或图标与获取该游戏的URL地址相关联,从而看到该信息的用户可以通过点击该游戏的名称和/或图标,从而下载到该游戏。
进一步可选地,当不同游戏的用户点击该游戏的名称和/或图标时,通过该游戏用户所玩的游戏客户端内打包的客户端SDK所提供的接口,将用于识别该游戏用户的标识上报。例如该用户移动终端的IDFA(广告标识符)、移动设备的序列号、以及用于安卓或IOS系统的其标识符等。
(六)关于信息交互的统计
下面参考附图4、5和附图11,具体说明本实施例中关于信息交互的统计的过程。即,涉及游戏客户端、社区服务器、统计服务器以及开发者管理服务器
附图11示出了该系统的工作流程图。
如附图11所示,首先当移动终端401上运行第一游戏的第一客户端500时,移动终端401的用户通过第一客户端内置的第一客户端SDK 510提供的用户交互接口514浏览从世界讨论区返回的关于第二游戏的发布信息(例如附图10中所示的关于游戏“猫和老鼠”的信息)。然后移动终端401的用户点击其中关于第二游戏的游戏信息(S1102,例如点击附图10中所示的游戏名称以及游戏图标)。随后通过第一客户端500的第一客户端SDK 510提供的标识上报接口515,将用于识别该用户的标识(例如移动终端401的IDFA)上报至统计第一社区服务器4111和/或4112(S1104)。第一社区服务器4111和/或4112将移动终端401的IDFA上报至统计服务器431和/或432(S1106),并且随后统计服务器431和/或432记录移动终端401的IDFA(S1108)。
并且,终端401的用户下载第二游戏的客户端后,登录第二游戏(S1110),然后内置于第二游戏客户端的客户端SDK将用于识别该用户的标识(例如同样是移动终端401的IDFA)上报至统计服务器431和/或432(S1112)。然后统计服务器431和/或432将步骤1104上报的IDFA和步骤1112上报的IDFA进行匹配,根据匹配结果更新关于第二游戏的统计数据(例如渗透率、转化率等)。例如在本实施例中,由于在步骤S1104和步骤S1112中都是由同一用户的移动终端401返回的IDFA,因此步骤S1104和步骤S1112返回的IDFA应当是一致的,所以会匹配成功。但有时,第一游戏的玩家在点击关于第二游戏的游戏信息后,对第二游戏并不感兴趣,因此也就不会登陆游戏,因此也就不会在步骤S1112返回IDFA。那么此时在步骤S1104返回的IDFA就不可能再与步骤S1112中返回的IDFA相匹配,因此匹配不可能会成功。通过这样的方式,可以不断根据匹配的结果,更新关于第二游戏的统计数据。
然后,当第二游戏的开发者想了解关于第二游戏的统计数据时,会向第二游戏的开发者管理服务器441和/或442发出获取第二游戏的统计数据的请求(S1116),第二游戏的开发者管理服务器441和/或442随后向统计服务器431和/或432发出获取关于第二游戏的统计数据的请求(S1118)。
统计服务器431和/432在收到请求后,计算第二游戏的统计数据(S1120)。即根据步骤S1114的匹配结果,计算出相关的统计数据,例如与第二游戏相关的渗透率和转化率等。随后,统计服务器431和/或432将统计数据返回至第二游戏的开发者管理服务器441和/或442(S1122),第二游戏开发者服务器根据该统计数据绘制结果(S1124)并显示给第二游戏开发者(S1126)。
综上所述,通过本申请的技术方案,提供了一种优于传统基于内容的信息发布方式,而改为基于UGC(用户生成内容)的信息发布方式,从而改善了信息发布的效果。并且通过云架构服务器与客户端SDK使开发者的接入工作达到了最简化。且为开发者提供了完善的基于web的配套工具性解决方案,极大地丰富了开发者的推广分析手段
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元或模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元或模块可以是或者也可以不是物理上分开的,作为单元或模块显示的部件可以是或者也可以不是物理单元或模块,即可以位于一个地方,或者也可以分布到多个网络单元或模块上。可以根据实际的需要选择其中的部分或者全部单元或模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元或模块可以集成在一个处理单元或模块中,也可以是各个单元或模块单独物理存在,也可以两个或两个以上单元或模块集成在一个单元或模块中。上述集成的单元或模块既可以采用硬件的形式实现,也可以采用软件功能单元或模块的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。