Android版OpenGL游戏引擎的集成KeyMob管理库教程

寵の児 提交于 2019-12-06 00:25:05

一:前提条件
1:下载适用于 Android的Google移动广告SDK

二:OpenGL游戏---横幅广告
如果您使用基于OpenGL的游戏引擎,但使用原生的 Android集成广告,我们建议您仅在游戏暂停或结束时,或者在用户未主动玩游戏的屏幕上展示横幅广告。这样做的优势在于:

1:更好的用户体验---用户不希望在玩游戏的过程中被广告干扰

2:效果---广告可能会影响游戏的帧速率       3:防止出现意外点击

以下示例说明如何使用最少的代码添加横幅广告。在适当的时间加载横幅广告则是您的责任。

三:Android
大部分基于OpenGL的Android游戏都使用SurfaceView的形式。您的主活动如下所示:

public class MainActivity extends Activity {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    SurfaceView gameView = new SurfaceView(this);
    setContentView(gameView);
  }

}

以下示例使用RelativeLayout将智能横幅广告固定在屏幕底部。
public class MainActivity extends Activity {
  private AdView adView;

@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);

SurfaceView gameView = new SurfaceView(this);

// 创建和加载Adview。
adView = new AdView(this);

adView.setAdUnitId("ca-app-pub-3940256099942544/6300978111");

adView.setAdSize(AdSize.SMART_BANNER);

// 一个RelativeLayout作为主要布局创建和添加游戏视图。
RelativeLayout mainLayout = new RelativeLayout(this);

mainLayout.addView(gameView);

// 添加AdView到屏幕底部。
RelativeLayout.LayoutParams adParams = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);

adParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);

mainLayout.addView(adView, adParams);

// 设置相对布局为主要布局。
setContentView(mainLayout);
  }

}

您的应用现在已经可以展示横幅广告了。剩下的一个步骤是显示广告和发送广告请求。这可以采用名为showBanner的辅助方法来完成:
private void showBanner() {

adView.setVisibility(View.VISIBLE);

adView.loadAd(new AdRequest.Builder().addTestDevice(AdRequest.DEVICE_ID_EMULATOR).build());

}

调用showBanner之后,您的游戏将显示一个横幅广告。

您希望在用户玩游戏期间将广告隐藏起来,这可以通过调用hideBanner方法来完成:
private void hideBanner(){

 adView.setVisibility(View.GONE);
}

游戏结束时,请再次调用showBanner方法以刷新并显示广告。

KeyMob是一个专业的移动应用广告管理工具,他可以集成admob广告、iad、等众多流行广告平台还可以集成OpenGL游戏引擎。可以看出KeyMob对各个平台集成是最方便快捷,支持的平台也比较多。无需单独的SDK来集成,还可以在应用内进行交叉推广的广告聚合平台。唯一存在不足之处就是他的发展历史比较晚,了解这个工具的人比较少,但是随着互联网在发展,KeyMob也在不断地升级与优化之中。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!