unity, 集成iOS广告sdk注意事项
----更新:2015-10-22
今天在unity里集成讯飞语音听写的iOS sdk,结果发现前面集成domob广告的方法搞复杂了。
其实,直接把UnityViewControllerBase当做sdk示例demo中的viewController,把代码全部照搬过来即可。
唯一的问题就是如何将UnityViewControllerBase的成员函数XXXFunction做成全局函数供unity调用。
一个非常简单的方法就是定义一个全局变量:
UnityViewControllerBase* _unityViewControllerBase=NULL;
(oc定义全局函数的方法与c++中一致,就是在.m中定义变量,并在.h中extern)
然后在UnityViewControllerBase的各方法中都添加一句:
_unityViewControllerBase=self;
然后就可以做出全局函数:
void native_callXXXFunction(){
[_unityViewControllerBase XXXFunction];
}
另外注意的是UnityViewControllerBase的viewDidLoad和viewDidUnload不会被调用,可用其viewDidAppear和viewDidDisappear代替。
----原帖
有些广告平台有unity插件版的iOS sdk,有的只有object-c版的iOS sdk。
以多盟(domob)为例,官网上有unity插件,但是是for unity 4.x的,感觉有点儿老了,所以没采用,直接用的它的object-c的sdk。
本来集成广告sdk没啥难的,只不过因为我不懂oc,所以遇到点儿问题,折腾一阵解决了,记一下:
首先下载它的sdk和sample(其中sample在官网上找了半天没找到,后来发现原来在它的github上,(刚才发现在添加应用的最后一步会给出demo下载))。
然后就是把sdk添加到xcode中,并把需要的framework都添加上。编译一下看看能不能通过。
接下来按sample和文档的做法是:
定义一个DMInterstitialUIViewController,继承自DMInterstitialAdControllerDelegate。然后其中添加一个DMInterstitialAdController*_dmInterstitial成员变量。
接着再在DMInterstitialUIViewController的初始回调中初始化_dmInterstitial,并实现继承自DMInterstitialAdControllerDelegate的接口,以及showAd成员函数,就ok了。
如果是对于纯iOS工程,这样确实就可以了,但对于unity导出的xcode工程,由于showAd函数要在unity脚本中调用,所以需要封装成全局函数,所以_dmInterstitial就不能作为DMInterstitialUIViewController的成员函数了,而需要是一个全局单例。
只需把DMInterstitialUIViewController实现中的_dmInterstitial全部用这个全局单例替换就ok了。
对于unity导出的xcode工程,可以用UnityViewControllerBase充当DMInterstitialUIViewController。但要注意经测试UnityViewControllerBase的viewDidLoad和viewDidUnload不会被调用,可用其viewDidAppear和viewDidDisappear代替。
unity, 集成iOS广告sdk注意事项的更多相关文章
- unity 引入 ios 第三方sdk
原地址:http://blog.csdn.net/u012085988/article/details/17785023 unity开发中ios应用时,要想成功引入第三方sdk,首先得知道c#与obj ...
- 【Unity游戏开发】SDK接入与集成——小白入门篇
一.简介 通常一款游戏开发到后期,一般都会涉及到第三方SDK的接入与集成,对于不熟悉SDK接入的同学来说,接SDK每次都是云里雾里,而熟悉SDK接入的同学又觉得不断地重复做接入SDK工作这样没有成就感 ...
- 集成IOS 环信SDK
集成IOS SDK 在您阅读此文档时,我们假定您已经具备了基础的 iOS 应用开发经验,并能够理解相关基础概念. 下载SDK 通过Cocoapods下载地址 不包含实时语音版本SDK(EaseMobC ...
- Unity 下集成第三方原生 SDK,以极光厂商通道为例
Unity中集成三方SDK有两种方式: Unity 项目开发中时常有集成 Android 第三方 SDK 的需求,比如接入第三方推送,分享等功能.而第三方 SDK 的集成文档提到的往往是基于原生 An ...
- 【Unity游戏开发】接入UWA_GOT的iOS版SDK以后无法正常出包
一.正文 问: RT,最近有看到UWA_GOT工具新增了iOS版本的支持,于是下载了最新的工具包进行了接入测试.是按照文档直接将UWA_GOTv2.0.1_iOS.unitypackage导入进了Un ...
- unity集成openinstall流程
目的 1.Unity集成openinstall sdk? 最近在使用一个叫openinstall的SDK,通过它实现免填邀请码的功能,集成到unity游戏开发中.对App安装流程的优化,尤其是免填写邀 ...
- 适用于 Flutter 的 Google 移动广告 SDK 正式版现已发布
作者 / Zoey Fan,Flutter 产品经理 应用变现有多种方法: 通过实体企业的店面接受付款.提供订阅或应用内购买,或者直接在应用中投放广告.经过六个月的 beta 测试期,我们很高兴能够推 ...
- fir.im Weekly - 从 iOS 10 SDK 新特性说起
从 iOS 7 翻天覆地的全新设计,iOS 8 中 Size Classes 的出现,应用扩展,以及 Cloud Kit 的加入,iOS 9 的分屏多任务特性,今年的 WWDC iOS 10 SDK ...
- cocos2d-x + Lua接入iOS原生SDK的实现方案[转]
相信很多朋友在使用cocos2d-x+lua开发游戏时都遇到过接入iOS原生SDK的问题,比如常见的接应用内支付SDK,广告SDK或是一些社交平台SDK等等,我也没少接过这类SDK.这篇文章主要是对我 ...
随机推荐
- 软件工程中的反面模式(anti-pattern)
软件设计 抽象倒置(Abstraction inversion):不把用户需要的功能直接提供出来,导致他们要用更上层的函数来重复实现 用意不明(Ambiguous viewpoint):给出一个模型( ...
- [BZOJ1790][AHOI2008]Rectangle 矩形藏宝地(四维偏序,CDQ+线段树)
1790: [Ahoi2008]Rectangle 矩形藏宝地 Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 553 Solved: 193[Subm ...
- MyBasic架构
MyBasic架构图 2,架构图解析 (1) (2) (3)
- Spinner控件:Spinner绑定的监听是SetOnItemSelectedListener
(一) 1.效果图:ArrayAdapter可以不用设置 arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_it ...
- hdu4565之矩阵快速幂
So Easy! Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total S ...
- gitk图形界面中文乱码情况
当打开gitk图形界面时,文件中的中文部分乱码了,这大部分是因为编码格式的问题,为了跟上时代的脚步,本人建议都是用utf-8编码. 为了方便,我将全局配置为utf-8编码: git config -- ...
- CSS3:图片水平垂直居中
加上这两个就行 display:-webkit-box; 显示成盒子模式 -webkit-box-align:center; 垂直居中 -webkit-box-pack:center; ...
- Codeforces D. Giving Awards 412 题解
就是依照一定顺序输出排序. 比方a欠b的钱就不能先输出a然后输出b. 本题的技巧就是.要求的是不能先输出a然后输出b,可是能够先输出b然后输出a. 故此能够依照a欠b的钱的关系.建立图,然后DFS深度 ...
- GNURADIO简单运用
本文是关于 RF hacking..所以这个就此不表…还是让我们来看看关键的无线解锁器吧..通常我们 hacking 一个无线设备的第一步就是找到目标的工作频率. 我们可以通过每个无线设备自带的FCC ...
- 通过ssh上传文件到目标主机
需要通过ssh上传文件到目标主机上,之前一直时通过ssh客户端来传文件的,这次因为本地没装客户端,所以考虑直接用终端通过ssh连接主机进行文件传输. 只需要一条命令就可以了: scp ./serve ...