CN117827053A - 多尺寸多类型卡片的处理方法、电子设备及存储介质 - Google Patents
多尺寸多类型卡片的处理方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117827053A CN117827053A CN202410253440.1A CN202410253440A CN117827053A CN 117827053 A CN117827053 A CN 117827053A CN 202410253440 A CN202410253440 A CN 202410253440A CN 117827053 A CN117827053 A CN 117827053A
- Authority
- CN
- China
- Prior art keywords
- cards
- card
- size
- sequence
- advertisement
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title abstract description 19
- 238000001914 filtration Methods 0.000 claims abstract description 30
- 238000000034 method Methods 0.000 claims description 86
- 238000012545 processing Methods 0.000 claims description 54
- 238000004590 computer program Methods 0.000 claims description 14
- 239000000758 substrate Substances 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract description 28
- 239000010410 layer Substances 0.000 description 26
- 238000005192 partition Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 14
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000007689 inspection Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 230000004308 accommodation Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000036541 health Effects 0.000 description 3
- 238000005406 washing Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- GRRMZXFOOGQMFA-UHFFFAOYSA-J YoYo-1 Chemical compound [I-].[I-].[I-].[I-].C12=CC=CC=C2C(C=C2N(C3=CC=CC=C3O2)C)=CC=[N+]1CCC[N+](C)(C)CCC[N+](C)(C)CCC[N+](C1=CC=CC=C11)=CC=C1C=C1N(C)C2=CC=CC=C2O1 GRRMZXFOOGQMFA-UHFFFAOYSA-J 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本申请提供了一种多尺寸多类型卡片的处理方法、电子设备及存储介质,涉及终端技术领域。在接收到服务器下发的多尺寸多类型卡片后,将在电子设备侧不支持显示的卡片过滤,并将与电子设备侧已显示卡片的服务标识相同的卡片过滤,这样保证了经过过滤处理后的卡片都能够由电子设备显示且不会重复展示。然后针对经过过滤处理后的卡片采用预设编排规则进行编排,然后从编排后的卡片序列中获取满足预设组合条件的多个卡片,多个卡片组合后的尺寸等于卡片展示区域的尺寸,由此避免位置空缺,并且保证诸如运营卡片和广告卡片等不同服务卡片能够在电子设备侧合理展示,使得多类型多尺寸内容最大化显示,提升了多尺寸多类型卡片的整体展示效果。
Description
技术领域
本申请涉及终端技术领域,尤其涉及一种多尺寸多类型卡片的处理方法、电子设备及存储介质。
背景技术
电子设备提供了卡片服务,通过卡片展示各种服务功能及信息,方便用户查看。
目前,各种尺寸和类型的卡片是在云服务器侧开发的。由云服务器侧对多种卡片编排顺序后下发给电子设备,然后电子设备侧在获取卡片数据后按顺序展示各个卡片。在实际情况下,电子设备侧受限于设备类型不一样(手机/平板),某种卡片类型不支持展示、同类型服务卡片已展示等情况,不同的电子设备最终展示的卡片数据可能不一致,有些电子设备可能无法将各种尺寸的卡片铺满整个页面,在卡片管理应用的页面出现空缺位置。
从用户角度而言,页面中出现空缺位置,会影响页面美观;从运营商和广告商角度而言,卡片管理应用的页面上每个位置都可以作为广告位,如果出现空缺位置,会减少卡片曝光,影响广告推送效果。
发明内容
本申请提供一种多尺寸多类型卡片的处理方法、电子设备及存储介质,解决了在卡片管理应用的页面出现空缺位置,导致页面不美观且影响广告推送效果的问题。
第一方面,本申请提供一种多尺寸多类型卡片的处理方法,应用于电子设备,该方法包括:从第一服务器和第二服务器分别获取多尺寸且多类型的多个卡片;基于卡片类型,将所述多个卡片中不满足预设条件的卡片过滤掉,分别得到第一服务卡片集合和第二服务卡片集合;从所述第一服务卡片集合和所述第二服务卡片集合中移除第一卡片,所述第一卡片的标识与卡片展示页面中已曝光的服务卡片的标识相同;将处理后的第一服务卡片集合和第二服务卡片集合按照位置索引关系组合成第一序列;按照预设编排规则,对所述第一序列中的卡片进行编排,得到第二序列;从所述第二序列获取满足预设组合条件的多个卡片,形成第三序列;在所述卡片展示页面的第一展示区域中分行显示所述第三序列的卡片;其中,满足所述预设组合条件的多个卡片组合后的尺寸等于所述第一展示区域的尺寸。
通过本申请实施例提供的多尺寸多类型卡片的处理方法,在接收到服务器下发的多尺寸多类型卡片后,将在电子设备侧不支持显示的卡片过滤,并将与电子设备侧已显示卡片的服务标识相同的卡片过滤,这样保证了经过过滤处理后的卡片都能够由电子设备显示并且不会重复展示。在页面分区域展示多个卡片的过程中,由于一部分卡片被过滤,并且卡片尺寸多样化(如2*2尺寸、2*4尺寸),可能会引起页面出现位置空缺。本申请针对经过过滤处理后的卡片采用预设编排规则进行编排,然后从编排后的卡片序列中获取满足预设组合条件的多个卡片,多个卡片组合后的尺寸等于卡片展示区域的尺寸,由此避免位置空缺,并且保证诸如运营卡片和广告卡片等不同服务卡片能够在电子设备侧合理展示,使得多类型多尺寸内容最大化显示,提升了电子设备对多尺寸多类型卡片的整体展示效果。
需要说明的是,相关技术中,电子设备侧受限于设备类型不同(如手机/平板),支持展示的卡片类型不同、同类型服务卡片可能重复展示等情况,不同的电子设备最终展示的卡片数据可能不一致,有些电子设备可能无法在页面中合理展示各种尺寸各种类型的卡片,页面中可能会出现空缺位置,从用户角度而言,这样的卡片显示效果会影响页面美观;从运营商和广告商角度而言,卡片管理应用的页面上每个位置都可以作为广告位,如果出现空缺位置,会减少卡片曝光,影响广告推送效果。
与相关技术相比,本申请方案的改进点在于:一方面,本申请对服务器下发的多尺寸多类型卡片进行过滤,可以保证经过过滤处理后的卡片都能够由电子设备显示并且不会重复展示。另一方面,由于一部分卡片被过滤,并且卡片尺寸多样化,可能会引起页面出现位置空缺。为了避免页面出现位置空缺并且基于合理展示卡片的需求,本申请通过采用预设编排规则对经过过滤处理后的卡片进行编排,然后从编排后的卡片序列中获取满足预设组合条件的多个卡片,这样不仅可以避免位置空缺,增加了卡片曝光机会,并且保证不同服务器下发的服务卡片能够在电子设备侧合理展示,因此本申请方案提升了电子设备对多尺寸多类型卡片的整体展示效果。
在一些可能实现方式中,第一服务器为运营云服务器,第一服务卡片集合为运营卡片序列;第二服务器为广告云服务器;第二服务卡片集合为广告卡片序列。
在一些可能实现方式中,所述第二服务卡片集合中的广告卡片分别具有各自的位置索引。上述将处理后的第一服务卡片集合和第二服务卡片集合按照位置索引关系组合成第一序列,包括:将广告卡片序列中的广告卡片按照各自的位置索引插入到运营卡片序列中,形成第一序列。
在一些可能实现方式中,不同的卡片类型对应不同的预设条件。例如,卡片类型可以为widget类型或者JS类型。这些卡片能够在各个媒体应用(如桌面应用、负一屏应用)上进行展示曝光。
widget类型的卡片是与应用关联的卡片,widget卡片依赖于宿主应用。例如,widget卡片可以为系统天气卡、日历卡、图库卡,淘宝®卡片、支付宝®卡片。
JS卡片类型的卡片是基于快应用引擎构建并渲染的卡片,通过JS语言实现。
情况1:卡片类型为widget类型,对应的预设条件为:卡片的宿主应用已安装于电子设备且电子设备的应用清单文件中包含widget类。
当电子设备判断卡片1的类型为widget类型时,电子设备根据卡片1对应的应用包名判断卡片的宿主应用是否已安装于所述电子设备,以及根据该卡片1对应的widget类名判断电子设备的应用清单文件中是否包含widget类。在确定卡片1的宿主应用已安装于电子设备且应用清单文件中包含widget类的情况下,电子设备确定该卡片1满足预设条件。在确定卡片1的宿主应用未安装于电子设备或者应用清单文件中不包含widget类的情况下,电子设备确定该卡片1不满足预设条件,需要过滤掉。
情况2:卡片类型为JS类型,对应的预设条件为:卡片的rpk包对应的版本号小于或等于电子设备中安装的快应用引擎的版本号。
当电子设备判断卡片2的类型为JS类型时,电子设备将卡片2的rpk包对应的版本号与电子设备中安装的快应用引擎的版本号进行比较,若卡片2的rpk包对应的版本号大于快应用引擎的版本号,则电子设备确定卡片2不满足预设条件,需要过滤掉;若卡片2的rpk包对应的版本号小于或等于快应用引擎的版本号,则电子设备确定卡片2满足预设条件。
通过上述方案,电子设备在从服务器获取到各种类型的卡片之后,基于卡片类型将多个卡片中不满足条件的卡片过滤掉,以保证卡片能够在电子设备侧显示,可以提升多个卡片的整体显示效果。
在一些实施例中,卡片管理应用的页面中包括多个分区,每个分区为一个卡片展示区域。各个卡片展示区域分别展示不同类型的服务卡片。
例如,在实际实现时,电子设备可以显示诸如“为你推荐”、“大家都在用”、“实用工具”、“便捷生活”、“影音娱乐”、“社交通讯”、“早教育儿”、“金融理财”、“出行导航”、“新闻阅读”、运动健康、“电商购物”、“买车用车”、“旅游住宿”等更多类型服务的卡片。具体分区显示哪些类型服务的卡片,可以根据实际使用需求进行设置,本申请实施例不作限定。
其中,卡片管理应用的页面中的每个分区对应预设的尺寸。例如,每个分区的尺寸可以为4*4。
在一些可能实现方式中,多尺寸包括第一尺寸(如2*2)和第二尺寸(如2*4),第二尺寸为第一尺寸的两倍;第一展示区域的尺寸(如4*4)为第一尺寸的四倍。
上述从第二序列获取满足预设组合条件的多个卡片,包括:从第二序列中完成两次获取,每次获取两个第一尺寸或者一个第二尺寸。
在一些可能实现方式中,所述第三序列包括:两个第一尺寸(如2*2)的卡片和一个第二尺寸(如2*4)的卡片;或者一个第二尺寸(如2*4)的卡片和两个第一尺寸(如2*2)的卡片;或者四个第一尺寸(如2*2)的卡片;或者两个第二尺寸(如2*4)的卡片。
在一些可能实现方式中,所述分行显示第三序列的卡片,包括:一行显示两个第一尺寸(如2*2)的卡片,另一行显示一个第二尺寸(如2*4)的卡片;或者,一行显示一个第二尺寸(如2*4)的卡片,另一行显示两个第一尺寸(如2*2)的卡片;或者,一行显示两个第一尺寸(如2*2)的卡片,另一行显示另两个第一尺寸(如2*2)的卡片;或者,一行显示一个第二尺寸(如2*4)的卡片,另一行显示另一个第二尺寸(如2*4)的卡片。
通过上述方案,对于多尺寸卡片,可以根据实际使用需求获取合适尺寸的卡片进行组合,使得卡片组合后的尺寸等于卡片展示区域,可以提升多个卡片的整体显示效果。
在一些可能实现方式中,所述从所述第一服务卡片集合和所述第二服务卡片集合中移除第一卡片,包括:获取所述卡片展示页面中已曝光的服务卡片的标识;将已曝光的服务卡片的标识与卡片集合中的卡片标识进行比对; 若所述卡片集合中存在与已曝光的服务卡片的标识相同的第一卡片,则从卡片集合中移除所述第一卡片。其中,所述卡片集合为所述第一服务卡片集合或所述第二服务卡片集合。
通过该方案,电子设备侧通过记录已经展示过的卡片的服务ID,对于后续同服务类型的卡片做过滤处理,将曝光展示机会让给其他类型卡片,并且避免同一服务卡片重复曝光,可以提升多个卡片的整体显示效果。
在一些实施例中,服务器向电子设备发送的卡片包括运营卡片、广告卡片、大数据推荐卡片、基础体验卡片等。
在一些实施例中,电子设备可以设置各种卡片的优先级。例如,运营卡片和广告卡片的优先级相同,运营卡片和广告卡片的优先级高于大数据推荐卡片的优先级,大数据推荐卡片的优先级高于基础体验卡片的优先级。
在一些实施例中,运营卡片包括由运营端配置的具有指定位置的运营卡片,在此情况下,具有指定位置的运营卡片的优先级大于广告卡片的优先级。例如,指定位置为某个卡片展示区域中的首个显示位置。
其中,优先级越高,排列位置越靠前。
在本申请实施例中,在电子设备从服务器获取到多个卡片之后,电子设备根据预设编排规则对多个卡片重新编排,然后将编排后的各种卡片展示于卡片管理应用的页面。
在一些可能实现方式中,所述按照预设编排规则,对所述第一序列中的卡片进行编排,得到第二序列,包括:若所述第一序列中的前M个卡片组合后的尺寸不满足所述预设组合条件,则按照所述预设编排规则,对所述第一序列中的卡片进行编排,得到所述第二序列。
在一些可能实现方式中,所述方法还包括:若所述第一序列中的前M个卡片组合后的尺寸满足所述预设组合条件,则在所述第一展示区域中按照所述第一序列分行显示所述前M个卡片。
其中,M为预设的整数值。M取值与所述第一展示区域的尺寸以及多尺寸卡片的最小尺寸有关。
在一些可能实现方式中,M取值等于所述第一展示区域的尺寸与多尺寸卡片的最小尺寸之间的比值。
例如,第一展示区域的尺寸为4*4,多尺寸卡片的最小尺寸为2*2,在此情况下,M取值为(4*4)/(2*2)=4。
在一些可能实现方式中,所述按照所述预设编排规则,对所述第一序列中的卡片进行编排,得到所述第二序列,包括:在所述前M个卡片组合后的尺寸不满足所述预设组合条件的情况下,判断所述第一序列中是否存在具有指定位置的卡片;在所述第一序列不存在具有指定位置的卡片的情况下,根据所述前M个卡片中的广告卡片的尺寸及数量,确定所述前M个卡片中的运营卡片的排列位置;在所述第一序列存在具有指定位置的第一运营卡片的情况下,将所述第一运营卡片排列到所述指定位置;然后根据所述第一运营卡片的卡片尺寸,确定所述前M个卡片中的广告卡片及运营卡片的排列位置。
本申请实施例提供的多尺寸多类型卡片的处理方法,通过本申请对服务器下发的多尺寸多类型卡片进行过滤,并采用预设编排规则对经过过滤处理后的卡片进行编排,并在编排后的序列中根据卡片组合条件选取合适尺寸和数量的卡片,并通过组合多类型、多尺寸、多价值的卡片内容,在页面内容铺满的前提下尽可能地展示更具价值的卡片内容,使得多类型多尺寸内容最大化显示。
在一些可能实现方式中,所述根据所述前M个卡片中的广告卡片的尺寸及数量,确定所述前M个卡片中的运营卡片的排列位置,包括:根据所述前M个卡片中的所有广告卡片,构成第四序列;对于所述前M个卡片中的第一尺寸的运营卡片,根据所述前M个卡片中的第一尺寸的运营卡片的卡片数量,确定所述第一尺寸的运营卡片的排列位置;对于所述前M个卡片中的第二尺寸的运营卡片,排列到所述第四序列的尾部。
在一些可能实现方式中,所述根据所述前M个卡片中的第一尺寸的运营卡片的卡片数量,确定所述第一尺寸的运营卡片的排列位置,包括:若所述前M个卡片中第一尺寸的广告卡片的卡片数量为奇数,则将所述前M个卡片中第一尺寸的运营卡片排列到所述第四序列的头部,或者排列到所述第四序列中最后一个第一尺寸的广告卡片的下一个位置;若所述前M个卡片中第一尺寸的广告卡片的卡片数量为偶数,则将所述前M个卡片中第一尺寸的运营卡片排列到所述第四序列的尾部。
在一些可能实现方式中,指定位置为第三序列中的首位。在此情况下,所述根据所述第一运营卡片的卡片尺寸,确定所述前M个卡片中的广告卡片及运营卡片的排列位置,包括:
情况1:当所述第一运营卡片的卡片尺寸为第一尺寸时,从所述前M个卡片中获取一个第一尺寸的广告卡片或运营卡片,然后再从所述前M个卡片中获取一个第二尺寸的广告卡片或运营卡片,并确定排列顺序为:所述第一运营卡片、一个第一尺寸的广告卡片或运营卡片、一个第二尺寸的广告卡片或运营卡片;
情况2:当所述第一运营卡片的卡片尺寸为第二尺寸时,从所述前M个卡片中获取两个第一尺寸的广告卡片或者一个第二尺寸的广告卡片,并确定排列顺序为:所述第一运营卡片、两个第一尺寸的广告卡片或者一个第二尺寸的广告卡片。
本申请提供的多尺寸多类型卡片的处理方法针对多类型、多尺寸卡片显示场景,解决了如下问题:
一方面,同服务类型卡片重复显示:电子设备侧通过记录已经展示过的卡片的服务ID,对于后续同服务类型的卡片做过滤处理,将曝光展示机会让给其他类型卡片。
另一方面,运营配置卡片和商业化卡片未以高优先级显示:服务器侧下发的卡片除了满足用户正常体验外,后期也会根据运营和商业化需求而做出变化,比如需要强制下发某张卡片并且放在首位(位置固定,不能变化)。服务器侧基于大数据,根据用户使用习惯推荐一些用户可能喜欢的卡,通常会固定在页面中的某些位置(例如第2和/或3位置)投放运营卡片或广告卡片。这些卡片需要保证高优先级展示。
本申请实施例提供的卡片编排算法可以保证显示优先级:具有指定位置的运营卡片>广告卡片>大数据推荐卡片>基础体验卡片。
再一方面,页面卡片显示未铺满:在页面显示卡片的过程中,由于一部分卡片被过滤(卡片不支持显示、同服务ID的卡片已显示),外加卡片尺寸多样化(如2*2尺寸、2*4尺寸),最终可能会引起页面显示空缺。本申请提供的卡片编排算法可以对卡片进行编排,避免位置空缺。
第二方面,本申请提供一种多尺寸多类型卡片的处理装置,该装置包括用于执行上述第一方面中的方法的单元。该装置可对应于执行上述第一方面中描述的方法,该装置中的单元的相关描述请参照上述第一方面的描述,为了简洁,在此不再赘述。
其中,上述第一方面描述的方法可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,处理模块或单元、显示模块或单元等。
第三方面,本申请提供一种电子设备,所述电子设备包括处理器、处理器以及存储器中存储的计算机程序或指令,处理器用于执行计算机程序或指令,使得第一方面中的方法被执行。
第四方面,本申请提供一种计算机可读存储介质,其上存储有用于实现第一方面中的方法的计算机程序(也可称为指令或代码)。例如,该计算机程序被计算机执行时,使得该计算机可以执行第一方面中的方法。
第五方面,本申请提供一种芯片,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行第一方面及其任意可能的实现方式中的方法。可选地,所述芯片还包括存储器,存储器与处理器通过电路或电线连接。
第六方面,本申请提供一种芯片系统,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行第一方面及其任意可能的实现方式中的方法。可选地,所述芯片系统还包括存储器,存储器与处理器通过电路或电线连接。
第七方面,本申请提供一种计算机程序产品,所述计算机程序产品包括计算机程序(也可称为指令或代码),所述计算机程序被电子设备执行时使得电子设备实现第一方面中的方法。
可以理解的是,上述第二方面至第七方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
图1为相关技术中卡片管理应用界面在展示卡片时出现空缺位置的示意图;
图2为本申请实施例提供的一种电子设备的结构示意图;
图3为本申请实施例提供的一种电子设备的软件架构示意图;
图4为本申请实施例提供的多尺寸多类型卡片的处理方法的流程示意图一;
图5为本申请实施例提供的针对widget类卡片进行过滤的示意图;
图6为本申请实施例提供的针对JS类卡片进行过滤的示意图;
图7为本申请实施例提供的一种多尺寸多类型卡片的处理方法中的卡片组合示意图;
图8为本申请实施例提供的一种多尺寸多类型卡片的处理方法中电子设备显示的多个卡片展示区域的示意图;
图9为本申请实施例提供的多尺寸多类型卡片的处理方法的流程示意图二;
图10为本申请实施例提供的多尺寸多类型卡片的处理方法中的一种编排流程示意图;
图11为本申请实施例提供的多尺寸多类型卡片的处理方法的改进示意图;
图12为本申请实施例提供的多尺寸多类型卡片的处理方法中的另一种编排流程示意图;
图13为本申请实施例提供的多尺寸多类型卡片的处理方法的改进示意图;
图14为本申请实施例提供的多尺寸多类型卡片的处理装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本申请实施例进一步详细说明。
电子设备提供了卡片服务,通过卡片展示各种服务功能及信息,方便用户查看。
以下对本申请实施例的部分用语进行解释说明,以便于本领域技术人员理解。
卡片:卡片是介于图标和全屏应用的中间形态,可以作为用户的快捷操作工具和信息速览窗口,为用户推荐服务信息,便于用户快速查看,提升用户使用体验。
卡片的尺寸多种多样,例如1*2尺寸、2*2尺寸、2*4尺寸和4*4尺寸。目前采用较多的是2*2尺寸、2*4尺寸。2*2尺寸表示2行2列,2*4尺寸表示2行4列。
卡片的类型多种多样,例如目前采用较多的是快应用卡片和widget卡片。这些卡片能够在各个媒体应用(如桌面应用、负一屏应用)上进行展示曝光。
快应用卡片,是基于快应用引擎构建并渲染的卡片,通过JS语言实现。快应用卡片还可以称为JS卡片。需要说明的是,在服务器侧对快应用及卡片数据进行打包,得到快应用文件,该快应用文件的后缀名为rpk,因此也称为rpk文件或者rpk包。然后,服务器侧将rpk包发送给电子设备。rpk文件为快应用的执行文件,在电子设备侧以rpk文件为载体实现卡片渲染。
widget卡片:是与应用关联的卡片,widget卡片依赖于宿主应用。例如,widget卡片可以为系统天气卡、日历卡、图库卡,淘宝®卡片、支付宝®卡片。例如,对于系统天气卡,电子设备中安装的天气APP为宿主应用。
卡片管理应用(如快服务中心):是电子设备侧(如手机)用于展示卡片的应用。在卡片管理应用的页面,支持展示各种尺寸和类型的卡片。
图1示出了本申请的各个示例性实施例所涉及的系统架构示意图。如图1所示,该系统架构包括服务器和电子设备。参考图1所示,各种尺寸和类型的卡片是在云服务器侧开发的。云服务器侧对各种尺寸和类型的卡片进行顺序编排,然后下发给电子设备。电子设备侧在获取卡片后按顺序展示各个卡片。例如各个卡片依次为卡片1(2*4)、卡片2(2*2)、卡片3(2*4)、卡片4(2*4)、卡片5(2*2)等。
在实际情况下,电子设备侧受限于设备类型不同(如手机/平板),支持展示的卡片类型不同、同类型服务卡片可能重复展示等情况,不同的电子设备最终展示的卡片数据可能不一致,有些电子设备可能无法将各种尺寸的卡片铺满整个页面,例如参考图1所示,在卡片管理应用的页面将各种尺寸的卡片按照顺序展示时,各个卡片按顺序展示,卡片1(2*4)显示一行,接下来一行显示卡片2(2*2),还可以显示一个2*2尺寸的卡片,但是卡片3为2*4尺寸,由于尺寸不符,无法在该位置显示,因此页面中会出现空缺位置。
从用户角度而言,这样的卡片显示效果会影响页面美观;从运营商和广告商角度而言,卡片管理应用的页面上每个位置都可以作为广告位,如果出现空缺位置,会减少卡片曝光,影响广告推送效果。
鉴于上述问题,本申请实施例提供一种多尺寸多类型卡片的处理方法及电子设备,本申请提供的多尺寸多类型卡片的处理方法可用于解决云侧卡片数据下发后在电子设备侧展示不符合需求的问题。例如,不符合需求的问题包括:同服务类型卡片重复显示、运营配置卡片和商业化属性卡片(称为广告卡片)未以高优先级显示、已显示的卡片未铺满页面。通过在电子设备系统底层进行改进,以提高用户体验。
本申请提供的多尺寸多类型卡片的处理方法针对多类型、多尺寸卡片显示场景,解决了如下问题:
一方面,同服务类型卡片重复显示:电子设备侧通过记录已经展示过的卡片的服务ID,对于后续同服务类型的卡片做过滤处理,将曝光展示机会让给其他类型卡片。
另一方面,运营配置卡片和商业化卡片未以高优先级显示:服务器侧下发的卡片除了满足用户正常体验外,后期也会根据运营和商业化需求而做出变化,比如需要强制下发某张卡片并且放在首位(位置固定,不能变化)。服务器侧基于大数据,根据用户使用习惯推荐一些用户可能喜欢的卡,通常会固定在页面中的某些位置(例如第2和/或3位置)投放运营卡片或广告卡片。这些卡片需要保证高优先级展示。
本申请实施例提供的卡片编排算法可以保证显示优先级:具有指定位置的运营卡片>广告卡片>大数据推荐卡片>体验卡片。
再一方面,页面卡片显示未铺满:在页面显示卡片的过程中,由于一部分卡片被过滤(卡片不支持显示、同服务ID的卡片已显示),外加卡片尺寸多样化(如2*2尺寸、2*4尺寸),最终可能会引起页面显示空缺。本申请提供的卡片编排算法可以对卡片进行编排,避免位置空缺。
这些卡片具有不同的尺寸和来源,主要包括:(1)应用关联的widget卡片,例如widget卡片可以为系统天气卡、日历卡、图库卡,三方淘宝®卡片、支付宝®卡片;(2)联盟快应用卡片,即通过快应用引擎渲染的JS卡片。
本申请的方案用于云侧向终端下发不同类型、不同尺寸、不同优先级、不用价值的卡片后,终端无法按优先级、价值、体验、效益最大化将卡片呈现的问题。该方案可以将云侧下发的多样化卡片进行过滤、组合、编排,在保证体验的基础上,完成最大化的收益。
为了更好地理解本申请实施例,以下先对本申请实施例进行简要说明:
在一些实施例中,卡片管理应用的页面中包括多个分区,每个分区为一个卡片展示区域。各个卡片展示区域分别展示不同类型的服务卡片。
例如,在实际实现时,电子设备可以显示诸如“为你推荐”、“大家都在用”、“实用工具”、“便捷生活”、“影音娱乐”、“社交通讯”、“早教育儿”、“金融理财”、“出行导航”、“新闻阅读”、运动健康、“电商购物”、“买车用车”、“旅游住宿”等更多类型服务的卡片。具体分区显示哪些类型服务的卡片,可以根据实际使用需求进行设置,本申请实施例不作限定。
其中,卡片管理应用的页面中的每个分区对应预设的尺寸。例如,每个分区的尺寸可以为4*4。
为了便于说明,以下实施例均以每个分区的尺寸为4*4、每个卡片的尺寸为2*2或2*4为例进行示例性说明。
在一些实施例中,服务器向电子设备发送的卡片包括运营卡片、广告卡片、大数据推荐卡片、基础体验卡片等。
在一些实施例中,电子设备可以设置各种卡片的优先级。例如,运营卡片和广告卡片的优先级相同,运营卡片和广告卡片的优先级高于大数据推荐卡片的优先级,大数据推荐卡片的优先级高于基础体验卡片的优先级。
在一些实施例中,运营卡片包括由运营端配置的具有指定位置的运营卡片,在此情况下,具有指定位置的运营卡片的优先级大于广告卡片的优先级。例如,指定位置为某个卡片展示区域中的首个显示位置。
其中,优先级越高,排列位置越靠前。
在本申请实施例中,在电子设备从服务器获取到多个卡片之后,电子设备根据预设编排规则对多个卡片重新编排,然后将编排后的各种卡片展示于卡片管理应用的页面。以下实施例中以针对运营卡片和广告卡片进行重新编排为例进行示例性说明。
在本申请实施例中,重新编排的考虑点包括:
第一,通过重新编排,使得在卡片管理应用的页面分布显示卡片时不出现空缺位置。
第二,在重新编排时,具有指定位置的运营卡片不受影响。
第三,通过重新编排,需要保证有商业价值的广告卡片被曝光。
第四,原有卡片的显示顺序可能会变动。
本申请提供的多尺寸多类型卡片的处理方法可用于解决云侧卡片数据下发后在电子设备侧展示不符合需求的问题。通过本申请方案,可以避免同服务类型卡片重复显示,能够合理展示运营配置卡片(成为运营卡片)和商业化卡片(称为广告卡片),避免展示页面出现空缺位置。
以下,先结合附图对本申请实施例提供的电子设备进行说明。示例性的,本申请实施例中的电子设备可以是手机、平板电脑、超级移动个人计算机(ultra-mobile personalcomputer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)、可穿戴式设备(如:智能手表、智能手环)等具备显示功能的设备,本申请实施例对电子设备的具体形态不作特殊限制。
图2示出了本申请实施例提供的一种电子设备的结构示意图。示例性的,图2所示的电子设备可以是手机。如图2所示,手机可以包括:处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器(即听筒)170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriberidentification module,SIM)卡接口195等。
示例性地,上述传感器模块可以包括压力传感器、陀螺仪传感器、气压传感器、磁传感器、加速度传感器、距离传感器、接近光传感器、指纹传感器、温度传感器、触摸传感器、环境光传感器以及骨传导传感器等传感器。在本申请实施例中,电子设备可以通过接近光传感器(即光线传感器)、距离传感器等传感器来检测用户耳朵是否贴靠在听筒附近。例如,电子设备可以通过距离传感器检测手机前面板(或者屏幕)前方是否有遮挡,以及遮挡物与屏幕之间的距离,确定当前用户耳朵是否贴靠在听筒附近。
可以理解的是,本实施例示意的结构并不构成对手机的具体限定。在另一些实施例中,手机可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,处理器110用于:从第一服务器和第二服务器分别获取多尺寸且多类型的多个卡片; 基于卡片类型,将所述多个卡片中不满足预设条件的卡片过滤掉,分别得到第一服务卡片集合和第二服务卡片集合; 从所述第一服务卡片集合和所述第二服务卡片集合中移除第一卡片,所述第一卡片的标识与卡片展示页面中已曝光的服务卡片的标识相同;将处理后的第一服务卡片集合和第二服务卡片集合按照位置索引关系组合成第一序列;按照预设编排规则,对所述第一序列中的卡片进行编排,得到第二序列;从所述第二序列获取满足预设组合条件的多个卡片,形成第三序列;在所述卡片展示页面的第一展示区域中分行显示所述第三序列的卡片;其中,满足所述预设组合条件的多个卡片组合后的尺寸等于所述第一展示区域的尺寸。
本申请实施例提供的多尺寸多类型卡片的处理方法,通过本申请对服务器下发的多尺寸多类型卡片进行过滤,并采用预设编排规则对经过过滤处理后的卡片进行编排,并在编排后的序列中根据卡片组合条件选取合适尺寸和数量的卡片,并通过组合多类型、多尺寸、多价值的卡片内容,在页面内容铺满的前提下尽可能地展示更具价值的卡片内容,使得多类型多尺寸内容最大化显示。
控制器可以是手机的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
可以理解的是,本实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对手机的结构限定。在另一些实施例中,手机也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
手机的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
手机可以通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。显示屏194用于显示图像,视频等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展手机的存储能力。内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行手机的各种功能应用以及数据处理。例如,在本申请实施例中,处理器110可以通过执行存储在内部存储器121中的指令,内部存储器121可以包括存储程序区和存储数据区。
以上是以电子设备100为例对本申请实施例作出的具体说明。应该理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。电子设备100可以具有比图中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
另外,在上述硬件之上,运行有操作系统,操作系统层的操作系统可以是任意一种或多种通过进程(process)实现业务处理的计算机操作系统,例如,Linux操作系统、Unix操作系统、Android操作系统、iOS操作系统或windows操作系统等。在操作系统上可以安装运行应用程序。
电子设备100的操作系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。
图3是本申请实施例的电子设备100的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层(applications),应用程序框架层(application framework),系统库和安卓运行时(Android Runtime),以及内核层(kernel)。
其中,应用程序层可以包括一系列应用程序包。例如,应用程序层可以包括桌面,负一屏,卡片管理应用等应用程序,本申请实施例对此不做任何限制。应用程序层还包括快应用引擎应用,该应用可以简称为快应用引擎,用于快应用卡片的渲染。
本申请实施例中,应用程序层还可以包括情景感知模块、业务逻辑处理模块和业务呈现模块等。情景感知模块、业务逻辑处理模块和业务呈现模块可以是独立的APP,或者可以分别集成在不同的APP中,或者可以集成在同一个APP中,本申请不做限定。
其中,情境感知模块,常驻运行或以低功耗形式运行,具有感知外部事实或者环境的能力。情境感知模块可以通过应用程序接口(application programming interface,API)从应用程序层的其他应用程序或应用程序框架层或系统层或内核层来检测相关事件和获取事件的状态,比如检测蓝牙连接、网络连接、监测用户短信、定制定时器等。在本申请实施例中,情境感知模块主要作用是监听是否发生卡片曝光事件。情境感知模块可以将监听到的卡片曝光事件通知给业务逻辑处理模块。
业务逻辑处理模块(如:计算引擎)具有业务逻辑处理能力,用于根据情境感知模块监听到的卡片曝光事件以及预设的逻辑算法进行数据处理或逻辑判断:在监听到发生卡片曝光事件的情况下,对服务器下发的多尺寸多类型卡片进行过滤,并按照本申请提供的卡片编排算法(即预设编排规则)对经过过滤处理后的卡片进行编排;然后业务逻辑处理模块可以从经过编排得到的卡片序列中选取卡片组合,并将卡片组合发送给业务呈现模块。
业务呈现模块(如:YOYO建议),用于根据业务逻辑处理模块的指示,在卡片管理应用的页面中呈现卡片组合,各个卡片可以按序显示,且页面中不会出现空缺位置。
应用程序框架层为应用程序层的应用程序提供API和编程框架。应用程序框架层包括一些预先定义的函数。如图3所示,应用程序框架层可以包括卡片服务管理模块等,本申请实施例对此不做任何限制。卡片服务管理模块用于管理各种卡片的相关信息,并提供与卡片相关的服务。
Android Runtime包括核心库和虚拟机。Android Runtime负责安卓系统的调度和管理。核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:openGL ES),二维图形引擎(例如:SGL)等。表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了二维图层和三维图层的融合。具体到本申请方案,系统库中可以包括卡片数据获取接口,用于电子设备与服务器之间交互,以获取卡片数据。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
为了便于说明,在图中还体现了与上述软件结构交互的硬件层。例如,硬件层可以包括显示屏。显示屏可以用于显示负一屏、桌面以及卡片管理应用的界面,并且可以在卡片管理应用的界面显示各种尺寸和各种类型的卡片。
需要说明的是,本申请实施例虽然以Android®系统为例进行说明,但是其基本原理同样适用于基于iOS®或Windows®等操作系统的电子设备。
本申请实施例提供的多尺寸多类型卡片的处理方法的执行主体可以为上述的电子设备,也可以为该电子设备中能够实现该多尺寸多类型卡片的处理方法的功能模块和/或功能实体,并且本申请方案能够通过硬件和/或软件的方式实现,具体的可以根据实际使用需求确定,本申请实施例不作限定。下面以电子设备为例,结合附图对本申请实施例提供的多尺寸多类型卡片的处理方法进行示例性的说明。
下面将结合附图,通过下述多个示例性实施例对本申请实施例进行举例说明。以下实施例中的方法均可以在具有上述硬件结构和软件架构的电子设备中实现。电子设备的硬件结构图可以如图2所示,电子设备的软件结构框图可以如图3所示,但本申请实施例并不限于此。本申请实施例提供的多尺寸多类型卡片的处理方法的执行主体可以是电子设备,也可以是电子设备中的硬件和/或软件模块。为了便于说明,本申请实施例中均以执行主体是电子设备为例进行示例性说明。
下面结合具体的实施例介绍本申请实施例提供的多尺寸多类型卡片的处理方法。
图4是本申请实施例提供的多尺寸多类型卡片的处理方法的流程示意图。参照图4所示,该方法包括下述的步骤S201-S214。
在一些实施例中,服务器侧包括多个服务器,例如运营云服务器和广告云服务器。运营云服务器可以下发运营商投放的运营卡片,运营卡片包括运营商配置的卡片、根据大数据算法推荐的卡片(称为大数据推荐卡片)、和/或基础体验卡片。广告云服务器可以下发由广告商投放的广告卡片。
下述的S201至S204为运营云服务器下发卡片数据以及电子设备对卡片数据进行过滤的过程。
S201、对于运营云服务器下发的卡片数据,电子设备判断卡片类型是JS类型还是widget类型。
其中,若电子设备检测到卡片数据包括应用包名和widget类名,则电子设备可以确定卡片类型是JS类型。
其中,若电子设备检测到卡片数据包括rpk包及版本号,则电子设备可以确定卡片类型是JS类型。
S202、在卡片类型是widget类型的情况下,电子设备根据应用包名、widget类名判断卡片数据是否满足第一条件,将满足第一条件的卡片数据保留,将不满足第一条件的卡片数据过滤掉。
需要说明的是,对于widget类型的卡片,在创建时需要满足第一条件,第一条件包括:电子设备上有宿主应用、且应用清单文件中包含widget类。
一方面,电子设备可以根据应用包名,判断电子设备上是否有宿主应用。具体而言,若在电子设备上已安装的某一APP的包名与卡片数据所含的APP包名一致,则可以确定电子设备上有宿主应用。若在电子设备上已安装的应用中不包括该APP包名对应的应用,则可以确定电子设备上有宿主应用。
另一方面,电子设备可以根据widget类名,判断应用清单文件中是否包含widget类。具体而言,若应用清单文件中包含widget类,则可以确定宿主应用能够提供widget类型的卡片。也就是说,满足第一条件的widget类型的卡片在电子设备侧支持被显示。
示例性地,参考图5所示,电子设备侧的快应用引擎(如widget管理模块)可以对服务器侧下发的widget类型的卡片数据进行筛选,将满足第一条件的卡片数据保留,并将不满足第一条件的卡片数据过滤。
S203、在卡片类型是JS类型的情况下,基于快应用引擎版本号判断是否满足第二条件,并将不满足第二条件的数据过滤掉。
需要说明的是,对于JS类型的卡片,在创建时需要满足第二条件,第二条件包括:卡片数据中rpk包的版本号小于或等于快应用引擎的版本号。
示例性地,参考图6所示,快应用引擎可以对服务器侧下发的JS类型的卡片数据进行筛选,将满足第二条件的卡片数据保留,并将不满足第二条件的卡片数据过滤。
若卡片数据中rpk包的版本号小于或等于快应用引擎的版本号,则快应用引擎能够渲染该卡片数据,因此保留该卡片数据。
若卡片数据中rpk包的版本号大于快应用引擎的版本号,则快应用引擎不支持渲染该卡片数据,因此将该卡片数据过滤掉。
S204、将S202满足第一条件的卡片数据和S203满足第二条件的卡片数据进行组合,得到运营卡片集合。
示例性地,参考图7,运营卡片集合可以包括六个卡片:op1、op2、op3、op4、op5、op6。
下述的S205至S208为广告云服务器下发卡片数据以及电子设备对卡片数据进行过滤的过程。
S205、对于广告云服务器下发的卡片数据,电子设备判断卡片类型是JS类型还是widget类型。
S206、在卡片类型是widget类型的情况下,电子设备根据应用包名、widget类名判断卡片数据是否满足第一条件,将满足第一条件的卡片数据保留,将不满足第一条件的卡片数据过滤掉。
S207、在卡片类型是JS类型的情况下,基于快应用引擎版本号判断是否满足第二条件,并将不满足第二条件的数据过滤掉。
S208、将S206满足第一条件的卡片数据和S207满足第二条件的卡片数据进行组合,得到广告卡片集合。
示例性地,再次参考图7,广告卡片集合可以包括三个卡片,分别记为ad_2、ad_3、ad_6。
上述S205至S208的实现过程类似于上述S201至S204的实现过程,此处不再赘述。
需要说明的是,本申请以对运营链路下发的卡片进行过滤得到运营卡片、对广告链路下发的卡片进行过滤得到广告卡片为例进行示例性说明,在实际实现时,不限于运营链路和广告链路,还可以包括对其他链路下发的卡片进行过滤得到其他卡片的实现方式,本申请不作限定。
S209、电子设备将运营卡片集合和广告卡片集合中满足第三条件的卡片数据过滤掉,第三条件为卡片集合中的某一卡片与当前页面已曝光的某一卡片具有相同服务ID。
电子设备检测卡片集合中是否存在与当前页面已曝光的卡片具有相同服务ID的卡片,若卡片集合的卡片1与当前页面已曝光的卡片2具有相同服务ID,则将卡片1从卡片集合中过滤掉,这样可以避免卡片重复曝光,并且可以将显示机会让给其他有价值的卡片。
S210、电子设备将经过过滤的运营卡片集合和广告卡片集合按位置索引组合,得到第一序列。
在得到过滤后的多链路卡片之后对卡片进行组合,例如将广告卡片集合中的广告卡按位置索引插入到运营卡片集合中。
示例性地,再次参考图7,电子设备将广告卡片集合的卡片按位置索引分别插入到运营卡片集合中,得到第一序列,该第一序列依次为:op1、ad_2、ad_3、op2、op3、ad_6、op4、op5、op6。
S211、电子设备对第一序列中的卡片进行编排。
在一些实施例中,将不同卡片的显示优先级设置为:具有指定位置的运营卡片>广告卡片>大数据推荐卡片>基础体验卡片。其中,具有指定位置的运营卡片的优先级最高,广告卡片次优先编排,以确保被曝光,体验卡片的优先级最低。本申请实施例提供的卡片编排算法可以保证卡片按照优先级排列并展示。
例如,某些运营卡片的指定位置预先设置为卡片序列的第1位置。
S212、在编排过程中,电子设备对第一序列进行不同维度的编排检查,得到第二序列,以避免在页面中显示卡片时页面出现空缺位置的情况。
具体编排检查过程将在下文中详细说明。
S213、电子设备从第二序列中获取满足第四条件的卡片,作为卡片显示序列(第三序列)。
例如,从第二序列中的第一个卡片开始,获取各种尺寸的卡片组合。
在一些实施例中,电子设备在卡片管理应用界面中分多个区域展示不同类型服务的卡片。示例性地,参考图8所示,电子设备在第一展示区域展示了“为你推荐”服务卡片,其中包括一个2*4尺寸的卡片和两个2*2尺寸的卡片;响应于用户在卡片管理应用界面上的滑动操作,电子设备显示第二展示区域,第二展示区域展示了 “大家都在用” 服务卡片,其中包括两个2*4尺寸的卡片。
需要说明的是,图8是对各种类型服务分区显示的示例性地说明,在实际实现时,电子设备还可以显示诸如“实用工具”、“便捷生活”、“影音娱乐”、“社交通讯”、“早教育儿”、“金融理财”、“出行导航”、“新闻阅读”、运动健康、“电商购物”、“买车用车”、“旅游住宿”等更多类型服务的卡片。具体分区显示哪些类型服务的卡片,可以根据实际使用需求进行设置,本申请实施例不作限定。
其中,每个展示区域的尺寸等于4*4尺寸或者为其他可能尺寸,为了便于说明,本申请实施例以每个展示区域为4*4尺寸为例进行示例性地说明。
在一些实施例中,单个展示区域可以显示三张卡片,例如第一行显示两个2*2尺寸的卡片,第二行显示一个2*4尺寸的卡片。
在一些实施例中,单个展示区域可以显示三张卡片,例如第一行显示一个2*4尺寸的卡片,第二行显示两个2*2尺寸的卡片。
在一些实施例中,单个展示区域可以显示四张卡片,例如四个2*2尺寸的卡片。
在一些实施例中,单个展示区域可以显示两张卡片,例如两个2*4尺寸的卡片。
换言之,卡片显示序列中的各个卡片的尺寸需要满足下述任一项:
(1)2*2尺寸、2*2尺寸、2*4尺寸。
(2)2*4尺寸、2*2尺寸、2*2尺寸。
(3)2*2尺寸、2*2尺寸、2*2尺寸、2*2尺寸。
(4)2*4尺寸、2*4尺寸。
当第三序列中的各个卡片的尺寸满足下述任一项时,即卡片组合满足页面无空缺条件,在每个展示区域内显示卡片显示序列中的各个卡片的效果最佳,无空缺位置。
S214、电子设备按照第三序列进行卡片曝光。
对于每个类型服务,电子设备获取对应的第三序列,并对应展示区域内按照第三序列展示卡片,实现卡片曝光。
需要说明的是,电子设备需要对第二序列进行截取并填充显示到展示区域中。填充显示的目标是显示两行,即:每行显示1个2*4或者2个2*2。
本申请提供的多尺寸多类型卡片的处理方法可用于解决云侧卡片数据下发后在电子设备侧展示不符合需求的问题。本申请实施例提供的多尺寸多类型卡片的处理方法,通过本申请对服务器下发的多尺寸多类型卡片进行过滤,并采用预设编排规则对经过过滤处理后的卡片进行编排,并在编排后的序列中根据卡片组合条件选取合适尺寸和数量的卡片,并通过组合多类型、多尺寸、多价值的卡片内容,在页面内容铺满的前提下尽可能地展示更具价值的卡片内容,使得多类型多尺寸内容最大化显示。
以上说明了电子设备接收服务器下发的运营卡片和广告卡片、对卡片进行顺序编排,得到卡片显示序列,然后在页面的分区按照卡片显示序列展示卡片的整体过程。下面结合图9说明本申请对卡片进行顺序编排的流程示意图。
首先需要说明的是,本申请实施例以页面分区大小为4*4尺寸、卡片尺寸为2*2或2*4尺寸为例进行示例性说明的,因此每个页面分区内最多能够显示4个2*2尺寸的卡片,最少能够显示2个2*4尺寸的卡片。
S301、电子设备选取第一序列的前四张卡片。
在第一序列中,各个卡片是按照优先级排列的,位置靠前的卡片的优先级高于位置靠后的卡片的优先级。示例性地,电子设备默认选取第一序列中优先级较高的前四张卡片进行下述逻辑判断以及顺序编排。
例如,前四张卡片为2*4运营卡片、2*2广告卡片、2*4广告卡片、2*2运营卡片。
S302、电子设备判断所取卡片是否满足页面无空缺条件。
如上所述,所取卡片满足页面无空缺条件,是指所取卡片中的至少两个卡片尺寸需满足对应的尺寸要求。
例如,所取卡片中的四个卡片的尺寸均为2*2尺寸。
再例如,所取卡片中的前两个卡片的尺寸均为2*4尺寸。
再例如,所取卡片中的前三个卡片的尺寸分别为2*2尺寸、2*2尺寸、2*4尺寸。
再例如,所取卡片中的前三个卡片的尺寸分别为2*4尺寸、2*2尺寸、2*2尺寸。
S303、在所取卡片满足页面无空缺条件的情况下,电子设备直接显示所取卡片中的部分或者全部。
若所取卡片满足页面无空缺条件,则电子设备无需编排顺序,直接显示所取卡片中的部分或者全部。
例如,所取卡片中的四个卡片的尺寸均为2*2尺寸,满足页面无空缺条件,则电子设备在4*4分区内第一行显示两个2*2卡片,第二行再显示另外两个2*2卡片。例如,所取卡片包括一个2*2运营卡片、一个2*2广告卡片、一个2*2广告卡片以及一个2*2运营卡片。
再例如,所取卡片中的前三个卡片的尺寸均为2*2尺寸、2*2尺寸、2*4尺寸,满足页面无空缺条件,则电子设备在4*4分区内第一行显示两个2*2卡片,第二行显示2*4卡片。例如,所取卡片包括一个2*2广告卡片、一个2*2广告卡片以及一个2*4运营卡片。
再例如,所取卡片中的前两个卡片的尺寸均为2*4尺寸,满足页面无空缺条件,则电子设备在4*4分区内分两行显示这两个2*4卡片。例如,所取卡片包括一个2*4广告卡片和一个2*4运营卡片。
S304、在所取卡片不满足页面无空缺条件的情况下,电子设备判断所取卡片是否有指定位置的运营卡片。
举例来说,电子设备检测到所取卡片中的某一卡片携带有指定位置标签,该标签指示卡片显示位置为首位,那么电子设备可以确定所取卡片中有指定位置的运营卡片。
S305、在所取卡片无指定位置的运营卡片的情况下,电子设备判断所取卡片中的所有广告卡片是否满足页面无空缺条件。
S306、在所取卡片中的所有广告卡片满足页面无空缺条件的情况下,电子设备在页面分区内显示所有广告卡片。
例如,所取卡片中的所有广告卡片包括一个2*2广告卡片、一个2*2广告卡片以及一个2*4广告卡片。
S307、在所取卡片中的所有广告卡片不满足页面无空缺条件的情况下,电子设备取一个2*2运营卡片,置于空缺位置。
举例来说,所取卡片包括一个2*4运营卡片、一个2*2广告卡片、一个2*4广告卡片、一个2*2运营卡片。所取卡片中的所有广告卡片包括一个2*2广告卡片和一个2*4广告卡片,不满足页面无空缺条件。也就是说,这两个广告卡片的组合被展示于页面时,页面会存在空缺位置,例如【空缺位置】、2*2广告卡片、2*4广告卡片。相应地,电子设备可以从所取卡片中获取一个2*2运营卡片,置于【空缺位置】,得到卡片序列:2*2运营卡片、2*2广告卡片、2*4广告卡片。
S308、电子设备判断卡片序列是否满足页面无空缺条件,若卡片序列不满足页面无空缺条件,则继续执行S307,即再取一个2*2运营卡片,置于空缺位置。
S309、若卡片序列满足页面无空缺条件,则电子设备在展示区域中展示卡片序列。
举例来说,卡片序列为:1个2*2运营卡片、1个2*2广告卡片、1个2*4广告卡片。通过本申请方案,电子设备将该卡片序列按照顺序显示于页面时,页面不存在空缺位置,因此提升了卡片显示效果。
以上通过S305-S309说明了在所取卡片没有指定位置的运营卡片的情况下的卡片编排方法,下面将说明在所取卡片有指定位置的运营卡片的情况下的卡片编排方法。
S310、在所取卡片有指定位置的运营卡片的情况下,电子设备标记指定位置。
举例来说,所取卡片中的一个运营卡片具有指定位置标签且该标签指示首位,在此情况下电子设备将首位标记为该运营卡片。
需要说明的是,为了便于区别,采用阴影标记具有指定位置的运营卡片。
S311、电子设备判断指定位置的运营卡片是否为2*4尺寸。
S312、在指定位置的运营卡片为2*4尺寸的情况下,电子设备判断所取卡片中除指定位置的运营卡片之外是否有2个2*2广告卡片。
S313、在所取卡片中除指定位置的卡片之外,有2个2*2广告卡片的情况下,电子设备取这两个2*2广告卡片,得到卡片序列。
举例来说,卡片序列为:指定位置的2*4运营卡片、2个2*2广告卡片。通过本申请方案,电子设备将该卡片序列按照顺序显示于页面时,页面不存在空缺位置,因此提升了卡片显示效果。
S314、在所取卡片中除指定位置的卡片之外,没有2个2*2广告卡片的情况下,电子设备判断所取卡片中除指定位置的卡片之外是否有2*4广告卡片。
S315、在所取卡片中除指定位置的卡片之外,有2*4广告卡片的情况下,电子设备取该2*4广告卡片,得到卡片序列。
举例来说,卡片序列为:指定位置的2*4运营卡片、1个2*4广告卡片。通过本申请方案,电子设备将该卡片序列按照顺序显示于页面时,页面不存在空缺位置,因此提升了卡片显示效果。
S316、在所取卡片中除指定位置的卡片之外,没有2*4广告卡片的情况下,电子设备从第一序列中取一个2*4运营卡片或者两个2*2运营卡片,得到卡片序列。
举例来说,卡片序列为:指定位置的2*4运营卡片、1个2*4运营卡片。或者,卡片序列为:指定位置的2*4运营卡片、2个2*2运营卡片。
通过本申请方案,电子设备将该卡片序列按照顺序显示于页面时,页面不存在空缺位置,因此提升了卡片显示效果。
以上通过S312-S316说明了在所取卡片有指定位置的运营卡片、且该运营卡片为2*4尺寸的情况下的卡片编排方法,下面将说明在所取卡片有指定位置、且该运营卡片为2*2尺寸的运营卡片的情况下的卡片编排方法。
S317、在指定位置的运营卡片不是2*4尺寸的情况下,电子设备判断所取卡片中除指定位置的运营卡片之外是否有1个2*2广告卡片。
S318、在所取卡片中除指定位置的运营卡片之外有1个2*2广告卡片的情况下,电子设备取该2*2广告卡片。
举例来说,基于指定位置的运营卡片和2*2广告卡片,得到卡片序列1:指定位置的2*2运营卡片、1个2*2广告卡片。
S319、在所取卡片中除指定位置的运营卡片之外没有2*2广告卡片的情况下,电子设备取1个2*2运营卡片。
举例来说,基于指定位置的运营卡片和1个2*2运营卡片,得到卡片序列2:指定位置的2*2运营卡片、1个2*2运营卡片。
S320、电子设备判断所取卡片中除指定位置的运营卡片之外是否有1个2*4广告卡片。
S321、在所取卡片中除指定位置的运营卡片之外有2*4广告卡片的情况下,电子设备取该2*4广告卡片。
举例来说,基于卡片序列1以及2*4广告卡片,得到卡片序列3:指定位置的2*2运营卡片、1个2*2广告卡片、2*4广告卡片。
再举例来说,基于卡片序列2以及2*4广告卡片,得到卡片序列3:指定位置的2*2运营卡片、1个2*2运营卡片、2*4广告卡片。
S322、在所取卡片中除指定位置的运营卡片之外没有2*4广告卡片的情况下,电子设备取一个2*4运营卡片,得到卡片序列4。
举例来说,基于卡片序列1以及2*4运营卡片,得到卡片序列3:指定位置的2*2运营卡片、1个2*2广告卡片、2*4运营卡片。
再举例来说,基于卡片序列2以及2*4运营卡片,得到卡片序列3:指定位置的2*2运营卡片、1个2*2运营卡片、2*4运营卡片。
通过本申请方案,电子设备将该卡片序列按照顺序显示于页面时,页面不存在空缺位置,因此提升了卡片显示效果。
第一实施例:无运营指定位置的编排方式
以上实施例说明了本申请对卡片进行顺序编排的流程示意图,下面基于图9所示流程图,再结合图10说明本申请对卡片进行顺序编排的可能实现方式。
如图10所示,第一序列L1为op1(2*4)、ad_2(2*2)、ad_3(2*4)、op2(2*2)、op3(2*4)、ad_6(2*2)、op4(2*2)、op5(2*2)、op6(2*2)。其中,op表示运营卡片,ad表示广告卡片。2*4表示卡片尺寸为2*4,2*2表示卡片尺寸为2*2。
针对每个卡片标注了位置索引,从前到后依次为0、1、2、…、8。
首先,电子设备取第一序列的前四张卡片,所取卡片为op1、ad_2、ad_3、op2。
然后,电子设备确定所取卡片是否满足页面无空缺条件。其中,电子设备基于所取卡片的尺寸2*4、2*2、2*4、2*2,可以确定所取卡片不满足页面无空缺条件。
然后,电子设备判断所取卡片中是否有指定位置的运营卡片。其中,op1、ad_2、ad_3、op2中均未携带指定位置标签,因此电子设备确定所取卡片中没有指定位置的运营卡片。
然后,电子设备判断所取卡片中的所有广告卡片是否满足页面无空缺条件。
其中,该判断过程会遍历所取卡片中的所有广告卡片。
参考图10所示的①步骤,电子设备先检查广告卡片ad_2,尺寸为2*2,电子设备记录信息:位置索引I=1,统计数量C=1,序列L2=[ad_2]。其中,C表示2*2卡片的统计数量,I表示最新统计的2*2卡片的位置索引,序列L2表示最新统计得到的卡片序列。
然后电子设备再检查广告卡片ad_3,尺寸为2*4,电子设备更新信息:位置索引I=1,统计数量C=1,序列L2=[ad_2,ad_3]。由于所取卡片中不包括广告卡片ad_6,因此不检查广告卡片ad_6。序列L2还被称为第四序列。
其中,所取卡片中的所有广告卡片为ad_2和ad_3,尺寸分别为2*2和2*4。电子设备基于广告卡片的尺寸2*2和2*4,可以确定广告卡片组合不满足页面无空缺条件。空缺位置如下:【空缺位置】、ad_2、ad_3。
然后,在所取卡片中的所有广告卡片不满足页面无空缺条件的情况下,电子设备遍历所取卡片中的2*2运营卡片。
参考图10所示的②步骤,由于运营卡片op1的尺寸为2*4,因此不检查运营卡片op1。电子设备检查运营卡片op2,尺寸为2*2,将2*2尺寸的运营卡片置于序列L2的头部空缺位置。并更新信息:位置索引I=3,统计数量C=2,序列L2=[op2,ad_2,ad_3]。
这样,电子设备可以取所取卡片中的2*2运营卡片op2,置于空缺位置,得到卡片序列:op2,ad_2,ad_3。由于op2,ad_2,ad_3的尺寸分别为2*2,2*2,2*4,因此,电子设备将该卡片序列按照顺序显示于页面时,页面不存在空缺位置,提升了卡片显示效果。
需要说明的是,通过上述编排步骤,对卡片集合中的部分卡片进行了顺序编排,能够保证在一个页面分区显示时不存在空缺位置,接下来说明对卡片集合中的另一部分卡片进行顺序编排的可能实现方式。
参考图10所示的③步骤,电子设备遍历序列L2中的每个运营卡片。需要说明的是,基于序列L2,将L1拆分为序列L3和序列L4。
电子设备检查运营卡片op2,并记录信息:序列L3=[op2],L4=[op1,ad_2,ad_3,op3,ad_6,op4,op5,op6]。然后电子设备基于广告卡片ad_2和ad_3更新信息:序列L3=[op2,ad_2,ad_3],L4=[op1,op3,op4,op5,op6]。其中,序列L3指示重新构建的卡片序列,L4指示除序列L3之外的卡片。
参考图10所示的④步骤,电子设备遍历序列L4中的每个卡片。具体规则为:对于2*4尺寸,直接添加到序列L3=[op2,ad_2,ad_3]的尾部;对于2*2尺寸,需要继续判断L3中2*2尺寸的卡片数量,如果2*2尺寸的卡片数量是偶数,则将2*2尺寸卡片添加到序列L3的尾部,如果2*2尺寸的卡片数量是奇数,则将2*2尺寸卡片添加到位置索引I的下一个位置,添加后统计数量C更新。
电子设备先检查运营卡片op1并更新信息:L5=[op2,ad_2,ad_3,op1]。然后检查运营卡片op3并更新信息:L5=[op2,ad_2,ad_3,op1,op3]。然后检查运营卡片op4并更新信息:L5=[op2,ad_2,ad_3,op1,op3,op4],位置索引I=6,统计数量C=3。然后检查运营卡片op5并更新信息:L5=[op2,ad_2,ad_3,op1,op3,op4,op5],位置索引I =7,统计数量C=4。然后检查运营卡片op6并更新信息:L5=[op2,ad_2,ad_3,op1,op3,op4,op5,op6],位置索引I=8,统计数量C =5。
电子设备通过卡片编排,得到重新构建的卡片序列L5:op2,ad_2,ad_3,op1,op3,op4,op5,op6。然后,电子设备从重新构建的卡片序列L3的起始部分开始进行两次截取操作。其中,每次截取一个2*4或或者两个2*2。
参考图10所示的⑤步骤,从重新构建的卡片序列的起始部分开始,截取两个2*2尺寸的卡片和一个2*4尺寸的卡片。
参考图10所示的⑥步骤,将所截取的卡片展示于卡片管理应用的页面中一个展示区域中,由于卡片op2和卡片ad_2均为2*2尺寸,卡片ad_3为2*4尺寸该展示区域不存在空缺位置,提升了卡片显示效果。
图11中的(a)示出了卡片编排前的卡片显示效果示意图,图11中的(b)示出了基于图10进行卡片编排后的卡片显示效果示意图。下面结合附图对比说明卡片编排前后的改进效果。
如图11中的(a)所示,在未对卡片编排的情况下,未编排的卡片顺序为卡片op1、卡片ad_2、卡片ad_3…。电子设备按照顺序依次显示位置靠前的部分卡片。例如,在“为你推荐”展示区域中依次显示了2*4尺寸的卡片op1和2*2尺寸的卡片ad_2,虚线框表示的剩余位置只能显示2*2尺寸的卡片,但是卡片ad_3的2*4尺寸大于剩余位置2*2尺寸,因此不支持显示,导致“为你推荐”展示区域中出现空缺位置。
如图11中的(b)所示,在通过本申请方案对卡片编排的情况下,编排后的卡片顺序为卡片op2、卡片ad_2、卡片ad_3…。电子设备按照顺序依次显示位置靠前的部分卡片。例如,在“为你推荐”展示区域中依次显示了2*2尺寸的卡片op2、2*2尺寸的卡片ad_2、2*4尺寸的卡片ad_3,“为你推荐”展示区域中未出现空缺位置。
第二实施例:有运营指定位置的编排方式
下面先简要说明第二实施例与第一实施例之间的区别,在第一实施例中所涉及的第一序列L1中不含有指定位置的运营卡片,相应地编排过程为:先对广告卡片进行遍历检查,再对运营卡片进行遍历检查,然后根据遍历检查结果进行卡片编排;在第二实施例中所涉及的卡片集合含有指定位置的运营卡片,相应地编排过程为:优先编排指定位置的运营卡片,不对广告卡片进行遍历检查,只需对运营卡片进行遍历检查,然后根据遍历检查结果进行卡片编排。
下面基于图9所示流程图,再结合图12说明本申请对卡片进行顺序编排的可能实现方式。
如图12所示,第一序列L1为op1(2*4)、ad_2(2*2)、ad_3(2*4)、op2(2*2)、op3(2*4)、ad_6(2*2)、op4(2*2)、op5(2*2)、op6(2*2)。针对每个卡片标注了位置索引,从前到后依次为0、1、2、…、8。
首先,电子设备取第一序列的前四张卡片,所取卡片为op1、ad_2、ad_3、op2。
然后,电子设备确定所取卡片是否满足页面无空缺条件。其中,电子设备基于所取卡片的尺寸2*4、2*2、2*4、2*2,可以确定所取卡片不满足页面无空缺条件。
然后,电子设备判断所取卡片中是否有指定位置的运营卡片。其中,op1携带指定位置标签,因此电子设备确定所取卡片中有指定位置的运营卡片。例如,op1的指定位置标签指示“首位”。相应地,电子设备标记运营卡片op1的位置为“首位”。
然后,电子设备判断具有指定位置的运营卡片的尺寸是否为2*4尺寸。如图12所示,具有指定位置的运营卡片op1的尺寸为2*4。
在具有指定位置的运营卡片的尺寸为2*4的情况下,电子设备判断后续两个卡片是否均为2*2尺寸的广告卡片。如图12所示,后续两个卡片分别为2*2尺寸和2*4尺寸的广告卡片,不满足条件。
在后续两个卡片不全为2*2尺寸的广告卡片的情况下,电子设备判断后续一个卡片是否为2*4的广告卡片。如图12所示,后续一个卡片ad_2为2*2尺寸的广告卡片,不满足条件。
在后续一个卡片不是2*4的广告卡片的情况下,电子设备取一个2*2尺寸的广告卡片和一个2*2尺寸的运营卡片。下面结合示例说明具体编排过程。
参考图12所示的①步骤,先遍历运营卡片:将2*2运营卡片添加到序列L2中。其中,位置索引I=1,统计数量C =1,序列L2=[op2]。由于序列L2中仅包含一个op2,因此不参与计算,直接清空,即序列L2=[ ],并且位置索引I =0,统计数量C =0。
参考图12所示的②步骤,遍历序列L1,先检查op1,将具有指定位置的op1直接添加到集合序列L3,即序列L3=[op1],无需计算位置索引I、统计数量C。
然后检查ad_2,由于ad_2为2*2尺寸,因此将ad_2添加到序列L3,即序列L3=[op1,ad_2],位置索引I =1,统计数量C =1。
然后检查ad_3,由于ad3为2*4尺寸,2*4尺寸不参与位置索引和数量的记录,因此将ad3直接添加到序列L3,即序列L3=[op1,ad_2,ad_3]。
需要说明的是,当统计数量C为奇数时,在其左边插入2*2尺寸的卡片,并记录插入后2*2尺寸的卡片的索引;当统计数量C为偶数时,添加卡片并记录索引。
然后检查op2,由于ad_2为2*2尺寸,相应地位置索引I =3,统计数量C=2,序列L3=[op1,ad_2,op2,ad_3]。其中,在ad_3左边插入2*2尺寸的卡片op2。
然后依次检查op3,ad_6、op4、op5、op6,记录信息:位置索引I=8,统计数量C =6,序列L3=[op1,ad_2,op2,ad_3,op3,op4,op5,op6]。
电子设备通过编排,得到重新构建的序列L3:op1,ad_2,op2,ad_3,op3,op4,op5,op6。然后,电子设备从重新构建的序列L3的起始部分开始进行两次截取操作。其中,每次截取一个2*4或或者两个2*2。
参考图12所示的③步骤,电子设备从重新构建的序列L3截取了卡片op1、卡片ad_2和卡片op2。卡片op1为2*4尺寸,卡片ad_2和卡片op2均为2*2尺寸。
参考图12所示的④步骤,将所截取的卡片展示于卡片管理应用的页面中一个展示区域中,该展示区域不存在空缺位置,因此通过卡片编排提升了卡片显示效果。
图13中的(a)示出了卡片编排前的卡片显示效果示意图,图13中的(b)示出了基于图10进行卡片编排后的卡片显示效果示意图。下面结合附图对比说明卡片编排前后的改进效果。
如图13中的(a)所示,在未对卡片编排的情况下,未编排的卡片顺序为卡片op1、卡片ad_2、卡片ad_3…。其中,卡片op1指定了首位位置。电子设备按照顺序依次显示位置靠前的部分卡片。例如,在“为你推荐”展示区域中依次显示了2*4尺寸的卡片op1和2*2尺寸的卡片ad_2,虚线框表示的剩余位置只能显示2*2尺寸的卡片,但是卡片ad_3的2*4尺寸大于剩余位置2*2尺寸,因此不支持显示,导致“为你推荐”展示区域中出现空缺位置。
如图13中的(b)所示,在通过本申请方案对卡片编排的情况下,卡片op1位于首位位置,编排后的卡片顺序为卡片op1、卡片ad_2、卡片op2、卡片ad_3…。电子设备按照顺序依次显示位置靠前的部分卡片。例如,在“为你推荐”展示区域中依次显示了2*4尺寸的卡片op1、2*2尺寸的卡片ad_2、2*2尺寸的卡片op2。“为你推荐”展示区域中未出现空缺位置。
本申请实施例提供的多尺寸多类型卡片的处理方法,通过本申请对服务器下发的多尺寸多类型卡片进行过滤,并采用预设编排规则对经过过滤处理后的卡片进行编排,并在编排后的序列中根据卡片组合条件选取合适尺寸和数量的卡片,并通过组合多类型、多尺寸、多价值的卡片内容,在页面内容铺满的前提下尽可能地展示更具价值的卡片内容,使得多类型多尺寸内容最大化显示。
本申请相较于相关技术的改进点在于:相关技术提供的卡片展示方案通常基于同类型同尺寸组合,因此在显示时比较简单,直接平铺,可能存在页面空缺的情况。本申请方案能够配合多种优先级属性对多类型多尺寸的卡片进行编排,能够优先显示运营配置卡片和商业化卡片。并且,本申请方案可以避免页面显示空缺,增加内容覆盖率,在编排多尺寸卡片之后,可以消除页面显示空缺,将页面显示内容做到最大化。也就是说,通过本申请提供的多类型多尺寸内容最大化显示的编排方法,可以组合多类型、多尺寸、多价值的内容,在页面内容铺满的前提下尽可能地展示更具价值的卡片内容。
需要说明的是,在本申请实施例中,“大于”可以替换为“大于或等于”,“小于或等于”可以替换为“小于”,或者,“大于或等于”可以替换为“大于”,“小于”可以替换为“小于或等于”。
本文中描述的各个实施例可以为独立的方案,也可以根据内在逻辑进行组合,这些方案都落入本申请的保护范围中。
上文主要从方法步骤的角度对本申请实施例提供的方案进行了描述。可以理解的是,为了实现上述功能,实施该方法的电子设备包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的保护范围。
本申请实施例可以根据上述方法示例,对电子设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有其它可行的划分方式。下面以采用对应各个功能划分各个功能模块为例进行说明。
图14为本申请实施例提供的多尺寸多类型卡片的处理装置400的示意性框图。该装置400可以用于执行上文方法实施例中电子设备所执行的动作。该装置400包括收发单元410、处理单元420和显示单元430。其中,处理单元420包括过滤子单元和编排子单元。
收发单元410,用于从第一服务器和第二服务器分别获取多尺寸且多类型的多个卡片;
处理单元420,用于基于卡片类型,将所述多个卡片中不满足预设条件的卡片过滤掉,分别得到第一服务卡片集合和第二服务卡片集合;并从所述第一服务卡片集合和所述第二服务卡片集合中移除第一卡片,所述第一卡片的标识与卡片展示页面中已曝光的服务卡片的标识相同;
处理单元420,还用于将处理后的第一服务卡片集合和第二服务卡片集合按照位置索引关系组合成第一序列;按照预设编排规则,对所述第一序列中的卡片进行编排,得到第二序列;从所述第二序列获取满足预设组合条件的多个卡片,形成第三序列;
显示单元430,用于在所述卡片展示页面的第一展示区域中分行显示所述第三序列的卡片;其中,满足所述预设组合条件的多个卡片组合后的尺寸等于所述第一展示区域的尺寸。
通过本申请实施例提供的多尺寸多类型卡片的处理方法,对服务器下发的多尺寸多类型卡片进行过滤,例如将在电子设备侧不支持显示的卡片过滤,将与电子设备侧已显示卡片的服务标识相同的卡片过滤,这样保证了经过过滤处理后的卡片都能够由电子设备显示并且不会重复展示。然后,针对经过过滤处理后的卡片采用预设编排规则进行编排,然后从编排后的卡片序列中获取满足预设组合条件的多个卡片,多个卡片组合后的尺寸等于卡片展示区域的尺寸,由此避免位置空缺,并且保证诸如运营卡片和广告卡片等不同服务卡片能够在电子设备侧合理展示,使得多类型多尺寸内容最大化显示,提升了电子设备对多尺寸多类型卡片的整体展示效果。
根据本申请实施例的装置400可对应于执行本申请实施例中描述的方法,并且装置400中的单元的上述和其它操作和/或功能分别为了实现方法的相应流程,为了简洁,在此不再赘述。
本申请还提供一种芯片,该芯片与存储器耦合,该芯片用于读取并执行存储器中存储的计算机程序或指令,以执行上述各实施例中的方法。
本申请还提供一种电子设备,该电子设备包括芯片,该芯片用于读取并执行存储器存储的计算机程序或指令,使得各实施例中的方法被执行。
本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的多尺寸多类型卡片的处理方法。
本实施例还提供了一种计算机程序产品,该计算机可读存储介质存储有程序代码,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的多尺寸多类型卡片的处理方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的多尺寸多类型卡片的处理方法。
其中,本实施例提供的电子设备、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本文中术语“和/或”,是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本文中符号“/”表示关联对象是或者的关系,例如A/B表示A或者B。
本文中的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或者两个以上,例如,多个处理单元是指两个或者两个以上的处理单元等;多个元件是指两个或者两个以上的元件等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (20)
1.一种多尺寸多类型卡片的处理方法,其特征在于,应用于电子设备,所述方法包括:
从第一服务器和第二服务器分别获取多尺寸且多类型的多个卡片;
基于卡片类型,将所述多个卡片中不满足预设条件的卡片过滤掉,分别得到第一服务卡片集合和第二服务卡片集合;
从所述第一服务卡片集合和所述第二服务卡片集合中移除第一卡片,所述第一卡片的标识与卡片展示页面中已曝光的服务卡片的标识相同;
将处理后的第一服务卡片集合和第二服务卡片集合按照位置索引关系组合成第一序列;
按照预设编排规则,对所述第一序列中的卡片进行编排,得到第二序列;
从所述第二序列获取满足预设组合条件的多个卡片,形成第三序列;
在所述卡片展示页面的第一展示区域中分行显示所述第三序列的卡片;
其中,满足所述预设组合条件的多个卡片组合后的尺寸等于所述第一展示区域的尺寸。
2.根据权利要求1所述的方法,其特征在于,
所述第一服务器为运营云服务器,所述第一服务卡片集合为运营卡片构成的序列;
所述第二服务器为广告云服务器;所述第二服务卡片集合为广告卡片构成的序列。
3.根据权利要求1所述的方法,其特征在于,在所述按照预设编排规则,对所述第一序列中的卡片进行编排之前,所述方法还包括:
判断所述第一序列中的前M个卡片组合后的尺寸是否满足所述预设组合条件;
所述按照预设编排规则,对所述第一序列中的卡片进行编排,包括:
在所述前M个卡片组合后的尺寸不满足所述预设组合条件的情况下,按照预设编排规则,对所述第一序列中的卡片进行编排。
4.根据权利要求3所述的方法,其特征在于,所述按照所述预设编排规则,对所述第一序列中的卡片进行编排,包括:
判断所述第一序列中是否存在具有指定位置的卡片;
在所述第一序列不存在具有指定位置的卡片的情况下,根据所述前M个卡片中的广告卡片的尺寸及数量,确定所述前M个卡片中的运营卡片的排列位置;
在所述第一序列存在具有指定位置的第一运营卡片的情况下,将所述第一运营卡片排列到所述指定位置;然后根据所述第一运营卡片的卡片尺寸,确定所述前M个卡片中的广告卡片及运营卡片的排列位置。
5.根据权利要求4所述的方法,其特征在于,所述根据所述前M个卡片中的广告卡片的尺寸及数量,确定所述前M个卡片中的运营卡片的排列位置,包括:
根据所述前M个卡片中的所有广告卡片,构成第四序列;
对于所述前M个卡片中的第一尺寸的运营卡片,根据所述前M个卡片中的第一尺寸的运营卡片的卡片数量,确定所述第一尺寸的运营卡片的排列位置;
对于所述前M个卡片中的第二尺寸的运营卡片,排列到所述第四序列的尾部。
6.根据权利要求5所述的方法,其特征在于,所述根据所述前M个卡片中的第一尺寸的运营卡片的卡片数量,确定所述第一尺寸的运营卡片的排列位置,包括:
若所述前M个卡片中第一尺寸的广告卡片的卡片数量为奇数,则将所述前M个卡片中第一尺寸的运营卡片排列到所述第四序列的头部,或者排列到所述第四序列中最后一个第一尺寸的广告卡片的下一个位置;
若所述前M个卡片中第一尺寸的广告卡片的卡片数量为偶数,则将所述前M个卡片中第一尺寸的运营卡片排列到所述第四序列的尾部。
7.根据权利要求4所述的方法,其特征在于,所述指定位置为所述第三序列中的首位;所述根据所述第一运营卡片的卡片尺寸,确定所述前M个卡片中的广告卡片及运营卡片的排列位置,包括:
当所述第一运营卡片的卡片尺寸为第一尺寸时,从所述前M个卡片中获取一个第一尺寸的广告卡片或运营卡片,然后再从所述前M个卡片中获取一个第二尺寸的广告卡片或运营卡片,并确定排列顺序为:所述第一运营卡片、一个第一尺寸的广告卡片或运营卡片、一个第二尺寸的广告卡片或运营卡片;
当所述第一运营卡片的卡片尺寸为第二尺寸时,从所述前M个卡片中获取两个第一尺寸的广告卡片或者一个第二尺寸的广告卡片,并确定排列顺序为:所述第一运营卡片、两个第一尺寸的广告卡片或者一个第二尺寸的广告卡片。
8.根据权利要求3至7中任一项所述的方法,其特征在于,M为预设的整数值,M取值与所述第一展示区域的尺寸以及多尺寸卡片的最小尺寸有关。
9.根据权利要求8所述的方法,其特征在于,M取值等于所述第一展示区域的尺寸与多尺寸卡片的最小尺寸之间的比值。
10.根据权利要求1所述的方法,其特征在于,所述多尺寸包括第一尺寸和第二尺寸,所述第二尺寸为所述第一尺寸的两倍;所述第一展示区域的尺寸为所述第一尺寸的四倍;
所述从所述第二序列获取满足预设组合条件的多个卡片,包括:
从所述第二序列中完成两次获取,每次获取两个第一尺寸或者一个第二尺寸。
11.根据权利要求10所述的方法,其特征在于,所述第三序列包括:
两个第一尺寸的卡片和一个第二尺寸的卡片;或者,
一个第二尺寸的卡片和两个第一尺寸的卡片;或者,
四个第一尺寸的卡片;或者,
两个第二尺寸的卡片。
12.根据权利要求11所述的方法,其特征在于,所述分行显示所述第三序列的卡片,包括:
一行显示两个第一尺寸的卡片,另一行显示一个第二尺寸的卡片;或者,
一行显示一个第二尺寸的卡片,另一行显示两个第一尺寸的卡片;或者,
一行显示两个第一尺寸的卡片,另一行显示另两个第一尺寸的卡片;或者,
一行显示一个第二尺寸的卡片,另一行显示另一个第二尺寸的卡片。
13.根据权利要求10至12中任一项所述的方法,其特征在于,所述第一尺寸为2*2,所述第二尺寸为2*4,第一展示区域的尺寸为4*4。
14.根据权利要求1至7中任一项所述的方法,其特征在于,所述第一序列包括具有指定位置的运营卡片、广告卡片、大数据推荐卡片和基础体验卡片;
所述按照预设编排规则,对所述第一序列中的卡片进行编排,包括:
根据不同卡片对应的优先级对所述第一序列中的卡片进行编排;
其中,优先级从高到低为:具有指定位置的运营卡片、广告卡片、大数据推荐卡片、基础体验卡片。
15.根据权利要求1至7中任一项所述的方法,其特征在于,不同的卡片类型对应不同的预设条件;
所述卡片类型为widget类型,对应的所述预设条件为:卡片的宿主应用已安装于所述电子设备且所述电子设备的应用清单文件中包含widget类;
所述卡片类型为JS类型,对应的所述预设条件为:卡片的rpk包对应的版本号小于或等于所述电子设备中安装的快应用引擎的版本号。
16.根据权利要求1至7中任一项所述的方法,其特征在于,所述从所述第一服务卡片集合和所述第二服务卡片集合中移除第一卡片,包括:
获取所述卡片展示页面中已曝光的服务卡片的标识;
将已曝光的服务卡片的标识与卡片集合中的卡片标识进行比对;
若所述卡片集合中存在与已曝光的服务卡片的标识相同的第一卡片,则从卡片集合中移除所述第一卡片;
其中,所述卡片集合为所述第一服务卡片集合或所述第二服务卡片集合。
17.根据权利要求2至7中任一项所述的方法,其特征在于,所述第二服务卡片集合中的广告卡片分别具有各自的位置索引;
所述将处理后的第一服务卡片集合和第二服务卡片集合按照位置索引关系组合成第一序列,包括:
将所述第二服务卡片集合中的广告卡片按照各自的位置索引插入到运营卡片构成的序列中,形成所述第一序列。
18.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述第一序列中的前M个卡片组合后的尺寸满足所述预设组合条件,则在所述第一展示区域中按照所述第一序列分行显示所述前M个卡片。
19.一种电子设备,其特征在于,所述电子设备包括:一个或多个处理器,以及存储器;
所述存储器与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得所述电子设备执行如权利要求1至18中任一项所述的方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括指令,当所述指令在电子设备上运行时,使得所述电子设备执行如权利要求1至18中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410253440.1A CN117827053A (zh) | 2024-03-06 | 2024-03-06 | 多尺寸多类型卡片的处理方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410253440.1A CN117827053A (zh) | 2024-03-06 | 2024-03-06 | 多尺寸多类型卡片的处理方法、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117827053A true CN117827053A (zh) | 2024-04-05 |
Family
ID=90517705
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410253440.1A Pending CN117827053A (zh) | 2024-03-06 | 2024-03-06 | 多尺寸多类型卡片的处理方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117827053A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108090142A (zh) * | 2017-12-04 | 2018-05-29 | 广东欧珀移动通信有限公司 | 卡片排序方法、装置、服务器以及存储介质 |
CN115311046A (zh) * | 2022-07-28 | 2022-11-08 | 阿里巴巴(中国)有限公司 | 商品信息流展示方法及电子设备 |
CN115705143A (zh) * | 2021-08-12 | 2023-02-17 | 荣耀终端有限公司 | 一种卡片信息显示方法及电子设备 |
CN116069231A (zh) * | 2021-10-30 | 2023-05-05 | 荣耀终端有限公司 | 一种卡片排布管理方法及电子设备 |
CN117631909A (zh) * | 2022-08-12 | 2024-03-01 | 华为技术有限公司 | 服务推荐方法及电子设备 |
-
2024
- 2024-03-06 CN CN202410253440.1A patent/CN117827053A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108090142A (zh) * | 2017-12-04 | 2018-05-29 | 广东欧珀移动通信有限公司 | 卡片排序方法、装置、服务器以及存储介质 |
CN115705143A (zh) * | 2021-08-12 | 2023-02-17 | 荣耀终端有限公司 | 一种卡片信息显示方法及电子设备 |
CN116069231A (zh) * | 2021-10-30 | 2023-05-05 | 荣耀终端有限公司 | 一种卡片排布管理方法及电子设备 |
CN115311046A (zh) * | 2022-07-28 | 2022-11-08 | 阿里巴巴(中国)有限公司 | 商品信息流展示方法及电子设备 |
CN117631909A (zh) * | 2022-08-12 | 2024-03-01 | 华为技术有限公司 | 服务推荐方法及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109740732A (zh) | 神经网络处理器、卷积神经网络数据复用方法及相关设备 | |
CN109271685A (zh) | 一种基于bim的城市更新改造数据存储方法及装置 | |
CN109388317B (zh) | 一种图片加载方法、终端设备及存储介质 | |
CN111124668B (zh) | 内存释放方法、装置、存储介质及终端 | |
CN110020300B (zh) | 一种浏览器页面合成方法及终端 | |
CN105955743B (zh) | 资源数值转移请求生成的方法、装置和系统 | |
CN114443189B (zh) | 一种图像处理方法和电子设备 | |
CN114186527A (zh) | 一种不依赖于网格点实现集成电路自动布线的方法及装置 | |
CN111589111B (zh) | 图像处理方法、装置、设备和存储介质 | |
US10643252B2 (en) | Banner display method of electronic device and electronic device thereof | |
CN117827053A (zh) | 多尺寸多类型卡片的处理方法、电子设备及存储介质 | |
CN114489897B (zh) | 一种对象处理方法、装置、终端设备及介质 | |
CN111274513B (zh) | 窗口显示方法、装置、终端及存储介质 | |
CN113900740A (zh) | 加载多项列表数据的方法及装置 | |
CN109871848B (zh) | 一种移动终端的文字识别方法及装置 | |
CN111191063A (zh) | 图片的分类方法、装置、终端及存储介质 | |
CN117131240B (zh) | 服务推荐方法、电子设备及计算机可读存储介质 | |
CN117130688B (zh) | 快应用卡片加载方法、电子设备及存储介质 | |
CN116672707B (zh) | 生成游戏预测帧的方法和电子设备 | |
CN117591488B (zh) | 一种文件检测方法、装置、存储介质及电子设备 | |
CN112925654B (zh) | 图片解码方法、装置、计算机设备及存储介质 | |
CN115690269B (zh) | 一种视图对象的处理方法及电子设备 | |
US20240073460A1 (en) | Method and apparatus for displaying information, electronic device and computer readable medium | |
CN117938938A (zh) | 动态更新卡片内容的方法、电子设备、服务器及通信系统 | |
CN117421088A (zh) | 页面显示方法、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |