在Android应用中添加广告是开发者收入之一,但有广告的应用对于用户来说比较反感,很多事情都是相互矛盾。如何在我们的APP中添加广告呢?移动广告平台为我们提供了相应的SDK,只需要下载他们的SDK,按他们的开发文档添加就可以了。

下面是一些广告平台:

一、百度移动联盟:http://munion.baidu.com/

1.百度移动联盟推广SDK下载:http://munion.baidu.com/about.html#/sdk/mobSdk

2.百度移动联盟积分墙SDK下载:http://munion.baidu.com/about.html#/sdk/statSdk

二、有米:http://www.youmi.net/

还有其它的一些广告平台如:多盟、力美、酷果

关于更多移动广告平台信息可以查看:http://baike.baidu.com/link?url=4MavjKAnjUsqLuhs0rdOkjzfWdzJBv_2pDEh36blDxDwNzp2R-0LoEP1mRLjb-KbId8w-FXnYg4EWc5QWAdFLa

下面是我使用百度推广SDK的例子,其实跟百度提供的例子是一样的,只是我自己练了一遍

首先把百度推广SDK包下载,解压后的目录

在《Baidu_MobAds_SDK_Manual.doc》文档中教你如何把广告添加到你的APP中

目录结构

效果图

AndroidManifest.xml文件中声明权限和Activity

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.dzt.baidu"android:versionCode="1"android:versionName="1.0" ><uses-sdkandroid:minSdkVersion="8"android:targetSdkVersion="17" /><uses-permission android:name="android.permission.INTERNET" /><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_COARSE_LOCATION" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><!-- 以下为可选权限 --><uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /><uses-permission android:name="android.permission.RECORD_AUDIO" /><uses-permission android:name="android.permission.VIBRATE" /><uses-permission android:name="android.permission.CAMERA" /><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /><uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS" /><applicationandroid:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme" ><meta-dataandroid:name="BaiduMobAd_APP_ID"android:value="debug" /><meta-dataandroid:name="BaiduMobAd_APP_SEC"android:value="debug" /><activityandroid:name="com.baidu.mobads.AppActivity"android:configChanges="keyboard|keyboardHidden|orientation" /><activityandroid:name="com.dzt.baidu.DeclaringActivity"android:label="@string/simple_declaring" /><activityandroid:name="com.dzt.baidu.CodingActivity"android:label="@string/simple_coding" /><activityandroid:name="com.dzt.baidu.InterstitialActivity"android:label="@string/simple_inters" /><activityandroid:name="com.dzt.baidu.IconsActyvity"android:label="@string/simple_icon" /><activityandroid:name="com.dzt.baidu.AdActivity"android:label="@string/app_name" ><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest>

调试过程中,建议先设置APPSID和计费名的值为debug,以便进行广告调试。调试成功后,务必改为自己的APPSID和计费名,并上传应用至联盟端审核,审核通过后才能为您计费,如果还未审核通过而APPSID和计费名的值不为debug,则没有广告显示。

AdActivity.java

package com.dzt.baidu;import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;/*** 使用百度推广示例 dzt* * @author Administrator 2014.04.09* */
public class AdActivity extends Activity implements OnClickListener {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initWidgets();}private void initWidgets() {Button btn = (Button) findViewById(R.id.simple_declaring);btn.setOnClickListener(this);btn = (Button) findViewById(R.id.simple_coding);btn.setOnClickListener(this);btn = (Button) findViewById(R.id.simple_inters);btn.setOnClickListener(this);btn = (Button) findViewById(R.id.simple_icon);btn.setOnClickListener(this);}@Overridepublic void onClick(View v) {// TODO Auto-generated method stubswitch (v.getId()) {case R.id.simple_declaring:StartActivity(DeclaringActivity.class);break;case R.id.simple_coding:StartActivity(CodingActivity.class);break;case R.id.simple_inters:StartActivity(InterstitialActivity.class);break;case R.id.simple_icon:StartActivity(IconsActyvity.class);break;default:break;}}private void StartActivity(Class<?> cls) {Intent intent = new Intent(AdActivity.this, cls);startActivity(intent);}
}

相应的xml文件

<RelativeLayout 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"tools:context=".AdActivity" ><TextViewandroid:id="@+id/tv_text"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerHorizontal="true"android:layout_marginTop="10dp"android:text="@string/hello_world" /><Buttonandroid:id="@+id/simple_declaring"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_below="@id/tv_text"android:layout_centerHorizontal="true"android:layout_marginTop="10dp"android:text="@string/simple_declaring" /><Buttonandroid:id="@+id/simple_coding"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_below="@id/simple_declaring"android:layout_centerHorizontal="true"android:layout_marginTop="10dp"android:text="@string/simple_coding" /><Buttonandroid:id="@+id/simple_inters"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_below="@id/simple_coding"android:layout_centerHorizontal="true"android:layout_marginTop="10dp"android:text="@string/simple_inters" /><Buttonandroid:id="@+id/simple_icon"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_below="@id/simple_inters"android:layout_centerHorizontal="true"android:layout_marginTop="10dp"android:text="@string/simple_icon" /></RelativeLayout>

横幅banner广告有两种添加方式

一、代码添加

package com.dzt.baidu;import org.json.JSONObject;import com.baidu.mobads.AdSettings;
import com.baidu.mobads.AdSize;
import com.baidu.mobads.AdView;
import com.baidu.mobads.AdViewListener;import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.RelativeLayout;public class CodingActivity extends Activity {private static final String TAG = "dzt";@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);// setContentView(R.layout.coding);// 人群属性AdSettings.setKey(new String[] { "baidu", "中国" });AdSettings.setCity("上海");AdSettings.setZip("123456");AdSettings.setJob("工程师");AdSettings.setEducation(AdSettings.Education.BACHELOR);AdSettings.setSalary(AdSettings.Salary.F10kT15k);AdSettings.setHob(new String[] { "羽毛球", "足球", "baseball" });RelativeLayout rlMain = new RelativeLayout(this);// 创建广告ViewAdView adView = new AdView(this, AdSize.Banner, "01");// 设置监听器adView.setListener(new AdViewListener() {public void onAdSwitch() {Log.w(TAG, "[CodingActivity]->onAdSwitch");}public void onAdShow(JSONObject info) {Log.w(TAG, "[CodingActivity]->onAdShow " + info.toString());}public void onAdReady(AdView adView) {Log.w(TAG, "[CodingActivity]->onAdReady " + adView);}public void onAdFailed(String reason) {Log.w(TAG, "[CodingActivity]->onAdFailed " + reason);}public void onAdClick(JSONObject info) {Log.w(TAG, "[CodingActivity]->onAdClick " + info.toString());}public void onVideoStart() {Log.w(TAG, "[CodingActivity]->onVideoStart");}public void onVideoFinish() {Log.w(TAG, "[CodingActivity]->onVideoFinish");}@Overridepublic void onVideoClickAd() {Log.w(TAG, "[CodingActivity]->onVideoClickAd");}@Overridepublic void onVideoClickClose() {Log.w(TAG, "[CodingActivity]->onVideoClickClose");}@Overridepublic void onVideoClickReplay() {Log.w(TAG, "[CodingActivity]->onVideoClickReplay");}@Overridepublic void onVideoError() {Log.w(TAG, "[CodingActivity]->onVideoError");}});rlMain.addView(adView);setContentView(rlMain);}
}

二、xml文件添加

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:baiduadsdk="http://schemas.android.com/apk/res/com.dzt.baidu"android:layout_width="match_parent"android:layout_height="match_parent"android:background="#fdfefa"android:orientation="vertical" ><com.baidu.mobads.AdViewandroid:id="@+id/adView"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_alignParentBottom="true"android:layout_alignParentLeft="true"baiduadsdk:adId=""baiduadsdk:adSize="0" /><!-- 注: baiduadsdk:adId可以指定为"",表示默认广告位 --></RelativeLayout>

xmlns:baiduadsdk="http://schemas.android.com/apk/res/com.dzt.baidu" 其中com.dzt.baidu为你app的包名,xmlns:baiduadsdk为自定义控件的属性域

相应的属性文件attrs.xml

<?xml version="1.0" encoding="utf-8"?>
<resources><declare-styleable name="com.baidu.mobads.AdView"><attr name="adSize" format="integer" /><attr name="adId" format="string" /></declare-styleable>
</resources>

相应的Demo: http://download.csdn.net/detail/deng0zhaotai/7168479

Android App添加广告相关推荐

  1. 如何为Android App 添加快捷方式

    文章目录 概述 效果 好处 添加方式 静态添加 动态添加 概述 效果 好处 可以方便用户直接在桌面跳到目标页面 可以让你的App显得更加专业(不过切忌添加过多,1-3个就够了) 添加方式 静态添加 在 ...

  2. Android app添加后台拉起机制

    本demo源码下载地址 App拉起机制源码下载 简介: 做智能售卖设备需要app一直在前台显示,但是有时由于一些不当操作或者系统原因会使app退出,导致设备不能使用.这时就需要拉起机制了. 拉起机制目 ...

  3. Android App游戏去广告

    Android app去除广告 准备:下载Android逆向助手,找到要去除广告的apk 1,反编译apk 2, dex转jar 3, 根据步骤1中反编译出的AndroidManifest.xml找到 ...

  4. 安卓逆向_8 --- Android 调试工具 DDMS 和 Monitor ( 去掉 车来了 app 的广告 )

    From:https://www.e-learn.cn/topic/3527658 Android SDK 中的 ddms 使用详解:https://blog.csdn.net/x83853684/a ...

  5. 如何在自己开发的android应用中添加广告

    今天看了一篇文章讲的是如何在自己开发的android应用中添加广告的,看完了觉得不是很详细,所以在此我将自己是如何添加广告的步骤总结如下,废话不多,进入主题: 现今流行的手机广告平台很多,每一种平台的 ...

  6. android 天气 没有广告,收集几款无广告的纯净天气App

    本文最后更新于2020-12-29 11:16:11,某些文章具有时效性,若有错误或已失效,请在下方留言或联系老夜. 多年前获取天气预报信息还得每天晚上七点半守着央视电视台,等新闻联播结束伴随着< ...

  7. Android中静态方式破解某App实现所有视频app去除广告功能

    转:  Android中静态方式破解某App实现所有视频app去除广告功能 作为一个屌丝程序猿也有追剧的时候,但是当打开视频app的时候,那些超长的广告已经让我这个屌丝无法忍受了,作为一个程序猿看视频 ...

  8. java app退出登录_java – 通过从一个Activity调用一个函数,将退出按钮添加到Android App...

    我在一个Activity中有以下功能 public void AppExit() { Editor edit = preferences.edit(); edit.putString("pr ...

  9. android 将app添加进入文件的打开方式

    今天,简单讲讲android里如何将自己的app添加进入文件的打开方式. 最近因为换租房的原因,状态很不好.今天尝试写点android的代码的内容.其实很简单,我们只需在AndroidManifest ...

最新文章

  1. linux统计文件的个数
  2. 设置maxJsonLength,解决ajax通过POST方式调用.net的webService时,数据过长时服务器返回500错误的问题
  3. JavaScript两个数组是否有相同元素
  4. ML之回归预测:利用九大类机器学习算法对无人驾驶汽车系统参数(2018年的data,18+2)进行回归预测值VS真实值
  5. 【Linux】 命令收集
  6. 数据结构与算法一篇帮助你吃下KMP算法
  7. 晋中计算机专业对口大学,山西晋中计算机专业好就业吗?,计算机专业
  8. Linux系统下apt-get命令详解
  9. linux 6.4 multipath.conf跟其他版本的区别,宏杉与其他厂商存储共用multipath的配置方法...
  10. 代码记录:易语言中精易模块的json文本数据生成
  11. 分辨率,像素,像素密度易懂
  12. 60.(leaflet篇)leaflet虚线
  13. error::make_unique is not a member of ‘std’
  14. #include<set>头文件的用法
  15. 都柏林大学圣三一学院计算机,2021年都柏林大学圣三一学院什么专业好?这些专业你选对了吗?...
  16. Mission Planner初学者安装调试教程指南(APM或PIX飞控)3——连接与烧录
  17. 自己设定Macbook风扇转速,让苹果不再发烫的秘笈
  18. 干多了、干少了、干好了
  19. arduino实战 2——利用arduino做一个人体传感器
  20. 做到这些,再长高10厘米不是梦

热门文章

  1. 什么是SAP 的DI和CI
  2. Python之print函数
  3. 1011 A+B 和 C (15 分)
  4. 使用mpvue开发小程序教程(三)
  5. QVariant与自定义类型互转之奇巧淫技
  6. 关于ping和telnet
  7. 局域网内PC,打开WEB网页慢或者超时
  8. 服务器怎么用u盘传文件进去_本地文件上传到linux服务器的几种方法
  9. 【表达】Logic Thinking
  10. python运行测试文件unittest报错:空套件