codecamp

百度智能小程序 书架同步功能介绍

书架同步功能介绍

为什么要接入百度 APP-书架同步功能

小程序使用百度 APP-书架同步能力后,用户可将小程序里的内容添加至百度 APP-书架(下文简称“书架”),以通过书架便捷回访小程序,使小程序与用户的交互更高效,缩短内容重访路径,提高服务转化。

入口便捷,解决小程序内容重访难问题

  • 入口便捷易培养用户习惯:书架入口位于“百度 APP-我的”页面,只需简单的引导,即可实现新手教育、培养用户习惯。
  • 快速回访小程序内容: 用户可以在书架页面直接跳转至小程序内容落地页,实现高效重访。

及时沉淀用户,从单次消费到持续转化

  • 沉淀用户提升留存: 百度 APP-书架重访可以提升小程序与用户交互效率,持续引导新手用户转化成忠诚用户,提升用户留存。
  • 更懂用户实现持续转化: 通过用户对内容添加至书架等行为数据,开发者能够了解用户诉求,更针对性地服务用户,促成复购和持续转化。

什么内容可被加入到百度 APP-书架

  • 难以被用户单次浏览完、正在持续更新、具备重复浏览价值等用户期望后续继续浏览的小程序内容,均可以被加入到书架。
  • 目前支持 专栏、文档、视频、漫画 4 种小程序内容类型。

图片

百度 APP-书架入口

  1. 书架入口位于“百度 APP-我的-书架”,用户可以在此处查看所有被添加到书架的小程序内容,并可点击回访内容。


  2. 用户将小程序内容成功加入书架后,会弹出 toast 引导用户查看。



  3. 开发者在小程序内添加书架调起 API(详见 swan.navigateToBookshelf)后,用户可在小程序内直接唤起百度 APP-书架页面。

书架同步简要原理

开发者调用百度提供的小程序 API,向书架同步“用户-内容”的映射关系,并且提供书架内容查询接口,供百度获取内容的基本信息用作展示和跳转

其中,由开发者自定义的内容 ID(contentId)作为小程序每条内容的唯一标识,串联映射关系创建、映射关系查询、书架内容查询等整个链路

百度提供的 API

  • 添加书架‘用户-内容’关系(swan.insertBookshelf):在百度书架服务中建立用户和可被加入书架的内容的映射关系,调用成功则表示该内容被此用户成功加入书架
  • 查询书架‘用户-内容’关系(swan.queryBookshelf):查询某用户和某内容之间是否存在书架映射关系,即查询此用户书架内是否包含该内容
  • 从小程序内跳转到书架(swan.navigateToBookshelf):调用可实现从小程序内直接跳转到百度 App-书架,方便小程序用户回访书架内容
  • 更新用户-内容的最近阅读时间(swan.updateBookshelfReadtime):可将用户书架内某条内容的最近阅读时间更新为当前系统时间,最近阅读时间会用于书架内的小程序内容的排序

需要开发者实现的接口

  • 书架内容查询接口:当用户打开百度 APP-书架页面时,百度根据存储的‘用户-内容’映射关系,查询书架内的小程序内容对应的基本信息(如内容标题、封面图、跳转地址等),这些信息用于书架的小程序内容展示和跳转

书架同步开发流程

1. 小程序内调用 API 实现书架功能

(1)可调用 添加书架"用户-内容"关系实现"加入书架",详见swan.insertBookshelf

(2)可调用 查询书架"用户-内容"关系实现状态判断,详见swan.queryBookshelf

(3)可调用 从小程序内跳转到书架实现"去书架",详见swan.navigateToBookshelf

(4)可调用 更新用户-内容的最近阅读时间实现当用户浏览某条内容时,更新书架记录的当前‘用户-内容’的最近阅读时间,详见swan.updateBookshelfReadtime

添加书架‘用户-内容’关系(swan.insertBookshelf)API 需要开发者提前申请,开通对应的鉴权能力后才可使用。

示例流程(开发者可结合业务自身需要自行设计交互逻辑):图片

  • 用户首次在小程序内触发 swan.insertBookshelf 时,需要先授权小程序将内容同步到书架。此授权为永久授权,用户允许后下次触发不再弹出。

2. 开发并填写书架内容查询接口

(1)参照书架内容查询接口文档开发书架内容查询接口。

(2)在「开发者平台-产品试验室-百度 APP 书架同步」页面填写提交接口路径,以供百度 APP-书架服务查询并展示对应内容详情。图片

百度 APP-书架同步页面入口:

图片

百度 APP-书架同步页面:

图片

3. 调试功能,小程序提包上线

功能调试无误后即可提交小程序包,通过包体审核后书架同步功能上线。


百度智能小程序 小程序消息订阅服务
百度智能小程序 书架内容查询接口说明
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

百度智能小程序开发文档

百度智能小程序 组件

百度智能小程序 地图

百度智能小程序 画布

百度智能小程序 API

百度智能小程序 界面

百度智能小程序 关注小程序引导组件

百度智能小程序 自定义组件

百度智能小程序 媒体

百度智能小程序 设备

百度智能小程序 拨打电话

百度智能小程序 内存警报

百度智能小程序 手机联系人

百度智能小程序 用户截屏事件

百度智能小程序 第三方平台

百度智能小程序 开放接口

百度智能小程序 百度收银支付

百度智能小程序 分包预下载

百度智能小程序 数据分析

百度智能小程序 服务端

百度智能小程序 云开发

百度智能小程序 初始化

百度智能小程序 云函数

百度智能小程序 服务端初始化

百度智能小程序 服务器获取上下文

百度智能小程序 服务端云函数

百度智能小程序 开发教程

百度智能小程序 功能开发

百度智能小程序 基本原理

百度智能小程序 小程序自动化

百度智能小程序 视频教程

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }