在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 } }搞定,运行项目就可以看到广告效果了。
注意,必须要用真机才可以看到效果。