在Android平台,大部分广告的嵌入方法都是类似的。
这次我选择哇棒广告平台为例,说一下使用AndEngine引擎如何嵌入广告。
首先AndroidManifest.xml文件需要添加相关的权限和内容,这些在广告SDK自带的文章中都有描述,这里就不写了。
拷贝例子中res/values/attrs.xml文件到项目对应的位置。
编辑项目的布局文件,我的内容如下:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:adsdk="http://schemas.android.com/apk/libs/cn.wey.android"
android:id="@+id/main_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<com.wooboo.adlib_android.WoobooAdView
android:id="@+id/wooboobanner"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
adsdk:backgroundColor="#FF000000"
adsdk:refreshInterval="40"
adsdk:textColor="#FFFFFFFF" />
<org.andengine.opengl.view.RenderSurfaceView
android:id="@+id/renderSurfaceView"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</RelativeLayout>
既然使用布局文件,那么游戏的入口类就要集成自SimpleLayoutGameActivity
以我前面放的华容道游戏为例,我的Huarong.java文件内容如下:
public class Huarong extends SimpleLayoutGameActivity {
public EngineOptions onCreateEngineOptions() {
final Camera camera = new Camera(0, 0, Constants.CAMERA_WIDTH,
Constants.CAMERA_HEIGHT);
final EngineOptions engineOptions = new EngineOptions(true,
ScreenOrientation.PORTRAIT_FIXED, new RatioResolutionPolicy(
Constants.CAMERA_WIDTH, Constants.CAMERA_HEIGHT),
camera);
// enable sound & music
engineOptions.getAudioOptions().setNeedsMusic(true);
engineOptions.getAudioOptions().setNeedsSound(true);
return engineOptions;
}
@Override
protected void onCreateResources() {
// andengine's engine
Constants.mEngine = this.mEngine;
// application context
Constants.mContext = this;
// load game settings
Settings.load();
// load pictures & sound
Assets.load();
}
@Override
protected Scene onCreateScene() {
return new MainMenuScene();
}
@Override
protected int getLayoutID() {
return R.layout.activity_huarong; //返回布局文件的资源id
}
@Override
protected int getRenderSurfaceViewID() {
return R.id.renderSurfaceView; //返回布局文件中RenderSurfaceView控件的id
}
}
搞定,运行项目就可以看到广告效果了。
注意,必须要用真机才可以看到效果。