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.

Flutter AdMob: ¿cómo puedo rastrear el monto del pago de anuncios intersticiales?

Estoy implementando AdMob en mi aplicación Flutter, y los anuncios intersticiales se muestran correctamente en el modo de prueba. Ahora me gustaría determinar cuánto dinero ha generado un anuncio en particular, pero parece que eso no está funcionando.

La solución que he intentado para lograr esto es usar la función onPaidEvent (por favor, avíseme si esto es incorrecto), por lo que en la función onAdLoaded actualmente tengo el siguiente código:

ad.onPaidEvent = (Ad ad, double valueMicros, PrecisionType precision, String currencyCode) {
double cents = valueMicros * 10000;
print(cents);
} as OnPaidEventCallback;

Cuando incluyo este código, la aplicación nunca llega a la llamada a InterstitialAd.load, pero sin él, supera la llamada a InterstitialAd.load y muestra el anuncio correctamente (tanto en Android como en iOS).

¿Qué estoy haciendo mal?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Como experto en IT especializado en Flutter, Dart y AdMob, sugiero la siguiente solución para determinar cuánto dinero ha ganado un anuncio en particular:

    Debes reemplazar onPaidEvent con onAdClosed en el objeto InterstitialAd. La función onPaidEvent se utiliza para notificar a AdMob cuando un usuario realiza una compra dentro de la aplicación, no para realizar un seguimiento de los ingresos por anuncios.

    Entonces, prueba este código en su lugar:

    ad.onAdClosed = (Ad ad) {
      ad.dispose();
      InterstitialAd.load(adUnitId: yourAdUnitId)..show();
    } as AdListenerCallback;
    

    Este código realizará un seguimiento de cuándo se cierra el anuncio, eliminará el anuncio y luego mostrará uno nuevo. Además, puedes implementar la función onAppOpenAdCompleted para realizar un seguimiento de los ingresos de los anuncios de Apertura de la Aplicación.

    ad.onAppOpenAdCompleted = (Ad ad) {
      ad.dispose();
      double revenue = ad.appOpenAdController.appOpenAdInfo.priceMicros/1000000;
      print(revenue);
    } as AppOpenAdCallback;
    

    Esta función realizará un seguimiento de los ingresos de los anuncios de AppOpenAd. El valor priceMicros es el ingreso generado por la aplicación y está en micro-unidades. Debes dividir este valor por 1000000 para obtener el ingreso en dólares.

    Espero que esta solución te ayude a realizar un seguimiento preciso de tus ingresos por anuncios.

Comments are closed.