Android 如何在不受支持的广告公司中使用AdWhirl?

Android 如何在不受支持的广告公司中使用AdWhirl?,android,ads,adwhirl,Android,Ads,Adwhirl,有人知道AdWhirl是怎么工作的吗 我为Greystripe设置了自定义事件,在该事件中,如果SDK尚未初始化,则初始化SDK,并刷新BannerView,但我没有看到调用自定义事件。所以我的主要问题是,AdWhirl如何以及何时调用定制事件?什么是配给和滚动?我没有用它们做任何事情(主要是因为我不知道为什么我需要它们。AdWhirl用它们做什么?) 另外,我如何控制AdWhirl刷新我的横幅?我想用按钮动作来配合刷新 在过去的两天里,我一直在网上不停地搜索,阅读了很多人们共享的教程和示例Ja

有人知道AdWhirl是怎么工作的吗

我为Greystripe设置了自定义事件,在该事件中,如果SDK尚未初始化,则初始化SDK,并刷新BannerView,但我没有看到调用自定义事件。所以我的主要问题是,AdWhirl如何以及何时调用定制事件?什么是配给和滚动?我没有用它们做任何事情(主要是因为我不知道为什么我需要它们。AdWhirl用它们做什么?)

另外,我如何控制AdWhirl刷新我的横幅?我想用按钮动作来配合刷新

在过去的两天里,我一直在网上不停地搜索,阅读了很多人们共享的教程和示例Java类,但都没有成功。看起来AdWhirl停滞不前了。我还不清楚AdWhirl是如何工作的:它在应用程序和你想在广告中使用的所有广告机会之间起着中介作用。这对我来说是一个太高层次的理解,无法前进(

您是否阅读了描述如何使用自定义事件的?基本上,您可以在后端UI中创建一个类似于另一个广告网络的自定义事件,并可以配置其流量。然后您可以实现在后端命名的函数名。唯一不直观的部分是,您必须实现ADL接口isten用于自定义事件,这意味着创建一个adWhirlGeneric()方法。不过,此方法可以为空,但在创建自己的测试事件时,我看不到它被调用。最后,请确保设置AdWhirlInterface

因此,假设您在后端创建的网络具有:

    Name: Test Network
    Function Name: testEvent
并且给它流量(我建议在测试时给它100%的流量),那么您的代码将如下所示:

public class MyActivity extends Activity {
...
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    ...
  }
  ...

  public void testEvent() {
    // Place event code here.
    Log.d("Cust_Network", "Cust network got called!");
  }
}
要控制刷新广告,请调用rotateThreadedNow()例如,单击按钮时,在AdWhirlLayout上。这将引导AdWhirl完成随机确定新广告网络的过程,并调用正确的适配器,或者在这种情况下调用自定义事件。如果选择此路径,则可能不希望自动刷新,在这种情况下,应禁用背面的自动刷新钕

定量对象由配置数据中的数据填充。每个定量代表一个广告网络,并具有表示单个广告网络ID、您在后端设置的重量百分比和回填优先级的键。回填优先级是AdWhirl在原始请求未完成时将从中请求的网络顺序l、 完成回填优先级的过程称为滚动。在实现自己的自定义事件时,您需要了解一点关于滚动的知识

提到的wiki页面有以下建议可添加到自定义事件中:

    //  In your custom event code, you'll want to call some of the below methods.
    //
    //  On success:
    //  this.adWhirlLayout.adWhirlManager.resetRollover();
    //  this.adWhirlLayout.rotateThreadedDelayed();
    //
    //  On failure:
    //  this.adWhirlLayout.rolloverThreaded();

如果自定义事件正确获取ad,则需要重置滚动顺序(以便下一个请求具有正确的回填顺序),并调用RotateThreatedDelayed(),以便在后端指定的时间内自动刷新。如果ad请求失败,则需要调用rolloverThreaded()这样AdWhirl就可以通过它的滚动过程来检查您的其他配置的广告网络是否有广告。

如果您愿意,您可以使用我开发的开放源代码库,该库允许将AdWhirl与其他(不受支持的)广告网络(但也与官方支持的网络)一起使用。此库也是可扩展的,因此您可以向其中添加新网络,并通过AdWhirl轻松管理

该库是AdMAL(Ad中介抽象层),可在github.com存储库中获得,并具有Apache 2.0开源许可证:

使用AdMAL,您可以轻松地在应用程序中为受支持和不受支持的网络实现AdWhirl(集成比实现AdWhirl SDK更简单)。实际上,它只支持iOS(它是用Objective-C开发的),但我计划在未来几个月移植到android


我启动AdMAL是出于我自己的目的,几天前决定以开放源码许可证向公众发布。希望这能有所帮助!我鼓励其他开发人员改进该库并实施新的网络支持,这样对每个人都有好处。

感谢您的解释!作为一名Android新手,我很难意识到n有些东西正是我所需要的,特别是当涉及到AdWhirl文档时,它假定我有很多知识和熟悉度。嗨,Marco,你为Android实现了AdMAL吗?18个月过去了:)