Saltar al contenido

Solución de problemas

GitHub

Si App Store Connect reporta este error:

ITMS-91056: Invalid privacy manifest - El archivo PrivacyInfo.xcprivacy de la siguiente ruta no es válido: …

Revisa el nivel de tu app PrivacyInfo.xcprivacy archivo:

  • El archivo debe ser un JSON válido.
  • Usa solo claves y valores documentados por Apple.
  • No añadas un privacy manifest al paquete del plugin; añádelo a tu app.

Ver Privacy manifest y manejadores de URL de iOS para ver ejemplos.

Tras enviar una app a Google Play, podrías ver:

Google Api Error: Invalid request - This release includes the com.google.android.gms.permission.AD_ID permission
but your declaration on Play Console says your app doesn't use advertising ID.

El SDK de Facebook incluye AD_ID y otros permisos relacionados con publicidad. Si tu app no usa Facebook Login, desactiva el proveedor de Facebook en capacitor.config.ts:

import type { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
plugins: {
SocialLogin: {
providers: {
google: true,
facebook: false,
apple: true,
},
},
},
};
export default config;

Luego ejecuta:

Ventana de terminal
npx cap sync

El plugin usa clases stub en lugar del SDK real de Facebook, así que las dependencias y permisos de Facebook no se incluyen en tu build.

GetCredentialCustomException: [28444] Developer console is not set up correctly proviene de Google Credential Manager cuando el certificado de firma, el nombre del paquete o el webClientId no coincide con Google Cloud Console.

Usa el completo Checklist de errores de Google en Android. Tras un error de login, filtra Logcat por GoogleProvider; el plugin imprime package, signingSha1, y uno enmascarado webClientId para comparar con tus clientes OAuth.

Sección titulada “Google Sign-In con cuentas supervisadas de Family Link”

Las cuentas supervisadas de Family Link pueden fallar por:

NoCredentialException: No credentials available

Para apps que deban soportar cuentas de Family Link, desactiva el filtrado de authorized-account en la llamada de login de Google:

import { SocialLogin } from '@capgo/capacitor-social-login';
await SocialLogin.login({
provider: 'google',
options: {
style: 'bottom',
filterByAuthorizedAccounts: false,
scopes: ['profile', 'email'],
},
});

Puntos clave:

  • Configurar filterByAuthorizedAccounts a false; el valor por defecto es true.
  • El plugin reintenta automáticamente con standard estilo si bottom estilo falla con NoCredentialException.
  • Estas opciones solo afectan a Android. iOS gestiona las cuentas de Family Link con normalidad.
  • El mensaje de error sugiere desactivar filterByAuthorizedAccounts cuando se detecta este fallo.

Usa @capgo/capacitor-persistent-account cuando tu app requiere almacenamiento nativo seguro para access o refresh tokens.

En Android, guarda los datos en Account Manager. En iOS, los guarda en Keychain.