首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MoPub #与withMediatedNetworkConfiguration解释

MoPub #与withMediatedNetworkConfiguration解释
EN

Stack Overflow用户
提问于 2020-02-19 20:55:13
回答 1查看 244关注 0票数 0

MoPub文档缺乏解释可用函数使用的代码示例。这个函数是#withMediatedNetworkConfiguration。

为什么这个功能很重要?在网络SDK初始化里写着

注意,您可以在您的.withMediatedNetworkConfiguration()上调用SdkConfiguration.Builder来传递预初始化所需的网络配置。否则,您第一次尝试预初始化中介网络会失败,因为此时没有缓存网络数据。在应用程序生命周期内,所有后续的预初始化尝试都应该成功。

这意味着,如果你第一次调用应用程序,只有MoPub的市场将被初始化。中介网络在init期间没有获得所需的参数,因此将失败。下次发射时一切都会正常的。

因此,即使在第一次启动时,MoPub也让您有机会调用#withMediatedNetworkConfiguration来传递所需的参数。

但这一切是如何完成的呢?

EN

回答 1

Stack Overflow用户

发布于 2020-02-19 20:55:13

事实上,这缺乏文件。

例如,Facebook不需要任何由MoPub介导的参数,它将在第一个应用程序发布时成功地插入它。AdColony和Vungle (以及其他的大多数)将在第一次发射时使用而不是 init。这是由于缺乏竞争而造成的收入损失。

让我们来看看AdColony,它让我有些头疼。简单的MoPubSDK init和AdColony init如下所示。

代码语言:javascript
复制
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的全面答案。

代码语言:javascript
复制
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。是这样的:

代码语言:javascript
复制
Map<String, String> vungleSettings = new HashMap<>();
    vungleSettings.put("appId", "vungleAppId");

    SdkConfiguration sdkConfiguration = new SdkConfiguration.Builder("moPubId")
            .withMediatedNetworkConfiguration(VungleAdapterConfiguration.class.getName(), vungleSettings)
            .build();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60309073

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档