Miaozhen Systems
Version 1.1
使用 MZ_AdServing_Android_SDK ,需要在 AndroidMainfest.xml 文件中添加以下权限。
必选权限:
- < uses-permission android:name=”android.permission.INTERNET” />
- < uses-permission android:name=”android.permission.ACCESS_NETWORK_STATE” />
- < uses-permission android:name=”android.permission.ACCESS_WIFI_STATE” />
- < uses-permission android:name=”android.permission.READ_PHONE_STATE”/>
备注:
- INTERNET:允许访问网络。
- ACCESS_NETWORK_STATE:允许访问网络的状态,。
- ACCESS_WIFI_STATE:允许程序访问Wi-Fi网络状态信息。
- READ_PHONE_STATE: 允许程序获取设备相关信息。
//使用sdk需要开发者在AndroidMainfest.xml文件中添加如下声明:
< activity android:name="com.miaozhen.adserving.MZBrowser" android:configChanges="orientation|keyboardHidden|keyboard|screenSize"/>
//创建MZAdView对象
MZAdView adView = new MZAdView(getApplicationContext());
//设置adUnitId
adView.setAdUnitId(adUnitId);
//设置activity
adView.setActivity(activity);
//设置需要请求的广告大小
adView.setAdSize(MZAdSize.SMART_BANNER);
//将广告位添加至contentview中。
FrameLayout.LayoutParams layoutParams = new
FrameLayout.LayoutParams(FrameLayout.LayoutParams.FILL_PARENT,
FrameLayout.LayoutParams.WRAP_CONTENT);
addContentView(adView,layoutParams);
//创建请求对象
MZAdRequest request = new MZAdRequest(getApplicationContext());
//请求广告
adView.loadAd(request);
1. 在资源文件中添加
<com.miaozhen.adserving.MZAdView
android:id="@+id/adView"
android:layout_width="match_parent"
android:layout_height="50dip"
/>
2.在程序中设置 adUnitId 及 activity
//获取MZAdView对象,设置参数,请求广告
MZAdView adView = (MZAdView)findViewById(R.id.adView);
adView.setAdUnitId(adUnitId);
adView.setActivity(activity);
adView.setAdSize(MZAdSize.SMART_BANNER);
MZAdRequest request = new MZAdRequest(getApplicationContext());
adView.loadAd(request);
MZAdRequest
负责完成广告投放请求的发送。
MZAdRequest.ErrorCode
枚举类型,列举了请求发送失败的错误原因,在onFailedToReceiveAd()中返回。
枚举值 | 描述 | ||
---|---|---|---|
INTERNAL_ERROR | http请求错误. | ||
INVALID_REQUEST | http请求 服务器发生错误. | ||
NETWORK_ERROR | 建立连接失败。 | ||
NO_FILL | 请求发送成功,但无广告返回。 | ||
MZAdListener
监听对象,注册监听需要将该对象传递给 MZAdView 。
MZAdSize
表示要请求的广告大小,具有width和height两个属性,单位为dip 。
设置时可使用sdk提供的一些常见的广告大小的值,也可自己定义广告大小。
以下为提供的一些常见广告大小的值。
广告类型 | 广告大小 ( 单位:dip ) | ||
---|---|---|---|
BANNER | 320 X 50 | ||
IAB_MERCT | 320 X 250 | ||
IAB_BANNER | 468 X 60 | ||
IAB_LEADERBOARD | 728 X 90 | ||
IAB_WIDE_SKYSCRAPER | 160 X 600 | ||
1. public void setAdUnitId(String adUnitId) //设置广告位的唯一标识 (在第一次请求广告前设置,*必须项)。
2. public void setActivity(Activity activity) //设置Activity(在第一次请求广告前设置, *必须项)。
3. public void setAdSize(MZAdSize adSize) //设置要请求的广告大小(在第一次请求广告前设置)。
4. public void setAdListener(MZAdListener listener) //注册监听对象(非必须)。
5. public void loadAd(MZAdRequest adRequest) //请求广告。
6. public void showAd() //展示广告。
7. public void setMaxSize(int width, int height) //设置允许广告创意调整广告位大小的上限值(单位:dip)。如未设置,默认上限值为全屏大小。
8. public void destoryAdView() //释放MZAdView占用资源。
9. public void setRequestURL(String URL) //设置广告投放的请求地址,如使用此接口,则无需再通过setAdUnitId(String adUnitId)接口设置adUnitId。(如使用,须在第一次请求广告前设置)
备注:
1) loadAd(MZAdRequest adRequest)
若当前已有广告正在展示,调用该方法,会再次请求新广告,且在广告成功返回后给予监听者消息。此时调用showAd() 请求展示新广告,MZAdView会先还原旧广告的展示状态至初始状态(不包括关闭已打开的内置浏览器)、卸载,加载新广告。
2) showAd()
该方法通知 MZAdView 真正的去加载(渲染)广告。如注册了监听对象,须在接收到广告成功返回事件后,选择适当时机主动调用该方法。如未注册监听对象,MZAdView 会在成功接收到广告后直接调用该方法。
3) destoryAdView()
该方法被调用后,会先还原当前广告的展示状态至初始状态(不包括关闭已打开的内置浏览器),并且将MZAdView从父组件上移除、销毁。
4) setAdListener(MZAdListener listener)
注册监听对象后,当广告位状态发生改变时可接收到相应消息。当广告进入‘全屏展示’状态,开启一个新 MZAdView 时,新的 MZAdView 的状态变化不会通知给监听者。
事件方法名称 | 描述 | ||
---|---|---|---|
onReceiveAd | 通知监听者广告返回成功。 | ||
onFailedToReceiveAd | 通知监听者广告返回失败,同时返回错误类型。 | ||
onPresentScreen | 通知监听者广告被展示,或广告进入 ‘全屏展示’ 状态。 | ||
onDismissScreen | 通知监听者广告被隐藏,或广告退出 ‘全屏展示’ 状态。 | ||
onLeaveApplication | 通知监听者广告请求打开设备浏览器,即将离开应用。 | ||
adWillResize | 通知监听者广告创意请求调整广告位大小,监听者返回blooean型结果表示是否允许该操作。 | ||
onResizeClose | 通知监听者广告创意还原广告位大小至初始大小。 | ||
示例:
final MZAdView adView = (MZAdView) findViewById(R.id.testAdView);
MZAdListener adListener = new MZAdListener(){
@Override
public void onReceiveAd(MZAdView arg0) {
adView.showAd();
}
@Override
public void onFailedToReceiveAd(MZAdView arg0, ErrorCode arg1) {
// TODO Auto-generated method stub
}
@Override
public void onPresentScreen(MZAdView arg0) {
// TODO Auto-generated method stub
}
@Override
public void onDismissScreen(MZAdView arg0) {
// TODO Auto-generated method stub
}
@Override
public void onLeaveApplication(MZAdView arg0) {
// TODO Auto-generated method stub
}
@Override
public boolean adWillResize(MZAdView arg0, MZAdSize arg1) {
// TODO Auto-generated method stub
return true;
}
@Override
public void onResizeClose(MZAdView arg0) {
// TODO Auto-generated method stub
}
};
adView.setAdListener(adListener);
备注:
全屏展示 :指广告打开内置浏览器,或通过弹出层的形式于当前窗口顶层展示广告。
内置浏览器 :指MZBroswer类(Activity),当广告请求访问链接地址时,SDK会启动该Activity,通过webView访问目标地址。
Q: adUnitId 是什么?
A: adUnitId 是秒针为每个广告位分配的唯一标识符。
.
Q: 可以自己设置广告的请求地址吗?
A: 请求地址封装于SDK内部,不允许用户自行设置。
.
Q: SDK 都支持哪些android版本?
A: MZ_AdServing_Android_SDK要求采用android 2.2或更高版本。
Last Updated April 08, 2014.