当我第一次接触Unity手机游戏广告接入时,我感觉前方道路大雾弥漫,时常令我搞不清方向。

我想把这段时间学到的在Unity手机游戏中进行广告接入的经历记录下来。由于我也还在广告接入过程中摸索,如有说得不对的地方非常欢迎指正。

国内有多家广告平台,如穿山甲、优量汇、百度、快手等。这些广告平台都可以单独接入,比如,我想在我的游戏中接入穿山甲平台的广告,那在我这个游戏中就只会弹出穿山甲的广告。

有一种叫作聚合广告的平台,如TopOn、Adtiming等,它们各自可以将多家单独的广告平台(如穿山甲、优量汇、百度、快手等)整合到一起作为统一的广告输出。比如,我可以在TopOn这个聚合广告平台上加入穿山甲、优量汇、百度、快手等这些广告平台,这样我就可以在我的游戏中根据TopOn的一种广告筛选机制,在不同的时间,弹出不同广告平台的广告。

我想讲的是Unity手机游戏广告接入的大致思路,并不是某一种广告的接入流程和细节,不会有代码的部分。因为每家广告平台的接入流程和细节很可能会有不同,所以不太可能照本宣科似的进行广告接入。

接下来说说Unity手机游戏广告接入流程的大致思路:

在接入广告以前,要先了解自己要接入的是哪个平台的广告,是单独的广告平台,还是聚合广告平台?如果是单独的广告平台,如穿山甲,只需要在穿山甲广告平台的官网上查询帮助文档,创建应用id、设置代码位、通过帮助文档中的接入教程接入广告。如果是聚合广告平台就需要在所有接入到聚合广告平台的单独的广告平台上都创建应用id、设置代码位,然后把各自单独广告平台的应用id、代码位设置到聚合广告平台上对应的应用id、代码位上,这样的话,接入广告要用到的应用id和代码位就只需要使用该聚合广告平台上的应用id和代码位,帮助文档的话,主要还是看聚合广告平台的,其它单独的广告平台的帮助文档可以在需要特殊需求的时候再看。

需要注意的是,不论是单独的广告平台,还是聚合广告平台,它们接入广告的方式大致相同。所以这两种接入方式的思路可以一起讲,下面会用“广告平台”来统称这两种广告。

在接入广告以前,可以在该广告平台的官网先下载广告接入的demo作为参考,可以先用demo在苹果手机或者安卓手机上运行查看实际效果,有个大致的概念。sdk的选择一般会有3种,Unity Sdk、Android Sdk和iOS Sdk,而有些广告平台只提供了Android Sdk和iOS Sdk。如果广告平台用的是Unity Sdk,那基本上根据广告平台官网上的操作设置就能导出Android的apk包或Android工程;iOS则导出xcode工程。用Unity Sdk的好处就是接入广告比较简单,导入Unity Sdk到Unity中以后,会有Android和iOS的相关文件和配置,只需要将广告的调用接口写好并在要弹出广告的地方调用就行。至于要怎么写调用的接口,这里不作赘述,广告平台的官网上都会详细的教程。Android Sdk和iOS Sdk的接入需要分别导出Android工程和xcode工程,并在各自的工程中写入原生代码,然后在Unity中使用C#对各自的原生代码进行调用,如:C#调用Java(Android)、C#调用oc(iOS)。

一般接入的广告类型有5种,分别是:开屏广告、横幅广告、原生广告(或者叫信息流广告,或者叫模板广告)、插屏广告(或者叫全屏广告)、激励视频广告。这5种之外的广告类型这里不会提及,不过如果能弄懂这5种广告类型,其它的广告类型应该也不是难事。

不论游戏里接入的是哪几种广告,在要加载这些广告以前,都必须先对广告sdk进行初始化,只有sdk初始化了以后才能对不同的广告类型进行加载、显示和关闭。

想知道是否有加载好的广告可供弹出,只要在广告加载成功的回调方法中打印日志就行。

开屏广告:

这是在游戏启动以前弹出的广告,一般开屏广告只能通过Unity导出成Android工程或xcode工程进行接入,因为开屏广告是在游戏启动之前弹出,所以在Android工程或xcode工程中进行开屏广告的初始化速度会比较快。还有一种开屏广告是可以直接在广告平台上设置开启以后就会有开屏广告,不需要写入开屏广告的代码,如,小米的系统开屏,设置开启就行,在游戏审核通过后才会看到开屏广告效果。开屏广告一般会占满整个屏幕,不会去设置尺寸。

开屏广告一般只需要有调用初始化的方法就能弹出。

横幅广告:

这种广告是以长方形横条的形式出现的,多出现在屏幕的底部或顶部,出现在底部会更多一些。横幅广告出现的位置要注意不要遮挡到游戏的主要内容,或者与玩家交互的操作 ,如,UI按钮、滑动操作区域等。要设置横幅广告的尺寸,可以去广告平台的官网上查看帮助文档进行设置。有些广告平台的横幅广告尺寸是固定大小,无法设置尺寸。

横幅广告需要提供加载、显示和关闭的方法。

原生广告:

又叫信息流广告,或者模板广告。原生广告是屏幕上的一块指定大小的广告区域,大小可以根据广告平台的官网上的帮助文档进行设置。它的位置可以根据实际情况在代码中进行设置,可以根据屏幕的宽高比例,对不同的手机屏幕尺寸进行适配。原生广告也需要注意不要遮挡到游戏的主要内容,或者与玩家交互的操作 ,如,UI按钮、滑动操作区域等。

原生广告需要提供加载、显示和关闭的方法。

插屏广告:

又叫全屏广告。插屏广告弹出时会占满整个屏幕,不需要设置屏幕尺寸。插屏广告一般只是弹出播放,不会像激励视频广告那样在广告视频播放完成时要给与奖励,在弹出插屏广告时要禁用游戏中的音乐,在插屏广告的关闭回调方法中要将游戏中的音乐启用,否则游戏里的声音和广告的声音会重叠到一起。

插屏广告需要提供加载和显示的方法,不需要提供关闭的方法,它有自己的关闭按钮。

激励视频广告:

该广告会占满整个屏幕,不需要设置屏幕尺寸。激励视频广告要在广告视频播放完成时通过回调方法给与奖励。还需要在弹出激励视频广告时禁用游戏中的音乐,在激励视频广告的关闭回调方法中要将游戏中的音乐启用,否则游戏里的声音和广告的声音会重叠到一起。

激励视频广告需要提供加载和显示的方法,不需要提供关闭的方法,它有自己的关闭按钮。

所有广告,特别是插屏广告和激励视频广告,有些广告平台的回调方法运行在Unity的子线程,如果碰到这种情况,并且用的是Unity Sdk,可以网上搜索一个叫Loom的插件,它就只有一个类,用这个插件可以让回调方法中的代码运行在Unity的主线程。如果用的是Android Sdk或者iOS Sdk也有回调方法没有运行在主线程的情况,要根据各自手机平台寻找让回调方法里的代码运行在主线程的方法。

打包:

不论是打Android包,还是iOS包,包名都必须与广告平台上填写的包名一致。有些包名有特殊的格式要求,如,小米广告的包名要以.mi结尾。

如果从一个unity项目中将mainTemplate文件迁移至另一个unity项目中,需要检查mainTemplate文件,这个文件里面有可能会自动添加一些代码导致导出的Android工程无法正常运行。

目前能写的就这么多,后续如果有发现漏掉的会及时更新。

Unity手机游戏广告接入的大致思路(Android和iOS)相关推荐

  1. Unity手机游戏发热发烫优化指南与技巧

    Unity手机游戏发热发烫优化指南与技巧 很多小伙伴做完游戏后,发布到Android,运行,游戏很流畅,也不卡顿,但是跑一会游戏,手机就发热,发烫.客户提出需求,能否让它不发烫? 本文从以下3方面来分 ...

  2. Unity手机游戏开发:从搭建到发布上线全流程实战

    前言: 技术书籍是学习技术知识的重要资源之一.读技术书可以帮助我们学习新技能和知识,技术书籍提供了可靠的.全面的信息,帮助我们快速学习新技能和知识.同时技术书籍有助于保持你的竞争力,因为它们提供了最新 ...

  3. 手机游戏无障碍设计——猜地鼠之Android篇

    作者简介:何金源,腾讯Android手Q开发工程师,2011年本科毕业,负责Android手Q无障碍优化工作,对Android无障碍系统原理及开发技术有深入了解. 责编:何永灿 heyc@csdn.n ...

  4. 透视宝移动端对Unity手机游戏引擎监控实现

    Unity是近年来非常流行的游戏引擎(engine),在当前手机游戏市场中所占份额极大,著名手机游戏Temple Run(神庙逃亡).纪念碑谷.战舰少女R.天天飞车等都是基于Unity引擎开发的.通过 ...

  5. unity 手机游戏优化(场景篇)

    场景基本上占游戏性能一大部分(内存和渲染)所以优化按优先级,先优化场景 场景加载(资源复用率) 加载都是基于Assetbundle情况下 1.动态加载,场景里面所有东西都保存预设,把场景数据保存配置表 ...

  6. 基于android平台的手机游戏的设计与实现,基于Android平台手机游戏社区的设计与实现...

    摘要: 在移动终端性能的不断提高和移动互联网的不断普及,SNS社区以及不再只停留在电脑上,逐渐的走进了手机里,与以往的社区相比,手机社区有更好的实时性,以及能够更方便的提供LBS服务功能.目前每个社区 ...

  7. CocosCreator微信小游戏广告接入(banner、激励式视频、插屏)

    开启小游戏流量主 开启流量主(访问量>=1000) 创建广告位 微信小游戏平台的广告类型主要分为1:banner广告,2:插屏广告,3:激励视频,4:格子广告以及5:原生模版广告. 创建好广告位 ...

  8. 手机游戏广告条破解原理和APK加固保护方法

    1.广告条篡改原理 广告收入是单机版游戏最主要的收入来源,也是网络游戏的主要收入来源之一.不法分子可以通过反编译游戏客户端,直接用自身的广告条替换掉原有的广告条后,二次打包发布盗版版本,以盗版版本的广 ...

  9. android 腾讯广告接入,cocos2dx 3.x android studio 添加广点通广告

    1,接入广告条 按照官方文档接入的时候遇到个问题,官方文档中是使用的布局文件来显示广告条,但是cocos2dx 没有使用布局文件,所以这里需要我们在代码中手动创建一个布局容器来显示广告条,代码如下: ...

  10. 轻松实现网页中通过链接跳转到QQ聊天界面,通过链接加QQ群,自动打开聊天对话框等等,包含电脑版和手机版的实现,示例部分Android和iOS的代码

    通过链接打开对话框: 打开qq聊天窗口的方法 <a href="http://wpa.qq.com/msgrd?v=3&uin=1450612626&site=qq&a ...

最新文章

  1. linux安全pdf,linux系统安全加固.pdf
  2. python读取数据库数据类型_Python中从SQL型数据库读写dataframe型数据
  3. 蓝桥杯 ADV-73 算法提高 数组输出
  4. egg风格 什么意思_egg裙什么意思
  5. vc6.0处理wps文字
  6. SaaSpace:11个免费建筑信息建模软件工具
  7. 如何去掉高CAD选择集对话框(高版本才有)
  8. 数字逻辑课程设计(一):数字时钟——logisam模拟实现
  9. loadrunner—集合点rendezvous
  10. python能开发手机app吗_python开发手机app和java相比,缺点是什么?
  11. 怎样清理软件卸载残留文件和系统垃圾
  12. [Python] 调用接口自动翻译单词,并存入文件
  13. python查看微信撤回消息_Python查看微信撤回消息代码
  14. Weighted Boxes Fusion
  15. linux服务器做301跳转,什么是301转向,如何去做301跳转
  16. (超详细)XSS和SQL注入-网络渗透测试实验三
  17. VUE项目(仿商城)
  18. java-php-python-晨光文具店进销存系统设计与开发计算机毕业设计
  19. Arcgis学习1:arcgis下载and画一个省份
  20. CSDN上传资源提示:资源上传中断

热门文章

  1. 零基础搭建电影网站教程——一、域名与服务器
  2. mysql常用语句五:DQL中的查询操作
  3. CentOS 7设置获取动态及静态IP地址方法
  4. python竖线_Matplotlib示例.43 横线与竖线
  5. ROS——基于python3实现opencv图像处理任务
  6. 经纬度与墨卡托坐标转化
  7. hystrix的服务降级和关于熔断的概念、使用等以及网关gateway的了解与使用
  8. 操作系统进程线程区别、并发和并行、内存和外存
  9. 英语语言标准C1,【CEFR】国际通用的学生英语能力水平评测标准
  10. 工作面试总遇秒杀? 看了京东 T8 大咖私藏的秒杀系统笔记, 已献出膝盖