Equipo — The Good App

Mail 9 — Cambios delicados e importantes (con precaucion)

Hola equipo,

Comparto la actualizacion que sigue al Mail 8. En este ciclo se aplicaron cambios delicados y de alto impacto sobre monetizacion, suscripciones y gating de anuncios en API + Admin + Flutter. Por su naturaleza, se ejecutaron con especial cuidado y validaciones adicionales, por eso tomo un poco mas de tiempo de lo normal.

1) Entitlements ads-free en backend (API/Prisma)

  • Se agrego entidad de entitlement para controlar periodo sin anuncios por usuario.
  • Se incluyo idempotencia por purchaseToken/receiptId para reducir riesgo de dobles grants.
  • El perfil ahora retorna adsFreeUntil para que Flutter pueda decidir ocultar/mostrar AdMob en tiempo real.

2) Nuevo modulo de suscripciones

  • GET /v1/subscriptions/products: expone catalogo para el paywall.
  • POST /v1/subscriptions/verify: procesa comprobacion y grant de ads-free.
  • Se dejo base preparada para endurecer verificacion directa con Play/App Store en siguiente iteracion.

3) Admin: configuracion de suscripciones/IAP

  • Nuevo bloque Subscriptions / IAP en Settings.
  • Configuracion de product IDs por plataforma, duraciones y labels.
  • Campos para credenciales (Play/App Store) y modo sandbox para siguientes fases de hardening.

4) Flutter: paywall + gating de anuncios

  • Integracion inicial IAP y nueva pantalla de suscripcion.
  • Flujo compra → verify API → recarga de perfil con adsFreeUntil.
  • Gating aplicado: usuario con entitlement activa no renderiza banners/nativo de AdMob.

5) Por que tomo mas tiempo

Estos cambios tocan monetizacion y visibilidad de anuncios, lo cual afecta ingresos, experiencia del usuario y consistencia entre backend/admin/app. Se priorizo implementacion segura y validacion por etapas para evitar regresiones y grants incorrectos.

Saludos,

Correo interno — avance tecnico (Mail 9)