关闭

Andriod中插入百度广告的使用

标签: 百度广告广告平台
1483人阅读 评论(1) 收藏 举报

对于广告平台来说,腾讯和百度应用的还是很多的,下面来介绍一下应用中插入百度广告的使用。首先要先到百度广告平台下载相关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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:22671次
    • 积分:412
    • 等级:
    • 排名:千里之外
    • 原创:18篇
    • 转载:2篇
    • 译文:0篇
    • 评论:9条
    最新评论