Skip to content

I-F-T00-07-03 — Generar y registrar credenciales APNs (iOS) + clave FCM (Android) en EAS para notificaciones push #27

Description

@Azfe

[I-F-T00-07-03] Generar y registrar credenciales APNs (iOS) + clave FCM (Android) en EAS

🎯 Objetivo

Generar el certificado APNs para iOS y la clave FCM v1 para Android y registrarlos en EAS Credentials para que las notificaciones push funcionen en F-N06 sin necesidad de gestionar los archivos de credenciales manualmente.

🛠️ Instrucciones de Implementación (Alcance Técnico)

iOS — APNs:

  • Acceder a Apple Developer Portal → Certificates, IDs & Profiles → Keys.

  • Crear una clave con la capacidad Apple Push Notifications service (APNs) habilitada.

  • Descargar el archivo .p8 (solo se puede descargar una vez) y anotar el Key ID y el Team ID.

  • Registrar en EAS:

    eas credentials --platform ios
    # Seleccionar: Push Notifications → Add → subir el .p8, Key ID y Team ID
  • Verificar en expo.dev → Project → Credentials → iOS que aparece la clave APNs.

Android — FCM v1:

  • En Google Cloud Console, ir al proyecto Firebase vinculado a la app → IAM & Admin → Service Accounts.

  • Crear una cuenta de servicio con el rol Firebase Cloud Messaging API y descargar el JSON de clave privada.

  • Registrar en EAS:

    eas credentials --platform android
    # Seleccionar: Push Notifications → Add FCM V1 Key → subir el JSON
  • Verificar en expo.dev → Project → Credentials → Android que aparece la clave FCM v1.

Archivos sensibles:

  • El .p8 de APNs y el JSON de FCM no se commitean — almacenarlos en un gestor de secretos del equipo (1Password, etc.).
  • Añadir *.p8 y google-services*.json a .gitignore si no están ya.

✅ Criterios de Aceptación (Checklist)

  • La clave APNs aparece en expo.dev → Credentials → iOS con estado válido.
  • La clave FCM v1 aparece en expo.dev → Credentials → Android con estado válido.
  • eas build --profile production --platform ios arranca sin solicitar credenciales (las toma de EAS).
  • eas build --profile production --platform android arranca sin solicitar credenciales.
  • Ningún archivo .p8 ni JSON de FCM está commiteado en el repositorio.

🔗 Contrato / Referencias

  • Feature padre: F-T00-07 — EAS Build + credenciales push
  • Depende de: I-F-T00-07-02 (perfiles de build configurados en eas.json); I-F-T00-04-04 (bundle ID definitivo en app.config.js).
  • Requerido por: I-F-N06-01-02 (cliente pide permisos y registra token) e I-F-N06-02-01 (Edge Function send-push envía notificaciones usando estas credenciales vía Expo Push API).

🌿 Branch

task/t00-07-03-push-credentials

Metadata

Metadata

Assignees

Labels

Type

Fields

No fields configured for Task.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions