必要现在要做快手的广告归因. 给了如下的参数:
https://www.example.com?xxx=XXXX&imeiMD5=__IMEI2__&oaid=__OAID__&macMD5=__MAC2__&androidMD5=__ANDROIDID2__&callback=__CALLBACK__
# 就有以下参数
imeiMD5
macMD5
androidMD5
oaid
Mysql, Redis
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 拿不到
get imei:{$imeiMD5}
get imei:{$macMD5}
get imei:{$androidMD5}
get imei:{$oaid}
# 如果能 get 到信息, 那么就归因成功, 否则就不理
select `callback` from `ad` where id={$id}
# 取出 mysql 中的 callback 参数, 并回调快手渠道
curl {$callback}
ps: 以后可能还想归因其它渠道, 还想做得更通用一点(某些渠道给的不是 md5 的值, 可能直接给的是 imei 的值)