zoukankan      html  css  js  c++  java
  • Android应用开发-小巫CSDN博客client之嵌入有米广告

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

    上一篇博客给大家介绍怎样集成友盟社会化组件,本篇继续带来干货,教大家怎样嵌入广告到应用中去。小巫自称专业对接30年,熟悉各大渠道SDK的接入和使用,除非渠道提供的SDK非常坑,不然仅仅须要不到半个小时的时间就能够把SDK接入到应用其中。关于广告,是开发人员比較关注的话题,为什么要嵌入广告呢,自然是为了为自己的辛苦劳作得到些许额外的收益,由于在国内除非做IOS付费软件,不然在Android平台下做收费软件是非常难获得收益的,用户仅仅想用看起来好用而且免费的东西,嵌入广告是唯一能行得通的办法,仅仅要不会太离谱即可。
    广告服务商非常多,比方有米、点金、多盟、广点通等等,开发人员能够选择口碑比較好,能为开发人员带来较好的收益的广告渠道。
    笔者这里选择了有米作为实验点,提供一个參考给大家,废话不多说,先来看看小巫CSDN博客client如今的收益:


    有木有看到收入啊,囧,非常抱歉这点收入,小巫这个client的广告隐藏得非常深,用户也不是非常多,所以就临时就仅仅有这点啦。

    相同的,以下是有米广告的集成过程:
    到有米广告官网注冊帐号,在管理中心创建应用获取到公布ID和应用密钥:

    创建完应用之后,下载SDK而且解压缩,得到例如以下目录和文件:

    demo相应相应的演示样例项目,开发人员能够通过这些演示样例项目,能够高速实现集成SDK。
    doc相应开发文档
    libs相应集成时须要的库
    说实在集成SDK并没有什么技术含量,仅仅要你依照渠道提供的开发文档,自己试一遍,基本上就没有什么疑惑了。

    有米给我们提供了以下几种广告类型:
    • 广告条,也称横幅
    • 插屏广告
    • 积分墙广告

    然而横幅广告有两种形式,一种是以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_WIFI_STATE" />
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
        <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
        <uses-permission android:name="android.permission.GET_TASKS" />
        <!-- 以下为可选权限 -->
        <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />


    有米必要的配置:
     <!-- 有米广告必须加入的组件 -->
            <!-- 加入必须的组件 -->
            <activity
                android:name="net.youmi.android.AdBrowser"
                android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
                android:theme="@android:style/Theme.Light.NoTitleBar" >
            </activity>
    
            <service
                android:name="net.youmi.android.AdService"
                android:exported="false" >
            </service>
    
            <receiver android:name="net.youmi.android.AdReceiver" >
                <intent-filter>
                    <action android:name="android.intent.action.PACKAGE_ADDED" />
    
                    <data android:scheme="package" />
                </intent-filter>
            </receiver>
    
            <!-- 有米渠道号(可选配置) 渠道号不能带空格,类型为整数 -->
            <meta-data
                android:name="YOUMI_CHANNEL"
                android:value="0" >
            </meta-data>


    有米广告初始化:
    // 初始化应用的公布 ID 和密钥,以及设置測试模式
            AdManager.getInstance(this).init("您的应用公布ID", "您的应用密钥", false);

    小巫的博客client至集成了广告条和插屏广告,效果例如以下:



    代码中的实现:
    /**
    	 * 初始化广告
    	 * 
    	 * @param view
    	 */
    	public void initAd(View view) {
    		// 初始化接口,应用启动的时候调用
    		// 參数:appId, appSecret, 调试模式
    		AdManager.getInstance(getActivity()).init("8df70b90ebf86823",
    				"b7659d08439c052b", false);
    		// // 广告条接口调用(适用于应用)
    		// // 将广告条adView加入到须要展示的layout控件中
    		// LinearLayout adLayout = (LinearLayout)
    		// view.findViewById(R.id.adLayout);
    		// AdView adView = new AdView(getActivity(), AdSize.FIT_SCREEN);
    		// adLayout.addView(adView);
    
    		// 普通布局,适用于应用
    		// 获取要嵌入迷你广告条的布局
    		RelativeLayout adLayout = (RelativeLayout) view
    				.findViewById(R.id.adLayout);
    		// demo 1 迷你Banner : 宽满屏,高32dp
    		DiyBanner banner = new DiyBanner(getActivity(),
    				DiyAdSize.SIZE_MATCH_SCREENx32);// 传入高度为32dp的AdSize来定义迷你Banner
    		// demo 2 迷你Banner : 宽320dp,高32dp
    		// DiyBanner banner = new DiyBanner(this,
    		// DiyAdSize.SIZE_320x32);//传入高度为32dp的AdSize来定义迷你Banner
    		// 将积分Banner加入到布局中
    		adLayout.addView(banner);
    
    		// 监听广告条接口
    		// adView.setAdListener(new AdViewListener() {
    		//
    		// @Override
    		// public void onSwitchedAd(AdView arg0) {
    		// Log.i("YoumiAdDemo", "广告条切换");
    		// }
    		//
    		// @Override
    		// public void onReceivedAd(AdView arg0) {
    		// Log.i("YoumiAdDemo", "请求广告成功");
    		// }
    		//
    		// @Override
    		// public void onFailedToReceivedAd(AdView arg0) {
    		// Log.i("YoumiAdDemo", "请求广告失败");
    		// }
    		// });
    
    		// 插播接口调用
    		// 开发人员能够到开发人员后台设置展示频率,须要到开发人员后台设置页面(具体信息->业务信息->无积分广告业务->高级设置)
    		// 自4.03版本号添加云控制是否开启防误点功能,须要到开发人员后台设置页面(具体信息->业务信息->无积分广告业务->高级设置)
    
    		// 载入插播资源
    		SpotManager.getInstance(getActivity()).loadSpotAds();
    		// 设置展示超时时间,载入超时则不展示广告,默认0,代表不设置超时时间
    		SpotManager.getInstance(getActivity()).setSpotTimeout(5000);// 设置5秒
    		SpotManager.getInstance(getActivity()).setShowInterval(20);// 设置20秒的显示时间间隔
    		// 如须要使用自己主动关闭插屏功能,请取消凝视以下方法
    		SpotManager.getInstance(getActivity()).setAutoCloseSpot(true);// 设置自己主动关闭插屏开关
    		SpotManager.getInstance(getActivity()).setCloseTime(6000); // 设置关闭插屏时间
    
    	}



    展示插屏广告的代码:
    // 展示插播广告,能够不调用loadSpot独立使用
    			SpotManager.getInstance(getActivity()).showSpotAds(getActivity(),
    					new SpotDialogListener() {
    						@Override
    						public void onShowSuccess() {
    							Log.i("YoumiAdDemo", "展示成功");
    						}
    
    						@Override
    						public void onShowFailed() {
    							Log.i("YoumiAdDemo", "展示失败");
    						}
    
    					});




    声明周期中的插屏广告的处理:
    	@Override
    	public void onStop() {
    		// 假设不调用此方法,则按home键的时候会出现图标无法显示的情况。
    		SpotManager.getInstance(getActivity()).disMiss(false);
    		super.onStop();
    	}
    
    	@Override
    	public void onDestroy() {
    		// 取消注冊监听
    		SpotManager.getInstance(getActivity()).unregisterSceenReceiver();
    		super.onDestroy();
    	}

    以上就是关于嵌入有米广告的过程,怎样长正式产生收益呢,须要应用审核通过呈执行状态,就開始计费了。仅仅要你的应用做得足够吸引人,我想用户也不介意多点几下作为汇报,看看Flappy Bird就是一个非常好的样例了。


    下一篇博文预告是,怎样用ListView呈现文章具体内容,谢谢朋友们的耐心阅读,你的支持是小巫的无限动力。






  • 相关阅读:
    打造绿色JRE
    AOSP(Android Open Source Project) Android开源项目
    SyncML协议简述
    诺基亚 索爱 低端手机及智能手机 与 QQ邮箱或MyTT 通讯录同步 介绍
    Android 的源代码结构
    recovery v1跟recovery v2的区别
    Android系统架构
    haoGOD6.6 修改自XDA的thedroidsector的kingkernel #8 04/22
    下一代Android或官方支持“App2sd”
    Android 中的微型云
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4075615.html
Copyright © 2011-2022 走看看