很多开发者对OC语言、C语言并不熟悉,自行封装API存在困难,故我特地编写本文让大家可以更快更好的进行SDK接入 本文是参照http://bbs.18183.com/thread-456979-1-1.html的解决方案对SDK常用API进行了封装,有兴趣的同学可以在完成DEMO后了解一下API封装原理。
本文所用到的91SDK版本号为3.3。该版本SDK并未发布。如是新游需要试用,请联系技术支持。 此UNITY3D的DEMO工程项目( U3DPRJDEMOFORSDK33.zip (148.46 KB, 下载次数: 215) ),大家下载后修改少量代码即可用在目前91SDK上。
运行起来的DEMO如下图,我封装了91SDK常用API,如还需其他不常用API,大家看本文后可以自行添加。DEMO的场景中有2个文件夹,Code是放游戏脚本的,Plugins是放封装SDK-API的.h和.m文件。
Test.cs是我用做DEMO界面的问题代码文件,模拟游戏脚本对SdkConector类进行调用;
SdkConector.cs是游戏脚本对SDK-API进行调用,和实现一些SDK回调的必要文件。游戏项目要调用这个脚本,任意找个生效的场景进行绑定,本例中我是Create Empty,任意取个名字,将该脚本绑定。
DEMO相当简单,代码注释我也写的很全,大家花几分钟看看代码后就可以进行Player Setting了。91渠道对软件标示符有要求,必须包含91字段。这里特别说明一点:接入SDK的UNITY3D项目不能在模拟器中进行运行的,只能在真机上进行调试。
Build生成iOS游戏项目后,把DEMO中的Plugins文件夹拉进iOS项目中的Classes文件夹下,将91SDK的SDK文件夹整个拖入Frameworks文件夹,完成后,应如下图。
找到Other linker Flags,在第1列加入-ObjC,注意大小写。
按照SDK包内的客户端文档,进行环境配置,加入必要的系统类库。
按照要求,加入URL Schemes,如下图。
91SDK有一个规定要加入暂停页功能,我没有找到UINTY3D的从前台进入后台的事件,所以我采用的是91SDK客户端文档的做法,在AppController的文件头部引入头文件后,在如下图位置加入SDK暂停页API的调用。
连上手机后,RUN一下这个iOS项目就可以看见DEMO了。
附上很重要的帖子:
91SDK接入及游戏发布、更新流程 http://bbs.18183.com/thread-99382-1-1.html
91SDK必须接入的功能规定 http://bbs.18183.com/thread-529673-1-1.html