注意:以下文档只适用于TOP接口,请谨慎使用!

文档中心 > YunOS开放平台

API透传接口的内容拉取及翻页策略

更新时间:2016/12/24 访问次数:2370

用户在轻服务里进行刷新操作时,会触发服务端根据入参data调用您的透传接口,并将接口返回内容,在客户端展示给用户。已经下发的历史内容,客户端会缓存在本地;因此,如果接口对同一台用户设备,返回了重复的内容,那么客户端将会进行过滤,真实曝光的内容将会变少。

为了避免重复内容的情况,YunOS为透传接口提供了不同内容拉取和翻页策略,供开发者选择。该策略主要通过入参data来控制,data中的参数定义(如pageNo、pageSize、sysTime、did),详见轻服务出口网关API接口的参数说明

一.参数说明

did:设备唯一号,用来区分不同的用户设备

pageNo 根据用户的刷新行为,用户设备会对pageNo会进行递增或重置。您可以根据入参pageNo控制分页。

pageSize: 您的接口需要根据入参的pageSize,返回相应数目的jsonModel (什么是model和item,这样用户每次刷新将看到pageSize条的内容,见下图。pageSize默认为10,如需修改,请在“控制台”->"轻服务管理"->数据接入服务器设置页面 填写约定入参,如 pageSize=5,示例图见轻服务数据接入

注:如果接口返回了重复内容,那么用户刷新看到的条数将小于pageSize。

 

二、内容刷新策略

用户获取轻服务内容时,可以进行下拉刷新和上滑刷新。您的接口不需要区分这两种操作,只需根据入参的值返回内容即可。

YunOS提供了2类内容刷新策略,主要区别在于,用户进行下拉刷新时,是否清除客户端缓存的内容可以在“控制台”->“轻服务管理”->“编辑”->“插件配置”->“拉取策略”进行选择,并提交审核。

 

1.排行榜模式

适用于榜单类型,比如小说排行榜,每日十大热闻。下拉操作可以清除客户端缓存的内容。

选用这种方式,需要您的接口,根据pageNo和pageSize返回结果,避免返回重复内容。 

(1)上滑刷新

用户打开轻服务,进行初次刷新,客户端pageNo=1,拉取pageSize条内容;用户阅读完继续上滑,pageNo=2拉取pageSize条内容,插入队尾;阅读完继续上滑,以递增的pageNo获取内容;无内容返回时,用户会收到提示“暂无更多内容”。

(2)下拉刷新

用户进行下拉操作,客户端尝试以pageNo=1拉取内容。如果数据获取成功,则认为排行榜有更新,清空客户端缓存的历史数据,并展示拉取到的pageSize条内容;如果数据获取失败,则不进行任何操作,保留pageNo数据。

注1:每日清理该轻服务的所有数据,并重置pageNo。用户离开轻服务,再次进入时,重置pageNo。

注2:用户超过24小时不使用,客户端将删除本地缓存。

注3:在控制台选择此模式后,部分用户客户端版本较旧(只有下拉刷新,功能与新版本的上滑刷新功能相同),这部分用户不生效,拉取策略为“推荐模式”;新版本用户为“排行榜模式”。

 

2.推荐模式(使用pageNo)

这是默认的拉取策略,用户可以进行下拉和上滑操作。

(1)上滑刷新                 

与排行榜模式相同

(2)下拉

用户进行下拉操作,客户端以pageNo=1拉取内容,插入队首。

注1:每日清理该轻服务的所有数据,并重置pageNo。用户离开轻服务,再次进入时,重置pageNo。

注2:用户超过24小时不使用,客户端将删除本地缓存。

 

3.推荐模式(不使用pageNo)

如果pageNo的递增和重置,不满足需求。您可以选择推荐模式,并在开发API透传接口时,忽略入参pageNo,自定义内容的输出策略。示例策略供参考:

1.根据设备id(did)进行个性化推荐,每次刷新均返回最优质的内容,实现千人千面。

注意:针对同一个设备id,记录已经下发的内容,进行去重处理,不要下发重复的内容。否则,客户端将会过滤重复内容,导致内容下发条数减少,甚至提示“没有新的内容”。

2.根据设备id(did),自定义字段,维护翻页,这样您可以根据数据更新频率,自定义翻页字段的重置周期。

3.根据请求的时间戳sysTime,返回内容。内容更新不频繁容易出现重复数据,因此仅限内容更新频繁的开发者使用。

 

延伸:

问:如果A用户请求PageNo=1,PageSize=3的数据后,B用户也请求PageNo=1,PageSize=3的数据,B用户的请求还会发到开发者的服务器来处理,还是使用YunOS服务器上的缓存?

答:API透传接口,YunOS服务器不做缓存,所有的用户刷新都会请求开发者的服务器。

FAQ

关于此文档暂时还没有FAQ
返回
顶部