Skip to content

fix(admob): harden consent, banners, and variant builds - #2553

Merged
bajrangCoder merged 6 commits into
mainfrom
fix/admob-consent-banner-variants
Aug 5, 2026
Merged

fix(admob): harden consent, banners, and variant builds#2553
bajrangCoder merged 6 commits into
mainfrom
fix/admob-consent-banner-variants

Conversation

@deadlyjack

@deadlyjack deadlyjack commented Jul 30, 2026

Copy link
Copy Markdown
Member
  • integrate UMP consent handling and reactive privacy choices
  • serialize adaptive banner visibility across pages and keyboard changes
  • make free and paid Cordova variant configuration idempotent
  • commit and validate a deterministic self-contained AdMob bundle
  • remove vulnerable legacy toolchains and update affected lockfiles
  • replace the legacy soft-input workaround with adjustResize
  • add tests, lockfile checks, bundle freshness

- integrate UMP consent handling and reactive privacy choices
- serialize adaptive banner visibility across pages and keyboard changes
- make free and paid Cordova variant configuration idempotent
- commit and validate a deterministic self-contained AdMob bundle
- remove vulnerable legacy toolchains and update affected lockfiles
- replace the legacy soft-input workaround with adjustResize
- add tests, lockfile checks, bundle freshness, and security auditing to CI
@greptile-apps

greptile-apps Bot commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

The PR hardens AdMob consent and banner lifecycle handling while making Android variants and generated assets deterministic.

  • Introduces centralized consent, privacy-choice, reward-state, and banner-visibility controllers.
  • Synchronizes banner visibility with page transitions, keyboard state, pro status, and rewarded-pass expiry.
  • Updates Cordova/Android configuration, plugin sources, lockfiles, tests, and CI validation.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains; the previously reported rewarded-pass expiry issue is addressed by clearing its named suppression during refreshed expiry-state application and reconciling the shared banner controller.

Important Files Changed

Filename Overview
src/lib/adRewards.js Delegates reward-state refresh, expiry scheduling, and banner suppression synchronization to the new lifecycle controller.
src/lib/adRewardBannerPolicy.mjs Centralizes rewarded-pass activity checks and clears the named suppression when refreshed state expires.
src/lib/bannerVisibilityController.mjs Serializes native banner visibility from registered-page, keyboard, and named-suppression state.
src/lib/startAd.js Integrates AdMob initialization and banner operations with the shared visibility controller.
src/plugins/admob/src/android/cordova/Privacy.kt Adds native UMP privacy-state and consent-form handling.
hooks/post-process.js Removes the obsolete soft-input patch while retaining idempotent Android post-processing.
.github/workflows/ci.yml Adds JavaScript, dependency, generated-bundle, and native Android validation jobs.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
  RewardState[Reward state refresh] --> RewardPolicy[Reward-pass policy]
  RewardPolicy --> Suppression[Named banner suppressions]
  ProState[Pro purchase state] --> Suppression
  Page[Active registered page] --> Controller[Banner visibility controller]
  Keyboard[Keyboard visibility] --> Controller
  Suppression --> Controller
  Controller -->|eligible| Show[Show native banner]
  Controller -->|suppressed or ineligible| Hide[Hide native banner]
Loading

Reviews (3): Last reviewed commit: "Merge branch 'main' into fix/admob-conse..." | Re-trigger Greptile

- make banner suppression reason-aware across Pro and rewarded passes
- centralize reward state refresh, expiry scheduling, and failure handling
- remove stale Cordova consent and persisted AdMob variant metadata
- add ES2020-compatible access and Java 21 Android native CI coverage
- enforce transient plugin setup and clean tracked build state
- remove the obsolete large-screen quicktools tutorial
Comment thread .github/workflows/ci.yml Fixed
@deadlyjack

This comment was marked as outdated.

Comment thread utils/scripts/dev.js

@RohitKushvaha01 RohitKushvaha01 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

overall it looks fine

Ajit Kumar added 2 commits August 2, 2026 21:10
…ner-variants

# Conflicts:
#	bun.lock
#	config.xml
#	package-lock.json
@bajrangCoder bajrangCoder added the CI: RUN ON-DEMAND PREVIEW RELEASES Triggers an on-demand preview build for this pull request via CI workflow. label Aug 4, 2026
@github-actions github-actions Bot removed the CI: RUN ON-DEMAND PREVIEW RELEASES Triggers an on-demand preview build for this pull request via CI workflow. label Aug 4, 2026
@github-actions

This comment has been minimized.

@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown

Preview Release for this, has been built.

Click here to view that github actions build

@bajrangCoder

This comment was marked as outdated.

@bajrangCoder
bajrangCoder added this pull request to the merge queue Aug 5, 2026
Merged via the queue into main with commit 706e936 Aug 5, 2026
12 checks passed
@github-project-automation github-project-automation Bot moved this from Backlog to Done in The Code Board - Acode Aug 5, 2026
@bajrangCoder
bajrangCoder deleted the fix/admob-consent-banner-variants branch August 5, 2026 17:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants