AI开发者大会中的公开课摘要解读——如何在DuerOS技能中实现用户支付购买
在百度2019AI开发者大会上有很多相对精彩的公开课,DuerOS相关的公开课有4场,分别是:
DuerOS技能开发与CFC编程
如何在DuerOS技能中实现用户支付购买
面向多方式交互模型的DPL应用
故事引擎在DuerOS技能开发中的应用
本文主要解读一下谈老师分享的"如何在DuerOS技能中实现用户支付购买"。
购买、支付、计费、对账是一个生态系统的基础环境,对于对话式AI系统而言,DuerOS 一直致力于打造一个健康的生态环境。
从一个创意到一个DuerOS的技能实现,从赚钱到数钱(谈钱不伤感情),需要几步呢?
整个流程需要三个环节,创建技能,开发实现后,即可获取收入。
目前基于DuerOS的设备主要有两大类:有屏音箱和无屏音箱。无屏音箱没有屏幕,人机交互主要通过语音以及App伴侣完成,主要有小度音箱,pro,1s,大金刚等;有屏音箱带有触摸屏,人机交互除了可以使用语音以及伴侣App之外,还可以直接在屏幕上展现更多内容,同时可以响应用户的点击事件。
与手机App上的计费方式类似, DuerOS 主要支持两种用户付费方式:
付费技能的特点是,DuerOS负责付费相关全部流程,技能本身不直接参与付费相关流程,只需要关注自身的业务逻辑即可,开发成本很低。和付费技能相比,技能内付费需要和DuerOS有密切的的交互,来实现完整的付费流程。
谈老师给出了部分付费方式的技能实例:
当了解DuerOS设备和付费类型之后,就可以根据自己的需求,选择合适的设置来创建技能。
技能创建完成后,即可开始开发。
付费技能甚至可以不需要编程,比如创建小技能,无须进行任何编程,只需填入话术,上传照片和视频即可开发各种丰富有趣的语音技能,目前有话术类,音频类,视频类,图片类的模板,付费技能——彩虹情话就是小技能。
付费技能的交互模型如下:
可以看到,付费技能是感知不到付费相关流程的,从而降低了付费接入的成本。
从开发者角度来看,付费技能不参与付费流程;从用户角度看,如何实现付费技能的购买和使用呢?
在各种类型的DuerOS设备上均可完成技能服务的购买——
有屏音箱的query,和launchpad
无屏音箱的query
音箱app上的技能商店
谈老师以知识三国技能为例展示了在各种设备上的购买形态。
然后,展示了演示技能——百度侠客行。
对于技能内付费而言, 商业模式与appstore上的应用内购买类似。
目前的DuerOS平台支持两种技能内付费的指令:
Charge指令需要开发者自行管理商品:
购买流程中涉及商品展现的相关提示都为标准化配置,技能不能自行配置;
DuerOS仅负责完成指令中指定金额的收款,并通知技能付款完成;
技能负责下单以及维护用户购买状态。
Buy指令是DuerOS新提供的指令:
开发者预先在DuerOS中注册商品:
可以自定义购买流程中涉及商品展现的相关提示;
DuerOS负责根据商品信息完成下单,收款,并通知技能付款完成;
开发者可以直接调用DuerOS提供的API,获得商品列表以及用户的购买状态,降低了开发的成本。
本次的公开课上主要讲解了Buy指令的应用,技能内付费的交互模型与付费技能有着较大的差异。
技能内付费的开发流程增加了商品管理的过程——
商品的属性主要包括商品品类和购买的类型。
以百度侠客行为例,看一下“屠龙刀”商品对于的数据结构——
对用户需要付费的商品需要上传到DuerOS 平台,在具体使用的时候再通过DuerOS平台查询商品的状态。目前仅提供API方式,后续会在网站控制台里集成商品管理系统。
技能在运行时,可以调用本API完成各种类型商品的列表查询,同时获得当前用户的购买状态,也可以用来实现列表输出展现/判断用户是否购买过某个商品。
完成了商品管理之后,就可以进行技能开发了,开发流程主要分为4步:
定义技能所需要的各种意图,尤其是付费相关的意图;
在触发付费逻辑时,技能返回购买指令;
处理用户付款完成的通知事件,为用户发放相关权益;
在用户使用付费物品/资源时,对用户进行鉴权。
以百度侠客行为例,定义了三种意图:菜单选择,购买物品和使用物品。
基于PHP的示例代码如下:
定义好意图之后,用户主动/被动触发购买逻辑时,技能返回Buy指令;DuerOS收到Buy指令后,为用户展示付款界面。Buy指令非常精简,只需要传DuerOS的商品id和技能自定义的token。
在用户扫码付款后,屏幕上自动切换到新的结果页了,这是如何实现的呢?
这里其实分为了两个部分:二维码页面的自动轮询,成功后自动关闭;技能返回结果,DuerOS推送到设备上。
需要注意,事件可能为成功,也可能为失败,如何做容错处理呢?
由于该商品需要付费后才能使用,因此要对用户的使用权限进行验证。
至此,示例代码完成,建议使用有屏音箱或者无屏音箱和App伴侣,在真机进行测试。
如果验证没有问题,就可以申请上线了。 在上线完成后, 如果有用户使用了该技能,并进行了技能内付费,开发者就可以获取收入了。
DuerOS网站提供了专门的财务中心管理页。在收入详情里,我们可以看到如下数据:
每天的购买次数和付款总金额;
每个付费技能/技能内付费的购买次数和金额;
所有订单的详情记录;
在满足了提现规则后,可以申请提现,目前的到账是月结。
至此,可以回顾一下在DuerOS技能中实现用户支付购买的三个步骤。
以上是DuerOS技能开发和CFC编程公开课的内容概要,详细信息和完整PPT 可以关注 dueros.baidu.com/dbp 官网和DuerOS 开发者公众号以及各种开发者社群。