Rewarded Video — Manually Created UI with Conditional Fill

Uses Playwire's Manually Created UI with skipConfirmation: true. On load, Ramp requests an ad via forcePath: 'rewarded-video'. Fill is signaled by rewardedAdVideoRewardReady — only then does the watch button activate. On click, ramp.manuallyCreateRewardUi({ skipConfirmation: true }) plays the ad. Grant the reward inside rewardedAdRewardGranted.

  • Rewarded Video does not currently include Ramp House Ads support.
  • Append #google_sample_tag=1 to force test ad fill  ·  #google_sample_tag=blank; to force no fill.
  • rewardedAdVideoRewardReady is the fill signal. If it never fires after initialization, there was no fill.
  • Grant the reward inside rewardedAdRewardGranted — not on ad start.
Ad fetch behavior: If there is no fill, the unit will not request another ad automatically. A new ad is only prefetched after a video is watched to completion. For any other outcome — no fill, early close, or page revisit — a page refresh is required to trigger a new request.
Event log
  • Waiting for events…
Implementation
1 — Script setup
// Set before ramp.js loads
window.ramp = window.ramp || {};
window.ramp.que = window.ramp.que || [];
window.ramp.forcePath = "rewarded-video";

// Injected async in <footer>
<script src="https://cdn.intergient.com/343/77873/ramp.js" async></script>
2 — Fill signal
// rewardedAdVideoRewardReady is the fill signal.
// If it never fires, there was no fill — the unit will not retry.
window.addEventListener("rewardedAdVideoRewardReady", () => {
  watchAdButton.disabled = false;
  watchAdButton.textContent = "Watch to Earn Reward";
});

// Start a timeout fallback — if event never fires, handle no-fill state
setTimeout(handleNoFill, 5000);
3 — Trigger & reward
// On user click, call manuallyCreateRewardUi with skipConfirmation: true.
// You own all UI — Playwire only handles the video playback.
watchAdButton.addEventListener("click", () => {
  ramp.manuallyCreateRewardUi({ skipConfirmation: true });
});

// Grant the reward here — not on ad start
window.addEventListener("rewardedAdRewardGranted", () => {
  // unlock reward: extra life, content access, etc.
});
                placeholder example (will be replaced by environment variables in the deployment pipeline. see: envsubst)
                site_id: 77873
                pub_id:  343
                paywire_tag_url: https://cdn.intergientdev.com