Skip to content

AdMob

  1. In AdMob open Apps → Ad units, edit the rewarded ad unit and enable Server-side verification. Set the callback URL to:
https://api.kasskeep.com/v1/ads/admob/<app_id>/ssv
  1. Map the ad unit in Kasskeep. You can paste the full ca-app-pub-xxx/yyy id; Kasskeep stores the part after the slash, which is what SSV sends.
Terminal window
npx @kasskeep/cli ads unit-set --id app_xxx --name revive --admob ios:ca-app-pub-123/456 --admob android:ca-app-pub-123/789
  1. On the client, set ServerSideVerificationOptions with userId equal to the Kasskeep app_user_id, and customData as needed.

AdMob needs no secret. You may store the AdMob app id as a note: ads credentials --id app_xxx --admob-app-id ca-app-pub-...~....

  • The signed content is the raw query string up to &signature=, unchanged and undecoded.
  • signature is a base64url DER ECDSA (P-256, SHA-256) signature. The key is chosen by key_id from Google’s published verifier keys, cached for at most 24 hours and refetched when an unknown key_id appears.
  • Invalid signatures return 400 invalid_signature; an unknown key id returns 400 unknown_key_id.
  • A callback without user_id, such as the console’s Verify URL test, returns 200 {"outcome": "ignored", "reason": "no_user_id"}.
AdMob parameter Event field
user_id app_user_id
ad_unit network_ad_unit_id, mapped to ad_unit
reward_item reward_type
reward_amount reward_amount
transaction_id network_transaction_id
custom_data custom_data
timestamp occurred_at