秒针移动广告投放Android SDK集成指南

Miaozhen Systems

Version 1.1



I. 添加SDK

  1. 获取最新版 MZ_AdServing_Android_SDK
  2. MZ_AdServing_Android_SDK.jar 添加到您的应用工程中 , 如下图。


II. AndroidManifest.xml 文件配置

1) 权限设置

使用 MZ_AdServing_Android_SDK ,需要在 AndroidMainfest.xml 文件中添加以下权限。

必选权限:

备注:

2) 添加activity声明

//使用sdk需要开发者在AndroidMainfest.xml文件中添加如下声明:    

< activity  android:name="com.miaozhen.adserving.MZBrowser" android:configChanges="orientation|keyboardHidden|keyboard|screenSize"/>

III. 创建广告

1) 代码增添广告

    //创建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);

2) XML增添广告

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);

IV. 接口说明

1) 参数对象说明

  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

2) 外部接口

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 的状态变化不会通知给监听者。

3) 事件监听

事件方法名称 描述
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访问目标地址。


V. 常见问题

Q: adUnitId 是什么?
A: adUnitId 是秒针为每个广告位分配的唯一标识符。

.

Q: 可以自己设置广告的请求地址吗?
A: 请求地址封装于SDK内部,不允许用户自行设置。

.

Q: SDK 都支持哪些android版本?
A: MZ_AdServing_Android_SDK要求采用android 2.2或更高版本。

Last Updated April 08, 2014.