每个应用都需要设置广告位id,商务会提供不同广告样式的广告位id,以下简称为“slotid”。
具体参考:新手指引
demo下载:点击下载
代码:
步骤 1:添加插屏layout 添加插屏广告的layout,并获取插屏view控件
<com.taobao.munion.view.interstitial.MunionInterstitialView
android:id="@+id/interstitialView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:visibility="gone" />
View intersView = (MunionInterstitialView) findViewById(R.id.interstitialView);
步骤 2:加载并展示广告
// 广告位id String slotid = "12345"; AlibabaSDK.getService(AdService.class).loadAd(this, intersView,slotid);
步骤 3:关闭广告
@Override
public void onBackPressed() {
// 关闭插屏广告
AlibabaSDK.getService(AdService.class).handleAdEvent(intersView,
AdService.AD_EVENT_TYPE_CLOSED);
super.onBackPressed();
}
步骤 4:Taobao账号处理
在展示广告的Activity内,"onActivityResult"方法内增加Taobao账号服务相关操作,用于处理返回的账号处理结果。
注意:广告SDK使用的requestCode取值,请参考“alisdk-system"库包内"com.alibaba.sdk.android.system.RequestCode"类的常量定义,请媒体确认数值是否被占用,如果取值有占用,可以直接修改"com.alibaba.sdk.android.system.RequestCode"类内事件的数致定义
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (!AlibabaSDK.getService(AdService.class).handleAccountServiceResult(
this, requestCode, resultCode, data)) {
super.onActivityResult(requestCode, resultCode, data);
}
}

图3-1 插屏展示效果
代码:
步骤 1:添加横幅展示控件 添加横幅广告的layout,并获取横幅view控件
<com.taobao.munion.view.banner.MunionBannerView
android:id="@+id/bannerView"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
View bannerView = (MunionBannerView) findViewById(R.id.bannerView);
步骤 2:加载并展示广告
// 广告位id String slotid = "12345"; AlibabaSDK.getService(AdService.class).loadAd(this, bannerView,slotid);
步骤 3:系统返回事件处理
@Override
public void onBackPressed() {
boolean interrupt = false;
if (bannerView != null) {
// 通知Banner推广返回键按下,如果Banner进行了一些UI切换将返回true
// 否则返回false(如从 expand状态切换会normal状态将返回true)
interrupt = AlibabaSDK.getService(AdService.class).
handleAdEvent(bannerView,AdService.AD_EVENT_TYPE_PRESSED_BACK);
}
if (!interrupt)
super.onBackPressed();
}
步骤 4:Taobao账号处理
在展示广告的Activity内,"onActivityResult"方法内增加Taobao账号服务相关操作,用于处理返回的账号处理结果。
注意:广告SDK使用的requestCode取值,请参考“alisdk-system"库包内"com.alibaba.sdk.android.system.RequestCode"类的常量定义,请媒体确认数值是否被占用,如果取值有占用,可以直接修改"com.alibaba.sdk.android.system.RequestCode"类内事件的数致定义
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (!AlibabaSDK.getService(AdService.class).handleAccountServiceResult(
this, requestCode, resultCode, data)) {
super.onActivityResult(requestCode, resultCode, data);
}
}

图3-2 横幅展示效果
代码:
步骤 1:添加推广墙layout
<!-- 推广墙布局 -->
<RelativeLayout
android:id="@+id/rlayout"
android:layout_width="55dp"
android:layout_height="50dp"
android:layout_alignParentLeft="true"
android:layout_marginLeft="8dp"
android:layout_marginTop="25dp" >
<!-- 推广墙点击图标 -->
<ImageView
android:id="@+id/imageview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_marginRight="5dp"
android:scaleType="fitXY" />
<!-- 推广墙文字 -->
<TextView
android:id="@+id/textview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginRight="5dp"
android:gravity="center"
android:text=""
android:textColor="#000"
android:textSize="12sp" />
<!-- 新广告提示布局 -->
<RelativeLayout
android:id="@+id/newtip_area"
android:layout_width="28dp"
android:layout_height="20dp"
android:layout_alignParentRight="true"
android:gravity="right" >
<ImageView
android:id="@+id/newtip_iv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:scaleType="fitCenter" />
<TextView
android:id="@+id/newtip_tv"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_alignParentRight="true"
android:gravity="center"
android:paddingBottom="4dp"
android:textColor="#ffffff"
android:textSize="8sp"
android:textStyle="bold" />
</RelativeLayout>
</RelativeLayout>
步骤 2:加载并展示广告
// 广告位id String slotid = "12345"; RelativeLayout rl = (RelativeLayout)findViewById(R.id.rlayout); AlibabaSDK.getService(AdService.class).loadAd(this, rl, MainActivity.SLOT_ID_HANDLER);
步骤 3:Taobao账号处理
在展示广告的Activity内,"onActivityResult"方法内增加Taobao账号服务相关操作,用于处理返回的账号处理结果。
注意:广告SDK使用的requestCode取值,请参考“alisdk-system"库包内"com.alibaba.sdk.android.system.RequestCode"类的常量定义,请媒体确认数值是否被占用,如果取值有占用,可以直接修改"com.alibaba.sdk.android.system.RequestCode"类内事件的数致定义
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (!AlibabaSDK.getService(AdService.class).handleAccountServiceResult(
this, requestCode, resultCode, data)) {
super.onActivityResult(requestCode, resultCode, data);
}
}
特殊场景: 如果媒体想隐藏“推广墙”的icon展示,可以在Layout文件中隐藏“推广墙”相关的布局声明,然后在需要展示“推广墙”内容的地方,通过调用performClick()方法手工模拟“推广墙”icon被点击即可。

图3-3 推广墙Icon展示效果

图3-3 推广墙内容展示效果
| Class | Method |
| AlibabaSDK | /** * 获取指定的服务对象 * @param clazz 服务类, * 获取广告服务,请填写com.taobao.tae.sdk.api.AdService.class * @return 具体服务对象 */ public static |
| AdService | /** * 加载,展示广告 * @param context 上下文 * @param adView 待执行加载操作的广告控件 * @param slotId 广告位id */ public void loadAd(Context context, View adView, String slotId) /** * 事件处理,不同广告样式可支持的事件处理,请具体参考AdDemo * @param adView 当前的广告控件 * @param eventType 事件类型, 包括返回事件:{@link AdService#AD_EVENT_TYPE_PRESSED_BACK}, 关闭事件:{@link AdService#AD_EVENT_TYPE_CLOSED}等。 * @return 事件处理结果 */ public boolean handleAdEvent(View adView, int eventType) /** * 处理账户服务结果,目前仅支持账户登录服务的结果处理 * @param context 上下文 * @param requestCode 请求码 * @param resultCode 结果码 * @param data 结果数据 * @return 操作处理成功返回true,反之false,false需要媒体自行处理结果 */ public boolean handleAccountServiceResult(Context context,int requestCode, int resultCode, Intent data) |