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.这篇文章主要是对我 ...
随机推荐
- Typora
Typora BB in front 如果你是一个佛(lan)系(duo),内心文艺的程序员,并且你对其他Markdown编辑器的使用效果感觉不是很好的话,可以来了解一下该软件Typora. What ...
- 23、Flask实战第23天:Flask-Restful
Restful API规范 restful api是用于前端和后台进行通信的一套规范.使用这个规范可以让前后端开发变得更加轻松. 协议 采用http或者https 数据传输格式 数据之间传输的格式应该 ...
- CentOS7安装bind域名服务
安装Bind Chroot DNS 服务器 yum install bind-chroot bind -y 拷贝bind相关文件,准备bind chroot 环境 cp -R /usr/share/d ...
- Gitlab运维
安装Gitlab 新建 /etc/yum.repos.d/gitlab-ce.repo [gitlab-ce] name=gitlab-ce baseurl=http://mirrors.tuna.t ...
- java中集合里的泛型
import java.util.ArrayList;/* * 泛型 : java jdk1.5新特性. * 泛型的好处 : * 1.将运行时的错诶提前到编译时. * 2.避免无谓的强制类型转换. * ...
- HAVING 语句
有的时候需要对部分分组进行过滤,比如只检索人数多余1个的年龄段,有的开发人员会使用下面的SQL语句: SELECT FAge,COUNT(*) AS CountOfThisAge FROM T_Em ...
- python3开发进阶-Django框架的Form表单系统和基本操作
阅读目录 什么是Form组件 常用字段和插件 自定义校验的方式 补充进阶 一.什么是Form组件 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标 ...
- [Java基础] Java如何实现条件编译
条件编译绝对是一个好东西.如在C或CPP中,可以通过预处理语句来实现条件编译.但是在JAVA中却没有预处理,宏定义这些东西,而有时在一些项目中,我们又需要条件编译.那么,在JAVA中,该如何实现条件编 ...
- WebLogic Server 关键优化指标
昨天给客户做巡检,又将整个WebLogic Server的优化过程走了一遍,记录下来给大家参考. 1.JVM优化 查看 $ps –ef | grep java /opt/java1.5/bin/jav ...
- tessellation 曲面细分 on Android
Mac OS X 10.8 (OpenGL 3.2), MacOSX 10.9 (OpenGL 3.2 to 4.1) Windows with NVIDIA since 2006 (GeForce ...