Saltar al contenido
Proyectos

App de iPhone · anotador de dominó

App Store v1.2.1

Anota

Lleva el marcador del dominó dominicano por parejas en tu iPhone.

Marcador de Anota en plena partida: un equipo con 102 y el otro con 80.
Rol
Solo: diseño, código y publicación
Período
Desde may 2026
Stack
TypeScript, Expo, React Native, StoreKit, AdMob, Jest

En el App Store, versión 1.2.1. Código público en GitHub. Estado verificado el 22 oct de 2026.

En números

5

pasos al iniciar los anuncios, cada uno con un tiempo límite

3

tamaños de diseño según la altura útil de la pantalla

24

pruebas unitarias en 5 archivos

2

compras únicas: Quitar anuncios y Anota Pro

Fig. 1 Inicio de anuncios: cinco pasos con límite de tiempo
  1. 1 · límite 8 s Primer plano Espera que la app esté activa. Continúa al agotarse el tiempo.
  2. 2 · límite 15 s Consentimiento UMP Muestra el flujo de consentimiento de UMP. Un error deja la decisión al paso 4.
  3. 3 · límite 5 s Estado de ATT Pide permiso de rastreo solo si el usuario aún no ha respondido. Si hay un error, usa anuncios no personalizados.
  4. 4 · límite 5 s Estado del consentimiento Comprueba si el consentimiento permite solicitar anuncios. Si el permiso se deniega, no solicita anuncios.
  5. 5 · límite 15 s Inicio del SDK Arranca el SDK de Google Mobile Ads. Un error deja la app sin anuncios.

Resultado

  • Listo El espacio del banner muestra un anuncio.
  • No disponible Sin anuncios. La app funciona igual.

Los anuncios se inician en segundo plano al abrir la app, así que el marcador está disponible de inmediato. Comprar Quitar anuncios o Anota Pro omite este proceso.

La idea

Anota lleva el marcador del dominó dominicano por parejas en iPhone. Los dos equipos, el historial de manos y todos los controles caben en una sola pantalla, para dejar la libreta a un lado.

Lo que construí

Construí Anota con Expo, React Native y TypeScript estricto. La lógica de la partida usa un reducer puro, con un paso de ajuste que recalcula el ganador después de cada cambio. Las partidas guardadas se revisan campo por campo antes de cargarse, para que los datos dañados no cierren la app. Español e inglés usan el mismo tipo de diccionario.

Anota es gratis con un anuncio de banner. Ofrece dos compras únicas: Quitar anuncios por $1.99 o Anota Pro por $2.99, que elimina los anuncios y desbloquea todos los temas. Los anuncios empiezan después de los pasos de consentimiento UMP y App Tracking Transparency. La pantalla del ganador crea una tarjeta de 1080 px con el marcador y abre el menú para compartir.

Retos técnicos

  1. 01 Evitar que los anuncios traben el marcador

    El inicio del SDK de anuncios tiene cinco pasos: comprobar que la app esté en primer plano, consentimiento UMP, estado de App Tracking Transparency, información de consentimiento e inicialización del SDK. Cada uno tiene un tiempo límite. Si la red o el estado de la app se traban, se usan anuncios no personalizados o se omiten los anuncios, y el marcador sigue disponible.

    Dónde está en el código: src/ads/ads.ts (se abre en otra pestaña)

  2. 02 Errores de compra claros

    La capa de compras registra los manejadores de eventos antes de conectarse a la tienda y fija un tiempo límite para cada llamada. Ignora los errores que llegan fuera de una compra activa y distingue entre un producto no disponible y un pago fallido.

    Dónde está en el código: src/iap/purchases.ts (se abre en otra pestaña)

  3. 03 Una sola pantalla en cualquier iPhone

    El marcador cabe sin desplazarse. Después de restar la altura del anuncio, la app elige uno de tres tamaños de diseño. Todo cabe en un iPhone SE incluso con el anuncio en pantalla.

    Dónde está en el código: src/layout/metrics.ts (se abre en otra pestaña)

Lo próximo

Preparar la versión de Android.

Pantalla de ganador de Anota tras una partida de 202 a 80.
Teclado de Anota para anotar los puntos de una mano.

Pruébalo

Enfoques compartidos