cocos2d-x开发之如何在Android应用中加入广告(转载)

简介: 如何在Android应用中加入广告目前我自己的一款小程序中正进行到加入广告阶段,BAIDU了一下,找到如下好文章,非常有必要共享一下,故转载于此。

如何在Android应用中加入广告


目前我自己的一款小程序中正进行到加入广告阶段,BAIDU了一下,找到如下好文章,非常有必要共享一下,故转载于此。


本文将介绍Android开发中如何加入广告的实际方法,相信你看完之后一定不再会为了加不进去广告而头疼!!!


很多人问到如何在应用中加入广告,今天刚好有一个新的小应用要加广告,一起算写一篇总结。

先介绍一下我准备好的东西:

应用:

《快拍分享》,一个简单的拍照程序,并可以将应用拍好的照片发到自己的微博上的一个应用,支持新浪微博、人人网和腾讯微博。下面是该应用的主要的界面

结合该应用的实际,我打算在这里加入3种模式的广告,即我前面文章里说到的广告条、广告墙和推送广告。因为sns分享是由友盟SDK来集成的,所以最后一个界面加不了广告。

我打算在第一个图拍照按钮下边的设置按钮加入弹出菜单(更多应用和关于2个选项),在更多应用菜单中展示广告墙,在第二个图界面的上方展示一个广告 条,推送广告因为不占用广告界面,所以不用考虑放在哪里。(当然最后发布的时候我会根据不同的发布市场来选择其中的1-2种广告形式,这里只为演示用,太 多的广告会让用户反感)

广告平台:

广告墙和推送广告我使用万普,广告条我使用芒果的聚合,暂时打算用多盟有米这2个平台。(之所以用多个平台是可以根据情况做实时的在线比例分配,这样可以有更多的选择余地,当然也不是越多越好,加的平台越多应用就越臃肿,你的收入当然就分散了,而每个平台都至少要求100元才能提款的。)

首先我们来添加广告墙和推送广告。

1.登录万普平台,进入开发者页面,点击添加应用,输入应用名称,点保存,之后打开应用详情页面,记下WAPS_ID的值备第2步骤使用。后面的信息也尽量完善起来,

文件程序等最后完成广告集成并测试后再上传即可。

2.在我的项目的AndroidManifest.xml文件下添加广告需要的权限(具体要哪些权限参加广告SDK的帮助和实际情况定):

 
  1. <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 
  2.  
  3.  <uses-permission android:name="android.permission.INTERNET" /> 
  4.  
  5.  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
  6.  
  7.  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
  8.  
  9.  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
  10.  
  11.  <uses-permission android:name="android.permission.GET_TASKS" /> 

在Application项加入:

 
  1. <meta-data android:name="WAPS_ID" android:value="2f9dd55307ede480a80ba0783be835d" /> 
  2.  
  3. <meta-data android:name="WAPS_PID" android:value="WAPS" /> 
  4.  
  5. <activity android:name="com.waps.OffersWebView" 
  6.  
  7.  android:configChanges="keyboardHidden|orientation" /> 

第一行android:value对应的字符串要替换成步骤1从万普添加应用后得到的ID,千万不要填错哦。

第二行是万普进行渠道设置选项,最好按其开发者手册最后对应的表格来填写

第三行是展示广告墙所使用的activity,不添加会导致展示不了广告墙

3.Eclipse->Project->Properties->Java Build Path->Libraries->Add External JARs->选择我们前面下载解压出来的AppOffer_1.5.3.jar,来完成添加万普SDK的Jar包。

在对应更多应用菜单的处理事件里加入AppConnect.getInstance(this).showOffers(this);来打开广告墙。

运行应用,点击更多应用,顺利打开推荐列表如图:

4.打开项目的入口Activity,在onCreate事件里写入

 
  1. AppConnect.getInstance(this); 
  2.  
  3. AppConnect.getInstance(this).getPushAd();                                      //自动推送使用,如果你在万普web端配置自动推送则可以注释次行 

在退出应用的地方(我是在入口Activity的onDestroy事件)写入

 
  1. AppConnect.getInstance(this).finalize(); 

运行推送效果如下图:

点击通知(推送广告) 打开如图 

这样我们就把万普的广告墙和推送模式的广告集成好了,将应用使用正式签名(方法网上搜很多,这里不介绍)编译后将apk上传到万普审核,同时就可以发布到市场渠道去让用户下载了。(关于市场发布下篇里再介绍)

下面介绍使用芒果聚合来添加广告条:

1.登录芒果平台,添加新应用,打*的必须填写,点下一步来进入广告平台选择页面。

2.到你要添加的广告平台添加新应用来获取对应的ID,并把这些ID设置到1步骤芒果平台对应的ID设置中(点对应平台后面的“未设置”)。

3.点击芒果页面上对应平台后面的按钮来打开对应平台的状态,并点击开启测试,以便接下来测试是否能正常获取测试广告。同时将2个平台的比例均配成50%。

4.点击下一步,应用就添加完成了。会得到一个芒果ID备用,下载芒果广告的SDK。(因为该SDK里已经包含 了其所支持的所有平台的jar包,所以不需要单独再去下载其他广告平台的包了,而且聚合平台不一定及时更新所有平台的包,可能会对广告平台的更新没有及时 更改其SDK,所以也必须从这里下)

5.解压芒果上下载下来的SDK,并将其libs下对应平台的包加入工程(我这里加入AdsMOGO-SDK-Android.jar[芒果]、youmi-android.jar[有米]、domob_android_sdk.jar[多盟])。

6.修改AndroidManifest.xml文件,添加必要的权限,以及到芒果SDK的开发帮助文档里找到对应平台要求添加的activity。我这里加入:

 
  1. <!-- 多盟integration --> 
  2.  
  3.  <activity android:name="cn.domob.android.ads.DomobActivity" 
  4.  
  5.   android:theme="@android:style/Theme.Translucent" /> 
  6.  
  7.  <!-- 有米integration --> 
  8.  
  9.  <activity android:name="net.youmi.android.AdActivity" 
  10.  
  11.   android:configChanges="keyboard|keyboardHidden|orientation" /> 
  12.  
  13.  <activity android:name="net.youmi.android.spotad.AdActivity" 
  14.  
  15.   android:configChanges="keyboard|keyboardHidden|orientation" /> 

7.加入芒果Key的meta-data ,将值替换你在芒果平台最后得到的KEY值,我这边如下:

 
  1. <meta-data android:value="25fff80a3966465e888e0db9735fef11" android:name="ADMOGO_KEY" /> 

8.在要展示的地方添加代码如下:

 
  1. AdMogoLayout adview = new AdMogoLayout(this,"25fff80a3966465e888e0db9735fef11"); //ID跟xml配置的相同 
  2.  
  3.   FrameLayout.LayoutParams params = new FrameLayout.LayoutParams( 
  4.  
  5.   FrameLayout.LayoutParams.WRAP_CONTENT, 
  6.  
  7.   FrameLayout.LayoutParams.WRAP_CONTENT); 
  8.  
  9.   // 设置广告出现的位置(悬浮于顶部) 
  10.  
  11.   params.topMargin = 0
  12.  
  13.   params.gravity = Gravity.TOP|Gravity.CENTER_HORIZONTAL; 
  14.  
  15.   addContentView(adview, params); 

这段代码作用是新建一个芒果广告的View,并将它加到activity的最顶端。

9.OK,代码都添加完成,运行测试,广告正常展示如下:

自己点击测试下,是否能正常打开广告页面。到芒果web页面调整广告平台的分配比例,分别测试所有你的平台是否均成功展示。如果有失败,请核对芒果上配置的ID或密码是否相同(包括前后不能有空格),任然有问题的话联系平台技术人员帮你协助解决。

10.最后一步,将芒果web页面上的比例平均分配,关闭测试模式。然后将应用签名打包,上传到各个广告平台审核。(平均分配是为了审核人员保证有机会能看到你的应用上有展示他们平台的广告),审核均通过后就可以发布到各个市场上来开始收益旅程了。

相关文章
|
18天前
|
开发框架 前端开发 Android开发
Flutter 与原生模块(Android 和 iOS)之间的通信机制,包括方法调用、事件传递等,分析了通信的必要性、主要方式、数据传递、性能优化及错误处理,并通过实际案例展示了其应用效果,展望了未来的发展趋势
本文深入探讨了 Flutter 与原生模块(Android 和 iOS)之间的通信机制,包括方法调用、事件传递等,分析了通信的必要性、主要方式、数据传递、性能优化及错误处理,并通过实际案例展示了其应用效果,展望了未来的发展趋势。这对于实现高效的跨平台移动应用开发具有重要指导意义。
81 4
|
19天前
|
开发框架 前端开发 Android开发
安卓与iOS开发中的跨平台策略
在移动应用开发的战场上,安卓和iOS两大阵营各据一方。随着技术的演进,跨平台开发框架成为开发者的新宠,旨在实现一次编码、多平台部署的梦想。本文将探讨跨平台开发的优势与挑战,并分享实用的开发技巧,帮助开发者在安卓和iOS的世界中游刃有余。
|
24天前
|
搜索推荐 Android开发 开发者
探索安卓开发中的自定义视图:打造个性化UI组件
【10月更文挑战第39天】在安卓开发的世界中,自定义视图是实现独特界面设计的关键。本文将引导你理解自定义视图的概念、创建流程,以及如何通过它们增强应用的用户体验。我们将从基础出发,逐步深入,最终让你能够自信地设计和实现专属的UI组件。
|
6天前
|
搜索推荐 前端开发 API
探索安卓开发中的自定义视图:打造个性化用户界面
在安卓应用开发的广阔天地中,自定义视图是一块神奇的画布,让开发者能够突破标准控件的限制,绘制出独一无二的用户界面。本文将带你走进自定义视图的世界,从基础概念到实战技巧,逐步揭示如何在安卓平台上创建和运用自定义视图来提升用户体验。无论你是初学者还是有一定经验的开发者,这篇文章都将为你打开新的视野,让你的应用在众多同质化产品中脱颖而出。
33 19
|
10天前
|
Java 调度 Android开发
安卓与iOS开发中的线程管理差异解析
在移动应用开发的广阔天地中,安卓和iOS两大平台各自拥有独特的魅力。如同东西方文化的差异,它们在处理多线程任务时也展现出不同的哲学。本文将带你穿梭于这两个平台之间,比较它们在线程管理上的核心理念、实现方式及性能考量,助你成为跨平台的编程高手。
|
7天前
|
Java Android开发 开发者
探索安卓开发:构建你的第一个“Hello World”应用
在安卓开发的浩瀚海洋中,每个新手都渴望扬帆起航。本文将作为你的指南针,引领你通过创建一个简单的“Hello World”应用,迈出安卓开发的第一步。我们将一起搭建开发环境、了解基本概念,并编写第一行代码。就像印度圣雄甘地所说:“你必须成为你希望在世界上看到的改变。”让我们一起开始这段旅程,成为我们想要见到的开发者吧!
14 0
|
7月前
|
移动开发 安全 Android开发
构建高效Android应用:Kotlin协程的实践与优化策略
【5月更文挑战第30天】 在移动开发领域,性能优化始终是关键议题之一。特别是对于Android开发者来说,如何在保证应用流畅性的同时,提升代码的执行效率,已成为不断探索的主题。近年来,Kotlin语言凭借其简洁、安全和实用的特性,在Android开发中得到了广泛的应用。其中,Kotlin协程作为一种新的并发处理机制,为编写异步、非阻塞性的代码提供了强大工具。本文将深入探讨Kotlin协程在Android开发中的应用实践,以及如何通过协程优化应用性能,帮助开发者构建更高效的Android应用。
|
7月前
|
API 调度 Android开发
打造高效Android应用:探究Kotlin协程的优势与实践
【5月更文挑战第27天】在移动开发领域,性能优化和响应速度是衡量应用质量的关键因素。随着Kotlin语言的普及,协程作为其核心特性之一,为Android开发者提供了一种全新的并发处理方式。本文深入探讨了Kotlin协程在Android应用开发中的优势,并通过实例演示如何在实际项目中有效利用协程提升应用性能和用户体验。
|
7月前
|
移动开发 Android开发 开发者
构建高效Android应用:探究Kotlin协程的优势与实践
【5月更文挑战第21天】在移动开发领域,性能优化和流畅的用户体验是至关重要的。随着Kotlin语言在Android平台的广泛采纳,其并发处理的强大工具—协程(Coroutines),已成为提升应用响应性和效率的关键因素。本文将深入分析Kotlin协程的核心原理,探讨其在Android开发中的优势,并通过实例演示如何有效利用协程来优化应用性能,打造更加流畅的用户体验。
70 4
|
7月前
|
物联网 区块链 Android开发
构建高效Android应用:Kotlin与Jetpack的实践之路未来技术的融合潮流:区块链、物联网与虚拟现实的交汇点
【5月更文挑战第30天】 在移动开发领域,效率和性能始终是开发者追求的核心。随着技术的不断进步,Kotlin语言以其简洁性和现代化特性成为Android开发的新宠。与此同时,Jetpack组件为应用开发提供了一套经过实践检验的库、工具和指南,旨在简化复杂任务并帮助提高应用质量。本文将深入探索如何通过Kotlin结合Jetpack组件来构建一个既高效又稳定的Android应用,并分享在此过程中的最佳实践和常见陷阱。