跳到主要内容

Snapchat 试玩广告

PlayCanvas 通过 GitHub 上的官方外部工具支持 Snapchat 试玩广告的格式和要求。

Snapchat 试玩广告使用 MRAID 2.0 API 标准,要求资源位于 index.html 之外,而不是嵌入其中。

外部资源需要放在名称唯一的文件夹中,以便上传到 Snapchat CDN。工具会自动处理命名。

工具存在一些限制,详见 GitHub 文档。

示例项目​

Cube Jump 项目可直接导出为 Snapchat 试玩广告,预期 HTML 输出可在此下载。

文件大小建议​

未压缩大小的建议上限为 5MB,因此需要规划资源预算。

压缩版 PlayCanvas 引擎代码在未压缩传输状态下约为 1.2MB;资源文件编码为 Base64 字符串后,大小约增加 30%。

因此,资源编码为 Base64 之前的预算约为 3MB。

尽量减小图像尺寸,并使用 TinyPNG 等工具进一步压缩文件。

试玩广告检查事项​

Snapchat 广告网络要求行动号召函数位于 index.html 中,以便投放时替换为唯一的跟踪版本。目标 URL 在 Snapchat 广告活动工具中设置。

工具将此逻辑封装为全局函数 snapchatCta();,应在试玩广告项目中调用。

  • 是否在行动号召回调中调用了 snapchatCta();?

如何导出​

先按照 GitHub 仓库 README 中的设置步骤操作。

预演测试​

按原文所述,Snapchat 尚无官方测试工具,因此需要先进行预演测试,再导出广告网络要求的格式。

在 config.json 中按下例配置,即可生成 ZIP,将资源数据和 PlayCanvas 引擎代码作为独立于 index.html 的文件保存。

"one_page": {
"patch_xhr_out": false,
"inline_game_scripts": true,
"extern_files": {
"enabled": true,
"folder_name": "78fb9255-3033-4fe2-b9e1-355b149229a1",
"external_url_prefix": ""
},
"mraid_support": true,
"snapchat_cta": true
}

folder_name 必须是唯一字符串。可以通过 GUID 生成器生成随机 GUID,也可以使用 Snapchat 对接人员指定的字符串。

然后运行:

npm run one-page

完整选项和命令详见 README 的将项目转换为单个 HTML 文件一节。

要在设备上测试,可以使用 Android 应用 Creative Preview,但需要通过 HTTPS 服务器托管广告。

推荐先本地托管,再用 ngrok 创建通往电脑的 HTTPS 隧道,供应用访问。

配置完成后,打开 Creative Preview,按以下设置创建新的 Display 广告:

导出至 Snapchat​

准备上传时,需要为 index.html 中的资源引用加上 Snapchat CDN URL 前缀。可以通过 config.json 中的 external_url_prefix 配置:

"one_page": {
"patch_xhr_out": false,
"inline_game_scripts": true,
"extern_files": {
"enabled": true,
"folder_name": "78fb9255-3033-4fe2-b9e1-355b149229a1",
"external_url_prefix": "https://rtb-ads.shadow.snapads.com/html5"
},
"mraid_support": true,
"snapchat_cta": true
}

随后将 ZIP 交给 Snapchat 对接人员,上传至广告网络。