Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

219
Visualizações
Manejar la interactividad del botón para anuncios en Unity

Estoy usando Unity Ads en mi aplicación. Todo funciona bien, pero quiero agregar una función que maneje la interactividad del botón Anuncio, ya sea que el Anuncio esté listo o no, durante toda la vida útil de la aplicación.

La solución más simple que he codificado consiste en verificar la disponibilidad de los anuncios dentro del método update() :

 public class AdButton : MonoBehaviour { // Some stuff here void Update() { if (myButton) myButton.interactable = Advertisement.IsReady(placementId); } }

pero también pensé en usar eventos de Actions :

 public class AdsManager : MonoBehaviour { public static event Action<bool> AdReady; // Some stuff here void update() { adReady?.invoke(Advertisement.isReady(placementId)); } }
 public class AdButton : MonoBehaviour { // Some stuff here void OnEnable() { AdsManager.AdReady += RefreshButton; } void RefreshButton(bool interactivity) { myButton.interactable = interactivity } void OnDisable() { AdsManager.AdReady -= RefreshButton; } }

El problema es que soy nuevo en Unity y me da un poco de miedo el método update() . He estado leyendo que es fácil sobrecargar la aplicación debido a la naturaleza de esa función (llamada una vez por cuadro).

¿Debería preocuparme por estas líneas de código o por llamar a cada cuadro? ¿Estas instrucciones no ralentizan mi aplicación?

Gracias por tu ayuda.

simo

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Mi sugerencia sería usar el enfoque de Acción, ese es el enfoque que he tomado en el pasado, por ejemplo:

 private Action onAdReadyListener; public void RegisterOnReadyListener(Action onAdReadyListener) { this.onAdReadyListener = onAdReadyListener; if (Advertisement.IsReady(myPlacementId)) { onAdReadyListener?.Invoke(); } } public void OnUnityAdsReady(string placementId) { if (placementId == myPlacementId) { onAdReadyListener?.Invoke(); } }

OnUnityAdsReady() es un método de anulación proporcionado por el paquete UnityAds. Se invoca cuando un anuncio está listo para ser visto.

La idea aquí es registrar un oyente, pasando una Action como parámetro al método RegisterOnReadyListener() y almacenándolo como una variable miembro.

Si un anuncio está listo de inmediato, la Action se invocará de inmediato. Si el anuncio no está listo de inmediato, se invocará la Action cuando el paquete UnityAds invoque la devolución de llamada OnUnityAdsReady() .

Cada vez que se ve un anuncio, se OnUnityAdsReady() cuando el próximo anuncio esté listo para ser visto. Esto significa que la Action se invocará cada vez que un Anuncio esté listo.

Un par de consejos para este tema:

  • Unity limita a 25 anuncios que se muestran por día en un entorno de producción.
  • Android es muy estricto con la forma en que muestra anuncios, como dejar en claro que el usuario va a ver un anuncio y no mostrar más de 1 anuncio por "pantalla".
  • Si ve sus propios anuncios demasiadas veces en un entorno de producción, su cuenta se bloqueará. Puede controlar si se muestran Anuncios de prueba o Anuncios de producción desde el Panel de control de Unity para su proyecto. Esta opción anula cualquier opción de prueba que tenga en el código.
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda