qué magic links link invites fdl enlaces android firebase firebase-invites

android - magic - Firebase invita dice que se envió una invitación pero no se recibió



magic link firebase (2)

Intento enviar invitaciones con Firebase Invites. Cuando selecciona un correo electrónico de un contacto, Firebase dice que ha enviado la invitación, pero el correo electrónico nunca se recibe.

En la consola, los certificados SHA1 están configurados.

El código de error devuelto siempre es RESULT_OK y la cantidad de invitaciones devueltas desde AppInviteInvitation.getInvitationIds es correcta.

El SDK se actualiza en gradle con la última versión, 10.0.1, como se explica en la documentación.

El código que crea la invitación es:

Intent intent = new AppInviteInvitation.IntentBuilder(title) .setMessage(msg) .setCallToActionText(callToActionText) .setOtherPlatformsTargetApplication(AppInviteInvitation.IntentBuilder.PlatformMode.PROJECT_PLATFORM_IOS, IOS_CLIENT_ID) .build();

¿Algunas ideas?


La eliminación de .setOtherPlatformsTargetApplication(...) permitió a Android enviar invitaciones de nuevo.

Sin embargo, cuando se reciben invitaciones en iOS, funcionan correctamente al abrir el enlace con:

  • Gmail o Mail con la aplicación instalada (abre la aplicación correctamente)

No funcionan correctamente:

  • Enlace de lectura de correo electrónico en Safari con la aplicación no instalada, va a google play store
    • Enlace en la aplicación de Gmail o correo, con la aplicación no instalada, va a la tienda de Google Play

Tuve el mismo problema y logré solucionarlo, aunque no estoy muy seguro de qué paso realmente ayudó.

Vale la pena especificar que en mi caso el correo electrónico se envió perfectamente cuando eliminé la llamada al método:

.setOtherPlatformsTargetApplication(...)

Se aplicaron los siguientes pasos:

  1. Todos los campos se completaron en la consola de Firebase para la configuración del proyecto de Android e iOS (incluido el Prefijo de ID de la aplicación y el ID de la Tienda de aplicaciones).
  2. Los valores hash SHA-256 (de depuración y release keystore) se agregaron para la configuración del proyecto Firebase Android:

    keytool -exportcert -keystore path-to-debug-or-production-keystore -list -v

  3. Se descargó google-services.json actualizado de la configuración del proyecto de Firebase para Android y se agregó a la raíz de la aplicación (con GoogleServicesJson Build Action for Xamarin). Entonces el archivo entre otros contiene lo siguiente:

    ... "appinvite_service": { "status": 2, "other_platform_oauth_client": [ { "client_id": "1234567890-specified_ios_client_id.apps.googleusercontent.com", "client_type": 2, "ios_info": { "bundle_id": "ios.app.bundle.id", "app_store_id": "9876543210" } }, ... ] } ...

El client_id especificado es el mismo en la llamada al método .setOtherPlatformsTargetApplication(...) y en google-services.json

También Firebase Invites había sido ajustado previamente para el proyecto de iOS, pero no veo si podría ayudar a Android de todos modos.