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.

Anuncios nativos en Recyclerview apareciendo aleatoriamente

Quiero anuncios después de cada 9 posiciones y también no después de la primera posición (que viene automáticamente en la primera posición)

En la clase customerAdapter:

Método onBindViewHolder:

if ((position%9 == 0) and  (position > 0)) {
            MobileAds.initialize(context)
            //build ad
            val adLoader = AdLoader.Builder(context, "ca-app-pub-xxxxxxxxxxxxxxxx/yyyyyyyyy")
                .forNativeAd {
                    val style = NativeTemplateStyle.Builder().withMainBackgroundColor(
                        ColorDrawable(
                            Color.WHITE
                        )
                    )
                        .build()
                    //    val template = findViewById<TemplateView>(R.id.my_template)
//                template.setStyles(style)
//                template.setNativeAd(it)

                    holder.templateView.setStyles(style)
                    holder.templateView.setNativeAd(it)
                }.build()
            //show ad
            adLoader.loadAd(AdRequest.Builder().build())
            holder.templateView.visibility = View.VISIBLE
        }

En la clase ViewHolder, se agregó esta variable:

val templateView : TemplateView =
itemView.findViewById(R.id.my_template)

Los anuncios nativos se cargan aleatoriamente en cualquier posición. No tengo idea de por qué no se cumple mi condición dada. Por favor, ayuda a verificar y déjame saber qué estoy haciendo mal.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Parece que falta una comprobación para asegurarse de que el anuncio no se cargue después de la primera posición. Intente agregar una comprobación al método onBindViewHolder para asegurarse de que el anuncio no se cargue después de la primera posición:

    if ((posición%9 == 0) y (posición > 0) y (posición != 1)) {
        // Crear y mostrar anuncio
    }
    

Comments are closed.