es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El estado de suscripción de Flutter Android en revenuecat sigue siendo activo incluso después de la fecha de vencimiento.

Estoy usando el plugin de Revenuecat (purchases_flutter: ^3.7.0) en mi aplicación Flutter para Android. Sin embargo, me di cuenta de que incluso si la suscripción de prueba ha terminado, el código muestra que todavía está activa.

Estoy usando el siguiente método para determinar si la suscripción está activa o no.

static isUserSubscribed() async {
  bool _isSubscribed = false;
  await Purchases.setDebugLogsEnabled(false);
  await Purchases.setup(revenueCatId);
  if (userId != null) {
      await Purchases.setup(revenueCatId, appUserId: userId);
      PurchaserInfo purchaserInfo = await Purchases.getPurchaserInfo();
  if (purchaserInfo.entitlements.all["Ads Free"] != null &&
      purchaserInfo.entitlements.all["Ads Free"].isActive != null &&
      purchaserInfo.entitlements.all["Ads Free"].isActive) {

  //  llega hasta aquí aunque la suscripción haya expirado 
     _isSubscribed = true; 
  } 
  return _isSubscribed;
}

Me di cuenta de que cuando hago una compra de prueba y después de que la suscripción haya terminado, el método anterior siempre devuelve true. Incluso reinicié la aplicación, cerré la sesión e incluso limpié la memoria también.

Si voy a revenucat.com y elimino al usuario buscando la dirección de correo electrónico, entonces comienza a devolver false. Mi suscripción de prueba expiró esta mañana alrededor de las 9:00 AM, pero por la tarde también aparece como activa en la aplicación.

Cualquier ayuda será apreciada.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Problema con el plugin de Revenuecat en la aplicación de Flutter de Android

    Descripción del problema

    El usuario ha implementado el plugin de Revenuecat purchases_flutter:^3.7.0 en su aplicación de Flutter para Android. Sin embargo, ha notado que incluso si la suscripción de prueba ha finalizado, el código sigue mostrando que está activa.

    Estan utilizando el método isUserSubscribed() para determinar si la suscripción está activa o no. El método utiliza el método Purchases.getPurchaserInfo() para recuperar el objeto PurchaserInfo y verificar si el derecho “Sin anuncios” (“Ads Free”) está activo.

    El problema es que incluso después de que la suscripción de prueba ha expirado, el método siempre devuelve true. El usuario incluso ha reiniciado la aplicación, cerrado sesión y limpiado la memoria, pero el problema persiste.

    Solución

    El problema parece estar relacionado con el almacenamiento en caché del objeto PurchaserInfo en el dispositivo. Incluso si la suscripción ha expirado, el objeto en caché todavía la muestra como activa.

    Para resolver el problema, el usuario puede hacer lo siguiente:

    1. Limpiar la caché llamando al método Purchases.clearCaches() antes de recuperar el objeto purchaserInfo en el método isUserSubscribed().
    2. Si la caché aún no se ha limpiado, el usuario puede intentar usar el método Purchases.getOfferings() en lugar de Purchases.getPurchaserInfo() para recuperar las ofertas activas. Este método siempre obtiene los últimos datos del servidor y se puede utilizar para determinar si la suscripción está activa o no.

    3. Si el problema persiste, el usuario puede contactar al equipo de soporte de Revenuecat para obtener más ayuda.

    Conclusión

    El almacenamiento en caché del objeto PurchaserInfo puede causar problemas para recuperar los últimos datos de suscripción en el plugin de Revenuecat. El usuario puede limpiar la caché o utilizar el método getOfferings() para resolver el problema. Si el problema persiste, pueden contactar al equipo de soporte para obtener ayuda.

Comments are closed.