是否可以验证服务器上的客户端(OnAdRewarded)是否观看了“奖励视频广告”?我可以与Google Cloud Functions集成吗?
我认为可以使用admob admin SDK来验证客户端发送给服务器的令牌,但是似乎不可能,我们只能在客户端上验证广告。
答案 0 :(得分:2)
不确定这是否与 Firebase 相关,但这里有一些详细信息,以防有人使用 Node/JS。您可以使用 Node 的内置 crypto
库。首先 fetch
来自 https://gstatic.com/admob/reward/verifier-keys.json
的可用 Google AdMob 验证程序密钥。
然后您需要遍历返回的 JSON keys
数组并获取与传入 pem
字符串的 req.query.key_id
参数对应的 req.url
公钥文件字符串.
那么我们希望用来验证签名的“消息”是传入的 req.url
子字符串,介于参数 ?
符号和 &signature...
字符串之间。
现在我们可以轻松验证了:
const verifier = crypto.createVerify("sha256");
verifier.update(message);
if(verifier.verify(pem, req.query.signature, "base64"))
console.log("Ad was successfully verified.");
else
console.log("Ad could not be verified - quick call the cops !");
需要注意的一个警告是,您可能需要在使用之前 unescape(...)
req.url
字符串,因为某些字符可能已被转义。我被困在那里一两个小时。您可以使用例如Node 的内置 querystring
库。
答案 1 :(得分:1)
目前不行。根据我最近收集的内容,该功能已经处于内测一段时间。我能找到的最后一个提及是在链接的讨论中,大概有人从Google那里说该功能将很快向公众推出。该帖子来自1月22日。
https://groups.google.com/forum/#!topic/google-admob-ads-sdk/weXTAGZfYQ8
答案 2 :(得分:0)
现在可以使用Server-Side Verification (SSV) Callbacks.
服务器端验证回调是URL请求,其查询参数由Google扩展,由Google发送到外部系统,以通知用户与奖励视频广告进行互动应获得奖励。奖励视频SSV(服务器端验证)回调提供了额外的保护层,可防止欺骗性地欺骗客户端回调以奖励用户。
答案 3 :(得分:0)
如果您正在寻找Admob SSV在Golang上的一种简单方法。
只需使用此hiyali/go-lib-ssv,希望可以挽救生命:)