PHP版本Google广告admob服务端回调验证SSV
老文章,搬运到这里而已。 因业务需要接入Google的激励广告,涉及Google回调的服务器端验证 (SSV) server side verifiy。 Python版本的基于第三方包ecdsa开箱即用,PHP版本也有一个ecdsa库,但是过于复杂。 想到之前做支付宝支付,google支付的openssl rsa密钥签名校验。还是自己来写个简单实用的。 Google公钥的地址: https://www.gstatic.com/admob/reward/verifier-keys.json 注意: AdMob 密钥服务器提供的公钥会不定期轮换。为确保可以继续按预期验证 SSV 回调,请勿使公钥的缓存时间超过 24 小时。 Google 预计您的服务器会针对 SSV 回调返回 HTTP 200 OK 成功状态响应代码。如果您的服务器无法访问或未提供预期的响应,Google 将重新尝试发送 SSV 回调,每隔 1 秒发送最多 5 次。 用回调参数中key_id 取对应公钥,进行签名验证。 获取公钥可以使用curl 或 file_get_contents 函数,推荐使用curl。 这里就不再写获取公钥的代码了,直接copy过来使用。 完整代码如下: // Google admob 公钥 $verifier_keys = '{"keys":[{"keyId":3335741209,"pem"