我的原生广告有问题。我收到的原生广告列表为空。这是代码:

Appodeal.setAutoCacheNativeIcons(true)
    Appodeal.setAutoCacheNativeMedia(false)
    Appodeal.initialize(this, apiKey, Appodeal.NATIVE)
    Appodeal.setNativeCallbacks(object : NativeCallbacks {
        override fun onNativeLoaded() {
            Toast.makeText(this@ViewActivity, "onNativeLoaded", Toast.LENGTH_SHORT).show()
        }

        override fun onNativeFailedToLoad() {
            Toast.makeText(this@ViewActivity, "onNativeFailedToLoad", Toast.LENGTH_SHORT).show()
        }

        override fun onNativeShown(nativeAd: NativeAd) {
            Toast.makeText(this@ViewActivity, "onNativeShown", Toast.LENGTH_SHORT).show()
        }

        override fun onNativeClicked(nativeAd: NativeAd) {
            Toast.makeText(this@ViewActivity, "onNativeClicked", Toast.LENGTH_SHORT).show()
        }
    })

    val list = Appodeal.getNativeAds(5)
    nativeAd.getProviderView(this)

    Toast.makeText(this@ViewActivity, "size = "  + list.size , Toast.LENGTH_SHORT).show()
所以每次我得到list.size等于0时,我做错了什么?

最佳答案

使用autocache方法初始化sdk之前,请禁用Appodeal.setAutoCache(Appodeal.NATIVE, false);

之后,初始化Appodeal.cache(this, Appodeal.NATIVE, 5);后需要使用缓存方法sdk
简单的例子:

Appodeal.setAutoCache(Appodeal.NATIVE, false);
Appodeal.initialize(this, tools.appodealApiKey, Appodeal.NATIVE)
Appodeal.cache(this, Appodeal.NATIVE, 5);

并将Appodeal.getNativeAds(5);等移至onNativeLoaded()回调。
显示缓存的广告后,需要再次使用缓存方法

08-05 12:20