经过了一番折腾,忙忙碌碌了一下午,终于搞明白了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

转载请标明原作者和转载地址,谢谢!!

最后运行结果如下图所示:

Android牟利之道(一)--界面嵌入有米广告的更多相关文章

  1. Android应用开发-小巫CSDN博客client之嵌入有米广告

    Android应用开发-小巫CSDN博客client之嵌入有米广告 上一篇博客给大家介绍怎样集成友盟社会化组件,本篇继续带来干货,教大家怎样嵌入广告到应用中去.小巫自称专业对接30年,熟悉各大渠道SD ...

  2. 实现了在android实现左右滑动切换界面的效果

    这是实现了在android实现左右滑动切换界面的效果,该效果的源码下载,请到源码天堂下载吧,喜欢的朋友可以研究一下. 布局文件 <?xml version="1.0" enc ...

  3. Android基础之——startActivityForResult启动界面并返回数据,上传头像

    在android应用的开发过程中,常常会出现启动一个界面后填写部分内容后带着数据返回启动前的界面,最典型的应用就是登录过程.在非常多应用程序的模块中,都有"我的"这个模块,在未登录 ...

  4. 使用Android studio作按键切换界面

    一.新建工程 二.新建一个按键             android:layout_width="wrap_content"         android:layout_hei ...

  5. Android Service 通知Activity更新界面的方法研究

    Android Service 通知Activity更新界面的方法研究   Android的最重要的组件式service和activity,那么在使用的过程中,我们最常遇到的问题是他们之间的通信问题. ...

  6. [Android] Android开发优化之——对界面UI的优化(2)

    在Android应用开发过程中,屏幕上控件的布局代码和程序的逻辑代码通常是分开的.界面的布局代码是放在一个独立的xml文件中的,这个文件里面是树型组织的,控制着页面的布局.通常,在这个页面中会用到很多 ...

  7. [Android] Android开发优化之——对界面UI的优化(1)

    在Android应用开发过程中,屏幕上控件的布局代码和程序的逻辑代码通常是分开的.界面的布局代码是放在一个独立的xml文件中的,这个文件里面是树型组织的,控制着页面的布局.通常,在这个页面中会用到很多 ...

  8. 【Android】接入有米广告SDK

    测试:接入有米广告SDK(测试广告). 步骤: 1.注册并登录有米广告. 2.下载相应的SDK,这里我选了第一个[Android广告SDK ],如下图: 3.下好后,根据doc文档步骤进行操作,包括: ...

  9. Android自定义控件2--优酷菜单界面初始化

    本文开始将逐步去实现下面优酷菜单的效果: 本文地址:http://www.cnblogs.com/wuyudong/p/5912538.html,转载请注明源地址. 本文首先来实现优酷菜单界面初始化工 ...

随机推荐

  1. 安全-分析深圳电信的新型HTTP劫持方式

    ISP的劫持手段真是花样百出,从以前的DNS(污染)劫持到后来的共享检测,无不通过劫持正常的请求来达到他们的目的. 之前分析过通过劫持HTTP会话,插入iframe来检测用户后端有无共享行为,但后来移 ...

  2. Linux体系结构(二): Linux系统层次

    前一节内容大概介绍了一下Linux的历史由来,各大Linux发行厂商都是基于GNU项目下的所有开源软件,来构建各自己的Linux发行版本,一个完整的Linux发行版本大概可以分为以下四个层次结构:   ...

  3. 怎么给OCR文字识别软件重编文档页面号码

    ABBYY FineReader Pro for Mac OCR文字识别软件处理文档时,在FineReader文档中,页面的加载顺序即是页面的导入顺序,完成导入之后,文档的所有页面均会被编号,各编号会 ...

  4. 发现PDF Transformer+转换的图像字体小了如何处理

    ABBYY PDF Transformer+转换的原始图像字体太小怎么办?为了获得最佳文本识别效果,请用较高的分辨率扫描用极小字体打印的文档,否则很容易在转换识别时出错.下面小编就给大家讲讲该怎么解决 ...

  5. 如何处理ABBYY中出现错误代码142和55的问题

    在使用ABBYY FineReader 12OCR文字识别软件创建PDF文件时,有时会出现以下错误提示:内部程序错误..\Src\SpecialFontFactory.cpp,142和内部程序错误.. ...

  6. unity, animtion倒放

    AnimationState.speed Description The playback speed of the animation. 1 is normal playback speed. A ...

  7. replace() replace_copy()

    int a[] = {1,2,3,3,4}; vector<int> v(a, a+5); vector<int> v2; //replace(v.begin(), v.end ...

  8. C语言数组初始化全部为0

    ] = {}; 编译器会把第一个初始化值(这里是0)赋给数组的第一个元素,然后用默认值0赋给其余的元素.如果没有给出初始值,编译器不会去做初始化工作.这样简洁的方式让代码更加高效. 另一种,就是mem ...

  9. ORA-27086: unable to lock file - already in use

    问题现象: SQL> startup ORACLE instance started. Total System Global Area 1854021632 bytes Fixed Size  ...

  10. ASIHttpRequest addRequestHeader的处理

    我现在用到了ASIHttpRequest来读取数据,这时候我发现里面的头在很多时候都是一样的.如用户的令牌,设备类型,ios版本,软件版本等 [self.request addRequestHeade ...