Andriod中插入百度广告的使用

对于广告平台来说,腾讯和百度应用的还是很多的,下面来介绍一下应用中插入百度广告的使用。首先要先到百度广告平台下载相关sdk文档和Demo。


1)把架包导入工程中,如图所示


2)添加相关权限

<uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.WRITE_SETTINGS"/>
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
 <!-- 移动云 百度AppX SDK -->
    <activity android:name="com.baidu.appx.ui.BDInnerBrowser" />

    <receiver android:name="com.baidu.appx.app_download.CompleteReceiver" >
            <intent-filter>
                <action android:name="android.intent.action.DOWNLOAD_COMPLETE" />
                <action android:name="android.intent.action.DOWNLOAD_NOTIFICATION_CLICKED" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.PACKAGE_ADDED" />

                <data android:scheme="package" />
                <!-- 注意!! 这句必须要加,否则接收不到安装完成广播 -->
            </intent-filter>

        </receiver>     
        

2)开始使用

在MainActivity里

public class MainActivity extends Activity {
	// 百度广告初始化控件-横屏广告
	private RelativeLayout appxBannerContainer;
	private static BDBannerAd bannerAdView = null;

	// 百度插屏广告
	private Button button;
	private BDBannerAd bannerAdView1 = null;
	private BDInterstitialAd appxInterstitialAdView = null;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		initView();
	}

	private void initView() {
		appxBannerContainer = (RelativeLayout) findViewById(R.id.appx_banner_container);
		button = (Button) findViewById(R.id.button);
		bannerAdView = CpHelps.initCp(bannerAdView, appxBannerContainer,
				MainActivity.this);

		// 发布时请使用正确的ApiKey和广告位ID
		// 此处ApiKey和推广位ID均是测试用的
		// 您在正式提交应用的时候,请确认代码中已经更换为您应用对应的Key和ID
		// 具体获取方法请查阅《百度开发者中心交叉换量产品介绍.pdf》
		bannerAdView1 = new BDBannerAd(this,
				"CRqGC0MMbzpSLT2EYgDKk58d6ymsHylt", "TRwQxo62D74ULcY9TDRCjvno");
		appxInterstitialAdView = CpHelps.initInterCp(appxInterstitialAdView,
				bannerAdView1, MainActivity.this);
		button.setOnClickListener(new Button.OnClickListener() {

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				// 展示插屏广告前先请先检查下广告是否加载完毕
				if (appxInterstitialAdView.isLoaded()) {
					appxInterstitialAdView.showAd();
				} else {
					appxInterstitialAdView.loadAd();
				}
			}
		});
	}

}
工具类如下:

public class CpHelps {

	public static BDBannerAd initCp(BDBannerAd bannerAdView,
			RelativeLayout appxBannerContainer, Context context) {

		// 创建广告视图
		// 发布时请使用正确的ApiKey和广告位ID
		// 此处ApiKey和推广位ID均是测试用的
		// 您在正式提交应用的时候,请确认代码中已经更换为您应用对应的Key和ID
		// 具体获取方法请查阅《百度开发者中心交叉换量产品介绍.pdf》
		bannerAdView = new BDBannerAd((Activity) context,
				"CRqGC0MMbzpSLT2EYgDKk58d6ymsHylt", "TRwQxo62D74ULcY9TDRCjvno");

		// 设置横幅广告展示尺寸,如不设置,默认为SIZE_FLEXIBLE;
		bannerAdView.setAdSize(BDBannerAd.SIZE_FLEXIBLE);

		// 设置横幅广告行为监听器
		bannerAdView.setAdListener(new BannerAdListener() {

			@Override
			public void onAdvertisementDataDidLoadFailure() {

			}

			@Override
			public void onAdvertisementDataDidLoadSuccess() {

			}

			@Override
			public void onAdvertisementViewDidClick() {
				// System.out.println("、、、、??我点击了广告;;;;;、、、、、");

			}

			@Override
			public void onAdvertisementViewDidShow() {

			}

			@Override
			public void onAdvertisementViewWillStartNewIntent() {

			}
		});

		// 显示广告视图
		appxBannerContainer.addView(bannerAdView);
		return bannerAdView;
	}

	public static BDInterstitialAd initInterCp(
			BDInterstitialAd appxInterstitialAdView, BDBannerAd bannerAdView,
			Context context) {

		// 创建广告视图
		// 发布时请使用正确的ApiKey和广告位ID
		// 此处ApiKey和推广位ID均是测试用的
		// 您在正式提交应用的时候,请确认代码中已经更换为您应用对应的Key和ID
		// 具体获取方法请查阅《百度开发者中心交叉换量产品介绍.pdf》
		appxInterstitialAdView = new BDInterstitialAd((Activity) context,
				"CRqGC0MMbzpSLT2EYgDKk58d6ymsHylt", "TRwQxo62D74ULcY9TDRCjvno");

		// 设置插屏广告行为监听器
		appxInterstitialAdView.setAdListener(new InterstitialAdListener() {

			@Override
			public void onAdvertisementDataDidLoadFailure() {

			}

			@Override
			public void onAdvertisementDataDidLoadSuccess() {

			}

			@Override
			public void onAdvertisementViewDidClick() {

			}

			@Override
			public void onAdvertisementViewDidHide() {

			}

			@Override
			public void onAdvertisementViewDidShow() {

			}

			@Override
			public void onAdvertisementViewWillStartNewIntent() {

			}

		});

		bannerAdView.setOnKeyListener(new OnKeyListener() {

			@Override
			public boolean onKey(View v, int keyCode, KeyEvent event) {
				// TODO Auto-generated method stub
				return true;
			}
		});
		// 加载广告
		appxInterstitialAdView.loadAd();
		return appxInterstitialAdView;

	}
}
布局文件如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <RelativeLayout
        android:id="@+id/appx_banner_container"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginBottom="8dp"
        android:layout_marginLeft="8dp"
        android:layout_marginRight="8dp"
        android:layout_marginTop="10dp"
        android:gravity="center" />

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="10dp"
        android:background="@null"
        android:text="点击出现插屏"
        android:textColor="#ff0000"
        android:textSize="20sp" />

</LinearLayout>

需要注意的就是,发布时请使用正确的ApiKey和广告位ID,就是你自己或者公司在百度广告平台申请的ApiKey和广告位ID




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值