SIGN IN SIGN UP

feat(ads): ad reward tracking with admob adapter (#3885)

<!-- Thank you for contributing to Purchases! Before pressing the
"Create Pull Request" button, please provide the following: -->

### Description

This change is the admob adapter wiring for ad reward tracking. AdMob
adapter automatically manages polling of the result and so we wire up
the tracking metadata automatically here.

<!-- Describe your changes in detail -->

<!-- Please describe in detail how you tested your changes -->

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Medium Risk**
> Touches reward verification and ad event correlation paths; behavior
change for poll parameters (metadata + ADAPTER) but scoped to AdMob
adapter wiring with test coverage.
> 
> **Overview**
> When a rewarded ad earns a reward through the AdMob adapter’s
verification flow, **reward verification polling** now includes **ad
tracking metadata** and marks capture as **adapter-driven**
(`AdCaptureMethod.ADAPTER`).
> 
> For ads loaded via `loadAndTrackRewardedAd` /
`loadAndTrackRewardedInterstitialAd`, metadata is read from the wrapped
`TrackingFullScreenContentCallback` (network, mediator, format, unit id,
impression id, and **placement at reward time**). Untracked ads still
poll with **null** metadata.
> 
> `TrackingFullScreenContentCallback` adds `rewardTrackingMetadata()` so
placement overrides applied before show are reflected in verification
tracking.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
da9cdd404221bb58f083f9b39776bb35ce96cee2. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
P
Peter Porfy committed
ec87c0eb3da8ddb9788e61e753e662d7a5dbfbdf
Parent: 998e512
Committed by GitHub <noreply@github.com> on 8/18/2026, 2:49:00 PM