1、
B 站广告投放之签名算法
描述:
首先,将所有查询参数的值与密钥纳入一个集合。接着,把这些值转换为字符串并进行排序。其排序方式为字符串排序,先比较首字母的编码(例如 ASCII 码)顺序,若相同,则继续比较第二个字母的编码顺序,依此类推,多数语言均具备内置的字符串排序函数。之后,使用“&”将这些字符串连接成一个字符串。最终,计算该字符串的 MD5 值,所得结果即为签名。
示例:
参数:
1. advertiser_id = ‘3’
2. start_time = ‘2021-01-01’
3. end_time = ‘2021-01-02’
4. page_no = 1
5. page_size = 10
6. ts = 1611905162
7. sign = ‘683f275e-a4d8-4621-a7db-72ace90aefa6’
计算过程:
md5(‘1&10&1611905162&2021-01-01&2021-01-02&3&683f275e-a4d8-4621-a7db-72ace90aefa6’) = ‘26dd3f53a34cdef288d6152f9d72ef16’
代码示例:
Java 代码示例:
import org.apache.commons.codec.digest.DigestUtils;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
public class Sign {
public String sign(List params) {
return DigestUtils.md5Hex(params.stream()
.filter(Objects::nonNull)
.map(Object::toString)
.sorted()
.collect(Collectors.joining(“&”)));
}
}
Python 代码示例:
from hashlib import md5
def sign(*args):
str_args = [str(x) for x in args if x is not None]
str_args.sort()
str_sign = bytes(‘&’.join(str_args), ‘utf8’)
m = md5()
m.update(str_sign)
return m.hexdigest()
2、Q&A
B 站广告投放之运营联调测试流程:
其一,把配置好 trackid 的落地页链接填写至投放平台的创意落地页下(使用建站工具的客户直接运用建站工具页面)。
示例:https://www.bilibili.com?track_id=__TRACKID__
其二,客户技术人员完成回调线索和 B 站请求接口的配置(使用建站工具落地页对接的客户需向运营同学申请密钥一同回调,外链落地页客户无需申请)。
其三,运营同学通过预览广告的形式,对联调测试通路是否正常回调进行检测。
其四,联调结束后,运营同学告知 B 站产品同学查询是否收到线索回传。
对广告主的价值:
1. 对于关注有效线索成本的 B 站广告主,能够在投放后台实时且直观地了解有效转化数据,利于优化投放策略。
2. 线索可实时回传至广告主的 CRM,省去了繁琐的线下导数录入成本。
3. 后续能够使用 oCPX 直接以有效线索为目标展开优化,确保有效线索成本。
问题:不使用 Bilibili 建站工具的表单能力能够对接有效线索吗?
答案:可以。
暂无评论内容