项目中加入百度联盟广告。

需要在http://mssp.baidu.com/home/developer.html#/app/list申请应用,待审核通过后需要在申请一个代码位id,这个代码位id很重要,因为需要这个东西来获取到百度联盟的广告信息。

一些配置信息官方文档已经给出了http://bce.ssp.baidu.com/mssp/sdk/BaiduMobAds_MSSP_bd_SDK_android_v5.6.pdf

demo及jar下载地址http://bce.ssp.baidu.com/mssp/sdk/BaiduMobAds_MSSP_bd_SDK_android_v5.6.zip

一般情况下在列表中使用广告的话,需要申请信息流,不过不知道什么原因信息流的审核很慢,所以就先做了一个视频贴片的广告

效果就是下图所示



先贴上工具类代码

import android.content.Context;
import android.util.Log;
import com.baidu.mobad.feeds.BaiduNative;
import com.baidu.mobad.feeds.NativeErrorCode;
import com.baidu.mobad.feeds.NativeResponse;
import com.baidu.mobad.feeds.RequestParameters;
import java.util.ArrayList;
import java.util.List;

/**
 * Created by Administrator on 2017/2/9.
 */

public class BaiDuAdvertisementUtils {
    private static List<NativeResponse> nrAdList = new ArrayList<NativeResponse>();    //广告的List
    private static String YOUR_AD_PLACE_ID = "******"; // 双引号中填写自己的广告位ID

    /***
     * 初始化广告位
     */
    public static List<NativeResponse> initGuanggao(Context context) {
        /**
         * Step 1. 创建BaiduNative对象,参数分别为: 上下文context,广告位ID, BaiduNativeNetworkListener监听(监听广告请求的成功与失败)
         * 注意:请将YOUR_AD_PALCE_ID替换为自己的广告位ID
         */
        BaiduNative baidu = new BaiduNative(context, YOUR_AD_PLACE_ID, new BaiduNative.BaiduNativeNetworkListener() {
            @Override
            public void onNativeFail(NativeErrorCode arg0) {
                Log.w("ListViewActivity", "onNativeFail reason:" + arg0.name());
            }
            @Override
            public void onNativeLoad(List<NativeResponse> arg0) {
                // 一个广告只允许展现一次,多次展现、点击只会计入一次
                if (arg0 != null && arg0.size() > 0) {
                    if(nrAdList.size()==0) {
                        nrAdList.addAll(arg0);
                    }
                }
            }
        });
        /**
         * Step 2. 创建requestParameters对象,并将其传给baidu.makeRequest来请求广告
         */
        // 用户点击下载类广告时,是否弹出提示框让用户选择下载与否
        RequestParameters requestParameters =
                new RequestParameters.Builder()
                        .downloadAppConfirmPolicy(
                                RequestParameters.DOWNLOAD_APP_CONFIRM_ONLY_MOBILE).build();

        baidu.makeRequest(requestParameters);
        return nrAdList;
    }
}

用法如下:

final List<NativeResponse> data = BaiDuAdvertisementUtils.initGuanggao(getActivity());
publishAdapter.addGGDatas(data);
适配器里的使用以及点击广告之后下载apk
GGHolder ggHolder = (GGHolder) holders;
if (arg0.size() != 0) {
    ggHolder.gg_content.setText(arg0.get(0).getDesc());
    Glide.with(mContext).load(arg0.get(0).getImageUrl()).into(ggHolder.gg_iv);
    ggHolder.GG_item.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            NativeResponse nrAd = arg0.get(0);
            nrAd.handleClick(v);
        }
    });
}


  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值