经过了一番折腾,忙忙碌碌了一下午,终于搞明白了Android软件界面嵌入广告的方法,以下我以嵌入有米广告为例小结一下:
我的新浪微博(wind瑞):http://weibo.com/tianrui1990
步骤一,下载有米广告SDK,将 youmi-android.jar 导入想要嵌入广告的的工程中。
1. 右键您的工程根目录,选择“Properties” 2. 在左面板中选择“Java Build Path” 3. 然后选择“Libraries”标签 4. 点击“Add External JARs„” 5. 选择 youmi-android.jar 的目录路径. 6. 点击“OK”即导入成功
步骤二,在AndroidManifest.xml文件中配置用户权限。
请务必配置以下权限,否则将有可能获取不到广告。 1. android.permission.INTERNET,连接网络权限 INTERNET ,用于请求广告 2. android.permission.READ_PHONE_STATE,用于精确统计用户手机的系统信息 3. android.ACCESS_NETWORK_STATE,用于精确识别网络接入点等信息 4. android.permission.ACCESS_COARSE_LOCATION,有助于精准投放地域广告以及帮助统计使用应用程序的用户的地区分布情况 5. android.permission.WRITE_EXTERNAL_STORAGE,有助于实现图片资源的缓存,节省流量,并可获得更好的用户体验
请将下面权限配置代码复制到 AndroidManifest.xml 文件中:
<!-- 必须申明的权限 --> <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"/> <!-- 以下为可选的权限 --> <!-- 使用GPS获取用户精确定位信息 --> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <!-- 使用WIFI获取用户精确定位信息 --> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
步骤三,在AndroidManifest.xml中添加AdActivity。
AdActivity是广告展示的载体,请在AndroidManifest.xml中添加AdActivity: <activity android:name="net.youmi.android.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation"/> <meta-data android:name="YOUMI_CHANNEL" android:value="0" />
步骤四,初始化账号信息。
在主Activity的onCreate中调用AdManager.init() 初始化 App ID 、App Secret、请求广告间隔和测试模式等参数(请务必在任意AdView初始化前调用一次)。 //第一个参数为您的应用发布Id //第二个参数为您的应用密码 //第三个参数是请求广告的间隔,有效的设置值为30至200,单位为秒 //第四个参数是设置测试模式,设置为true时,可以获取测试广告,正式发布请设置此参数为false AdManager.init(Context context,String appid, String appsec, int intervalSecond, boolean isTestMode);
!注意:3.04版本开始AdManager.init方法的参数改为五个,加上了Context参数!调试阶段将测试模式设置为true,请将测试模式设置为false后上传至网站等待审核。 !未上传应用安装包、未通过审核的应用、模拟器运行,都只能获得测试广告,审核通过后,模拟器上依旧是测试广告,真机才会获取到正常的广告。
代码如下:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 应用Id 应用密码 广告请求间隔(s) 测试模式
AdManager.init(this,"537ef88653a2993c", "b9e10bcfe994a9fb", 30, true);
setContentView(R.layout.main);
}
步骤五,使用xml布局嵌入广告
1.在 res/values 文件夹中添加 attrs.xml。如果你没有添加这个文件,那你将不能在 layout 中设置 AdView 的属性。attrs.xml 文件的内容如下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="net.youmi.android.AdView">
<!--广告背景颜色[只对文字广告有效](取值范围为#000000----#ffffff) -->
<attr name="backgroundColor" format="color" />
<!--广告文本颜色[只对文字广告有效](取值范围为#000000----#ffffff) -->
<attr name="textColor" format="color" />
<!--广告背景透明度[只对文字广告有效],默认为 255,设置范围0-255 -->
<attr name="backgroundTransparent" format="integer"/>
</declare-styleable>
</resources>
2.在布局main.xml中嵌入有米广告视图:
以下为一个实例:
<?xml version="1.0" encoding="utf-8"?>
<!-- 需要设置命名空间 :umadsdk -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:umadsdk="http://schemas.android.com/apk/res/com.youmi"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<net.youmi.android.AdView
android:id="@+id/adView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
umadsdk:textColor="#ffffff"
umadsdk:backgroundColor="#4076AA"
umadsdk:backgroundTransparent="155"/>
</LinearLayout>
注意: xmlns:umadsdk=”http://schemas.android.com/apk/res/您的应用包名” 这句一定要加上,不然编辑器会提示错误。
3.XML布局代码部分
import net.youmi.android.AdManager;
import android.app.Activity;
import android.os.Bundle;
public class TestAdActivity extends Activity{
/** Called when the activity is first created. */
// 应用Id 应用密码 广告请求间隔(s) 测试模式
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 应用Id 应用密码 广告请求间隔(s) 测试模式
AdManager.init(this,"537ef88653a2993c", "b9e10bcfe994a9fb", 30, true);
setContentView(R.layout.main);
}
}
我的新浪微博(wind瑞):http://weibo.com/tianrui1990
原作者:wind瑞
源地址:http://blog.csdn.net/tianruirui/article/details/7218576
转载请标明原作者和转载地址,谢谢!!
最后运行结果如下图所示: