MoPub文档缺乏解释可用函数使用的代码示例。这个函数是#withMediatedNetworkConfiguration。
为什么这个功能很重要?在网络SDK初始化里写着
注意,您可以在您的.withMediatedNetworkConfiguration()上调用SdkConfiguration.Builder来传递预初始化所需的网络配置。否则,您第一次尝试预初始化中介网络会失败,因为此时没有缓存网络数据。在应用程序生命周期内,所有后续的预初始化尝试都应该成功。
这意味着,如果你第一次调用应用程序,只有MoPub的市场将被初始化。中介网络在init期间没有获得所需的参数,因此将失败。下次发射时一切都会正常的。
因此,即使在第一次启动时,MoPub也让您有机会调用#withMediatedNetworkConfiguration来传递所需的参数。
但这一切是如何完成的呢?
发布于 2020-02-19 20:55:13
事实上,这缺乏文件。
例如,Facebook不需要任何由MoPub介导的参数,它将在第一个应用程序发布时成功地插入它。AdColony和Vungle (以及其他的大多数)将在第一次发射时使用而不是 init。这是由于缺乏竞争而造成的收入损失。
让我们来看看AdColony,它让我有些头疼。简单的MoPubSDK init和AdColony init如下所示。
SdkConfiguration sdkConfiguration = new SdkConfiguration.Builder("362da1882dfc49f3a33b92ea1708f3a5")
.withMediatedNetworkConfiguration(AdColonyAdapterConfiguration.class.getName(), adColonySettings)
.build();
MoPub.initializeSdk(activity, sdkConfiguration, listener);好的。但是AdColonyAdapterConfiguration#initializeNetwork是什么样的呢?这给了我们一些想法,已经通过的配置内容是。

不是太难。传递两个字符串(appId和zoneId)和一个字符串数组(allZoneIds)。
上下阅读MoPub文档帮助我找到了AdColony中介指南的说法

据我理解,appId和zoneId是必需的,allZoneIds也是可选的。但是,如果我的应用程序中使用了倍数,那么使用的是哪个zoneId呢?让事情变短。这都是不对的。在AdColonyAdapterConfiguration#initializeNetwork中,我们可以发现只有appId和allZoneIds才是真正需要的。
看这里

AllZoneIds是由Json.jsonArrayToStringArray检索的。但这又是怎么格式化的?!让我们结束吧。
让我们看看如何在第一个launch上使用MoPub 初始化adColony的全面答案。
Map<String, String> adColonySettings = new HashMap<>();
adColonySettings.put("appId", "yourAppId");
adColonySettings.put("zoneId", "ANYOfYourZoneIds");
adColonySettings.put("allZoneIds", "[\"bannerZoneId, interstitialZoneId\"]");
SdkConfiguration sdkConfiguration = new SdkConfiguration.Builder("moPubId")
.withMediatedNetworkConfiguration(AdColonyAdapterConfiguration.class.getName(), adColonySettings)
.build();
MoPub.initializeSdk(activity, sdkConfiguration, initSdkListener());另一个样本是Vungle。是这样的:
Map<String, String> vungleSettings = new HashMap<>();
vungleSettings.put("appId", "vungleAppId");
SdkConfiguration sdkConfiguration = new SdkConfiguration.Builder("moPubId")
.withMediatedNetworkConfiguration(VungleAdapterConfiguration.class.getName(), vungleSettings)
.build();https://stackoverflow.com/questions/60309073
复制相似问题