原生渲染预览服务

我们观察到当前 AIP 用户需要创建广告计划后,才能通过计划预览在实际环境查看页面投放效果。为了提高开发者在使用 AIP 时的开发效率,提升页面质量,AIP 团队提供了以下原生渲染预览服务供开发者在完成页面开发时确认原生渲染的表现行为。

接口调用

URL

https://h5.oceanengine.com/open-aip/api/invoke/previewNative

请求方法

POST

请求 Header

字段类型含义
Content-Type 必填string"application/json"

请求参数

参数类型含义
htmlstring符合 AIP 语法的 html 字符串
urlstring页面 URL

urlhtml均为字符串,二选一即可。有url优先解析其内容忽略html字段。

html字段内容需要是符合 AIP 语法的 html 字符串。建议使用url,省去手动html转译。

返回结果

此接口将提交的页面同步编译为原生产物,通常耗时在 30s 左右,视页面内容而定。

参数类型详情
validbooleantrue/false
datastring二维码的 base64 字符串
errorstring错误信息

validtrue时,data为 base64 的图片,解析后得到二维码即可用抖音客户端扫码(建议使用安卓版抖音,iOS 版渲染结果可保证但存在部分能力无法模拟的情况)查看页面效果。

validfalse时,error会提示页面解析时遇到的错误信息,请更正后再重试。

注意事项 Q&A

Q:通过预览服务扫码观察到图片有短暂加载过程

A:预览服务仅编译页面结构至原生渲染,未将其中的静态资源单独打包,出现图片载入是正常现象。正式投放后会打包静态资源提前下发到客户端本地,可以确保无加载。开发者仅需关注页面内容和交互是否正常即可。

Q:通过预览服务扫码的页面调用$bytedAdInfo失败

A:扫码预览的客户端容器和实际投放后的广告容器不完全相同,因此为了便于开发者调试,预览服务会在页面完成渲染后注入固定的广告宏参数。大多数时候$bytedAdInfo可以正常获取模拟注入的值,但当$bytedAdInfoaip-init 指令内调用时,模拟参数还未能注入,因此会调用失败。建议开发者在开发阶段通过使用 aip-effect 规避此问题。正式投放环境无此问题。 模拟注入的广告参数如下:

{
    "ad_id": "Demo-ad_id-0123456789",
    "creative_id": "Demo-creative_id-0123456789",
    "click_id": "Demo-click_id-0123456789",
    "req_id": "Demo-req_id-0123456789"
}
1
2
3
4
5
6

Q:调用预览服务失败

A:由于编译比较消耗服务器资源且当前服务资源配置不高,QPS 预设小于 5,遇到失败的情况请稍等再重试,请勿频繁调用(后续将扩展服务器配置提升并发能力)。如有问题请联系我们反馈。

Last Updated: 2022/7/15 下午7:22:06