作者:少年tyrty | 来源:互联网 | 2023-09-18 13:09
必要现在要做快手的广告归因.
给了如下的参数:
1 2 3 4 5 6 7
| https://www.example.com?xxx=XXXX&imeiMD5=__IMEI2__&oaid=__OAID__&macMD5=__MAC2__&androidMD5=__ANDROIDID2__&callback=__CALLBACK__
# 就有以下参数
imeiMD5
macMD5
androidMD5
oaid |
说一下我们这边的流程
- 当用户在快手点了我们的广告, 会往我们的归因服务发送请求, 就以上的那个参数, 这时候我们会把这些信息存入
1 2 3 4 5 6 7 8 9
| insert into `ad` 所有参数,包括 $callback
# 上一步 insert 之后得到自增 $id 存入 redis
set imei:{$imeiMD5} {$id}
set imei:{$macMD5} {$id}
set imei:{$androidMD5} {$id}
set imei:{$oaid} {$id}
# 之所以存四份, 是因为有可能快手能拿到设备的 macmd5, 我们的 app 拿不到 |
当用户下载了我们的 app 之后, 启动时, app 会往我们的归因服务发送请求,参数类似快手的参数
1 2 3 4 5 6 7 8 9
| get imei:{$imeiMD5}
get imei:{$macMD5}
get imei:{$androidMD5}
get imei:{$oaid}
# 如果能 get 到信息, 那么就归因成功, 否则就不理
select `callback` from `ad` where id={$id}
# 取出 mysql 中的 callback 参数, 并回调快手渠道
curl {$callback} |
- 可以看到去归因这个用户的时候, 我们这边很麻烦的处理(每个设备存了四份的 id 的 kv 数据)
所以想请教一下做过的老哥有没有别的更好的方法.
ps: 以后可能还想归因其它渠道, 还想做得更通用一点(某些渠道给的不是 md5 的值, 可能直接给的是 imei 的值)