需要在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); } }); }