移动端广播和广告的展示系统及方法转让专利

申请号 : CN201710179404.5

文献号 : CN107423130B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 汪刚陈少杰张文明

申请人 : 武汉斗鱼网络科技有限公司

摘要 :

本发明公开了一种移动端广播和广告的展示系统及方法,涉及互联网移动端应用开发领域。该方法包括以下步骤:广播或者广告消息接收;广播或者广告消息的优先级处理;广播或者广告消息的频率控制;广播或者广告的展示。本发明既能展示广告,又能展示广播,同时对广播或广告实现优先级和频率控制。

权利要求 :

1.一种移动端广播和广告的展示系统,其特征在于:该系统包括弹幕服务器、控制器和移动端,

弹幕服务器将弹幕消息推送过来,移动端解析出消息类型,如果消息类型是广播和/或广告类型,则将弹幕消息解析出来,得到弹幕的广播和/或广告的唯一标示、广播和/或广告的类型、广播和/或广告的内容、弹幕消息的展示时间;将解析出来的弹幕消息封装成一个模型;移动端将封装好的模型通知给控制器;

控制器收到模型后,将模型的优先级和上一次展示过的广播或广告优先级进行比较,如果模型的优先级高,就展示模型对应的广播和/或广告;如果模型的优先级低,就不展示模型对应的广播和/或广告;如果优先级相同,比较模型对应的广播和/或广告与上一次展示过的广播或广告的id,如果id相同,就展示模型对应的广播和/或广告;如果id不相同,就不展示模型对应的广播和/或广告;

获取一个数组,该数组存储每次App启动时显示的广播或广告;取出数组中的每一个元素,作为一个模型;判断这个模型是不是第一次发过来的广播和/或广告,如果是第一次发过来的广播和/或广告,就将模型中上次显示的时间取出来,和当前时间比较,判断比较的时间差是不是在预设的时间间隔T内,如果不在T内,展示对应的广播和/或广告;如果在T内,查看已经展示的广播或广告的次数,是否小于在一个周期内应该显示广播或广告的次数,如果已经展示广播或广告的的次数小于需要展示的次数,则展示对应的广播和/或广告,否则不展示;

如果一条广播或广告既满足上述的优先级条件,又满足上述的周期,则对这条广播或广告进行展示,展示的时间为直到这条广播或广告自动消失。

2.如权利要求1所述的移动端广播和广告的展示系统,其特征在于:所述弹幕服务器使用套接字将弹幕消息推送过来。

3.如权利要求1所述的移动端广播和广告的展示系统,其特征在于:所述移动端使用代理,将封装好的模型通知给控制器,代理在苹果开发语言中起到通知的作用。

4.如权利要求1所述的移动端广播和广告的展示系统,其特征在于:所述解析出来的弹幕消息中,展示弹幕的图片只推送图片地址的部分特定地址,不推送图片地址的公共部分,由其他的配置接口返回图片地址的公共部分。

5.如权利要求1所述的移动端广播和广告的展示系统,其特征在于:所述预设的时间间隔T为60分钟,60分钟是从后台服务器获取的显示广播或广告的周期长度。

6.一种移动端广播和广告的展示方法,其特征在于,包括以下步骤:

A、弹幕服务器将弹幕消息推送过来,移动端解析出消息类型,如果消息类型是广播和/或广告类型,则将弹幕消息解析出来,得到弹幕的广播和/或广告的唯一标示、广播和/或广告的类型、广播和/或广告的内容、弹幕消息的展示时间;将解析出来的弹幕消息封装成一个模型;移动端将封装好的模型通知给控制器;

B、控制器收到模型后,将模型的优先级和上一次展示过的广播或广告优先级进行比较,如果模型的优先级高,就展示模型对应的广播和/或广告;如果模型的优先级低,就不展示模型对应的广播和/或广告;如果优先级相同,比较模型对应的广播和/或广告与上一次展示过的广播或广告的id,如果id相同,就展示模型对应的广播和/或广告;如果id不相同,就不展示模型对应的广播和/或广告;

C、获取一个数组,该数组存储每次App启动时显示的广播或广告;取出数组中的每一个元素,作为一个模型;判断这个模型是不是第一次发过来的广播和/或广告,如果是第一次发过来的广播和/或广告,就将模型中上次显示的时间取出来,和当前时间比较,判断比较的时间差是不是在预设的时间间隔T内,如果不在T内,展示对应的广播和/或广告;如果在T内,查看已经展示的广播或广告的次数,是否小于在一个周期内应该显示广播或广告的次数,如果已经展示广播或广告的次数小于需要展示的次数,则展示对应的广播和/或广告,否则不展示;

D、如果一条广播或广告既满足步骤B中的优先级条件,又满足步骤C中的周期,则对这条广播或广告进行展示,展示的时间为直到这条广播或广告自动消失。

7.如权利要求6所述的移动端广播和广告的展示方法,其特征在于:步骤A中,所述弹幕服务器使用套接字将弹幕消息推送过来。

8.如权利要求6所述的移动端广播和广告的展示方法,其特征在于:步骤A中,所述移动端使用代理,将封装好的模型通知给控制器,代理在苹果开发语言中起到通知的作用。

9.如权利要求6所述的移动端广播和广告的展示方法,其特征在于:步骤A中,所述解析出来的弹幕消息中,展示弹幕的图片只推送图片地址的部分特定地址,不推送图片地址的公共部分,由其他的配置接口返回图片地址的公共部分。

10.如权利要求6所述的移动端广播和广告的展示方法,其特征在于:步骤C中,所述预设的时间间隔T为60分钟,60分钟是从后台服务器获取的显示广播或广告的周期长度。

说明书 :

移动端广播和广告的展示系统及方法

技术领域

[0001] 本发明涉及互联网移动端应用开发领域,具体是涉及一种移动端广播和广告的展示系统及方法。

背景技术

[0002] 随着移动端APP(APPlication,应用)数量的增加,移动端有很多展现广播或者广告的方式,大部分公司的实现方案是:以聊天消息的形式展示广播,甚至有些只能展现一种信息的载体信息,只展示广告或者只展示广播,无法实现同时展示广播和广告。

发明内容

[0003] 本发明的目的是为了克服上述背景技术的不足,提供一种移动端广播和广告的展示系统及方法,既能展示广告,又能展示广播,同时对广播或广告实现优先级和频率控制。
[0004] 本发明提供一种移动端广播和广告的展示系统,该系统包括弹幕服务器、控制器和移动端,
[0005] 弹幕服务器将弹幕消息推送过来,移动端解析出消息类型,如果消息类型是广播和/或广告类型,则将弹幕消息解析出来,得到弹幕的广播和/或广告的唯一标示、广播和/或广告的类型、广播和/或广告的内容、弹幕消息的展示时间;将解析出来的弹幕消息封装成一个模型;移动端将封装好的模型通知给控制器;
[0006] 控制器收到模型后,将模型的优先级和上一次展示过的广播或广告优先级进行比较,如果模型的优先级高,就展示模型对应的广播和/或广告;如果模型的优先级低,就不展示模型对应的广播和/或广告;如果优先级相同,比较模型对应的广播和/或广告与上一次展示过的广播或广告的id,如果id相同,就展示模型对应的广播和/或广告;如果id不相同,就不展示模型对应的广播和/或广告;
[0007] 获取一个数组,该数组存储每次App启动时显示的广播或广告;取出数组中的每一个元素,作为一个模型;判断这个模型是不是第一次发过来的广播和/或广告,如果是第一次发过来的广播和/或广告,就将模型中上次显示的时间取出来,和当前时间比较,判断比较的时间差是不是在预设的时间间隔T内,如果不在T内,展示对应的广播和/或广告;如果在T内,查看已经展示的广播或广告的次数,是否小于在一个周期内应该显示广播或广告的次数,如果已经展示广播或广告的的次数小于需要展示的次数,则展示对应的广播和/或广告,否则不展示;
[0008] 如果一条广播或广告既满足上述的优先级条件,又满足上述的周期,则对这条广播或广告进行展示,展示的时间为直到这条广播或广告自动消失。
[0009] 在上述技术方案的基础上,所述弹幕服务器使用套接字将弹幕消息推送过来。
[0010] 在上述技术方案的基础上,所述移动端使用代理,将封装好的模型通知给控制器,代理在苹果开发语言中起到通知的作用。
[0011] 在上述技术方案的基础上,所述解析出来的弹幕消息中,展示弹幕的图片只推送图片地址的部分特定地址,不推送图片地址的公共部分,由其他的配置接口返回图片地址的公共部分。
[0012] 在上述技术方案的基础上,所述预设的时间间隔T为60分钟,60分钟是从后台服务器获取的显示广播或广告的周期长度。
[0013] 本发明还提供一种移动端广播和广告的展示方法,包括以下步骤:
[0014] A、弹幕服务器将弹幕消息推送过来,移动端解析出消息类型,如果消息类型是广播和/或广告类型,则将弹幕消息解析出来,得到弹幕的广播和/或广告的唯一标示、广播和/或广告的类型、广播和/或广告的内容、弹幕消息的展示时间;将解析出来的弹幕消息封装成一个模型;移动端将封装好的模型通知给控制器;
[0015] B、控制器收到模型后,将模型的优先级和上一次展示过的广播或广告优先级进行比较,如果模型的优先级高,就展示模型对应的广播和/或广告;如果模型的优先级低,就不展示模型对应的广播和/或广告;如果优先级相同,比较模型对应的广播和/或广告与上一次展示过的广播或广告的id,如果id相同,就展示模型对应的广播和/或广告;如果id不相同,就不展示模型对应的广播和/或广告;
[0016] C、获取一个数组,该数组存储每次App启动时显示的广播或广告;取出数组中的每一个元素,作为一个模型;判断这个模型是不是第一次发过来的广播和/或广告,如果是第一次发过来的广播和/或广告,就将模型中上次显示的时间取出来,和当前时间比较,判断比较的时间差是不是在预设的时间间隔T内,如果不在T内,展示对应的广播和/或广告;如果在T内,查看已经展示的广播或广告的次数,是否小于在一个周期内应该显示广播或广告的次数,如果已经展示广播或广告的次数小于需要展示的次数,则展示对应的广播和/或广告,否则不展示;
[0017] D、如果一条广播或广告既满足步骤B中的优先级条件,又满足步骤C中的周期,则对这条广播或广告进行展示,展示的时间为直到这条广播或广告自动消失。
[0018] 在上述技术方案的基础上,步骤A中,所述弹幕服务器使用套接字将弹幕消息推送过来。
[0019] 在上述技术方案的基础上,步骤A中,所述移动端使用代理,将封装好的模型通知给控制器,代理在苹果开发语言中起到通知的作用。
[0020] 在上述技术方案的基础上,步骤A中,所述解析出来的弹幕消息中,展示弹幕的图片只推送图片地址的部分特定地址,不推送图片地址的公共部分,由其他的配置接口返回图片地址的公共部分。
[0021] 在上述技术方案的基础上,步骤C中,所述预设的时间间隔T为60分钟,60分钟是从后台服务器获取的显示广播或广告的周期长度。
[0022] 与现有技术相比,本发明的优点如下:
[0023] (1)本发明既能展示广告,又能展示广播,同时对广播或广告实现优先级和频率控制。本发明可以为这些广播或者广告设置优先级,优先展示优先级高的,甚至可以对展示的频率控制,多频率的控制放在移动端进行,比较高效,优化服务器的性能。
[0024] (2)用户连接弹幕服务器之后,如果后台有广播消息通过弹幕服务器推送过来这个弹幕消息,走的是socket通道,对于图片的一个完整的地址http://www.douyu.com/imge/braodcast.png(样例),其中http://www.douyu.com/imge是很多图片的公有部分,这部分通过接口返回,braodcast.png这部分有用信息才通过socket推过来,移动端来拼接一个完整的地址,极大的节省流量,节省流量意味着降低成本。
[0025] (3)移动端对优先级控制,不是服务器对展示的优先级控制,如果服务器记住每个用户展示过那些广播,再将要展示的广播和上一次广播进行比较,服务器的处理数据量极大,因此把优先级控制的操作放在移动端,每个移动端只需要处理自己的广播,极大的减少服务器的压力。
[0026] (4)移动端对频率的控制,不是服务器对展示的频率控制,如果服务器记住每个用户展示过那些广播,再将要展示的广播和上一次广播进行比较,服务器的处理数据量极大,因此把频率控制的操作放在移动端,每个移动端只需要处理自己的广播,极大的减少服务器的压力。
[0027] (5)本发明实现了对广播的频率控制,这样可以减少对用户的广播或者广告的骚扰,避免用户收到太多的广播或者广告。
[0028] (6)本发明共用了一套优先级和频率控制条件,根据airingType来显示广告还是广播。

附图说明

[0029] 图1是本发明实施例中移动端广播和广告的展示方法的流程图。

具体实施方式

[0030] 下面结合附图及具体实施例对本发明作进一步的详细描述。
[0031] 本发明实施例提供一种移动端广播和广告的展示系统,该系统包括弹幕服务器、控制器和移动端。
[0032] 参见图1所示,本发明实施例提供一种移动端广播和广告的展示方法,包括以下步骤:
[0033] S1、广播或者广告消息接收
[0034] S101、弹幕服务器使用套接字socket将弹幕消息推送过来,移动端使用函数getItem解析出弹幕服务器发过来的消息类型,使用函数isEqualToString判断消息类型是否为广播和/或广告类型;
[0035] S102、如果消息类型是广播和/或广告类型,那么就可以将这个弹幕消息解析出来,得到弹幕的广播和/或广告的唯一标示normalWholeAiringId、广播和/或广告的类型、广播和/或广告的内容content、弹幕消息的展示时间duration,解析出来的弹幕消息中,展示弹幕的图片只推送图片地址的部分特定地址,不推送图片地址的公共部分,由其他的配置接口返回图片地址的公共部分;广播和广告的类型包括广告、通知;
[0036] S103、移动端解析出上面的弹幕消息后,将解析出来的弹幕消息使用函数createModel封装成一个DYAiringModel模型,模型中有很多属性,这些属性就是步骤S2中的解析的元素;
[0037] S104、移动端使用代理,将上述封装好的DYAiringModel模型通知给控制器,代理delegate在苹果开发语言中起到一个通知的作用,发出这个通知的函数是reciveWholeAiring,使用这个函数发出通知;
[0038] 步骤S1的优点:
[0039] 用户连接弹幕服务器之后,如果后台有广播消息通过弹幕服务器推送过来这个弹幕消息,走的是socket通道,对于图片的一个完整的地址http://www.douyu.com/imge/braodcast.png(样例),其中http://www.douyu.com/imge是很多图片的公有部分,这部分通过接口返回,braodcast.png这部分有用信息才通过socket推过来,移动端来拼接一个完整的地址,极大的节省流量,节省流量意味着降低成本。
[0040] S2、广播或者广告消息的优先级处理
[0041] 控制器中的代理函数reciveWholeAiring收到模型后,使用函数isShowWithHighPrivilege,判断优先级是否满足条件:将模型的优先级和上一次展示过的广播或广告优先级进行比较,如果模型的优先级高,就展示模型对应的广播和/或广告;如果模型的优先级低,就不展示模型对应的广播和/或广告;如果优先级相同,就比较模型对应的广播和/或广告与上一次展示过的广播或广告的id,如果id相同,就展示模型对应的广播和/或广告;如果id不相同,就不展示模型对应的广播和/或广告。
[0042] 步骤S2的优点:
[0043] 移动端对优先级控制,不是服务器对展示的优先级控制,如果服务器记住每个用户展示过那些广播,再将要展示的广播和上一次广播进行比较,服务器的处理数据量极大,因此把优先级控制的操作放在移动端,每个移动端只需要处理自己的广播,极大的减少服务器的压力。
[0044] S3、广播或者广告消息的频率控制
[0045] 广播或者广告消息的频率控制的函数是isShowWithInFrequency,这个函数的返回值是yes或者no,返回yes,代表满足周期,展示;返回NO,说明不满足周期,不展示广播,isShowWithInFrequency函数的实现逻辑如下:
[0046] S301、使用函数[DYSystemAirDeployModelsharedInstance].frequencyArray,获取一个数组,这个数组存储的是每次App启动的时候显示的广播或广告;
[0047] S302、使用for(NSInteger i=arr.count-1;i>=0;i--)for循环,在for循环里面使用函数[arr objectAtIndex:i],取出数组中的每一个元素,作为一个模型model;
[0048] S303、判断这个模型是不是第一次发过来的广播和/或广告,如果是第一次发过来的广播和/或广告,就将模型中上次显示的时间取出来,和当前的时间比较,判断比较的时间差是不是在预设的时间间隔T内,例如:T=60分钟,这60分钟是从后台服务器获取的显示广播或广告的周期长度,如果不在60分钟内,说明这条广播已经很久没有显示了,满足展示的频率,返回为YES,展示对应的广播和/或广告;如果这个时间在60分钟内,那么就查看已经展示广播或广告的次数hasShowAllTimesInFrequency,是否小于在一个周期内应该显示广播或广告的次数shouldShowTimes,如果已经展示广播或广告的次数小于需要展示的次数,返回yes,展示对应的广播和/或广告;否则返回NO,不展示对应的广播和/或广告,其中hasShowAllTimesInFrequency是存储一已经显示过的广播或广告的次数,shouldShowTimes是从后台服务器获取的在一个周期内需要显示的广播或广告的次数。
[0049] 步骤S3的优点:
[0050] (1)移动端对频率的控制,不是服务器对展示的频率控制,如果服务器记住每个用户展示过那些广播,再将要展示的广播和上一次广播进行比较,服务器的处理数据量极大,因此把频率控制的操作放在移动端,每个移动端只需要处理自己的广播,极大的减少服务器的压力。
[0051] (2)实现了对广播的频率控制,这样可以减少对用户的广播或者广告的骚扰,避免用户收到太多的广播或者广告。
[0052] S4、广播或者广告的展示
[0053] 如果一条广播既满足步骤S2中的优先级条件,又满足步骤S3中的周期,就可以使用,函数reciveWholeAiring对这条广播进行展示,展示的时间duration为直到这条广播或广告自动消失,用户也可以对这条广播关闭,根据服务器的airingType广播和广告的类型类型,来使用函数refreshAiringQueue绘制不同的UI。
[0054] 步骤S4的优点:共用了一套优先级和频率控制条件,根据airingType来显示广告还是广播。
[0055] 综上所述,本发明实施例实现了收到一条广播或广告消息,对这条广播的消息的处理,同时对这条广播或广告实现优先级和频率控制,是一个完备的广播或者广告的展示方案。
[0056] 本领域的技术人员可以对本发明实施例进行各种修改和变型,倘若这些修改和变型在本发明权利要求及其等同技术的范围之内,则这些修改和变型也在本发明的保护范围之内。
[0057] 说明书中未详细描述的内容为本领域技术人员公知的现有技术。