TalkingData Cocos2dx在android平台使用总结
前言:最近发现很多朋友在使用TalkingData游戏版本Cocos2dx SDK使用过程中会出现的一些问题,今天来做一下总结,希望对您有所帮助:
首先非常感谢您使用TalkingData游戏统计平台,我们的成长跟您的反馈密不可分,所有在使用过程中有任何问题,请您一定要反馈给我们,谢谢~
一、首先来看下载下来的SDK的文档结构:
1、include:这里面是TalkingData SDK在C++上的接口,您在以后Cocos2dx游戏中,在C++开发过程中需要引用这些头文件进行统计。
2、platform文件夹里是,SDK针对不同平台(IOS、Android)进行的实现,有兴趣的朋友可看一下(如果您以后有在Cocos2dx调用其它第三方库(.jar或.a)的需求,可以进行参考哦~)
3、proj.android为了您可以方便在eclipse上进行开发方便引用。其实这里真正比较重要的就是jni/Android.mk和libs下面的jar包。
4、sample为了您快速使用和快速排查问题,我们提供了一个使用demo。
二、下面再来罗唆两句,cocos2dx上开发是不分操作系统的,不论您是windows,mac ox还是linux系统都可以。
配置:
1、需要java的运行环境JDK。(下载,安装,配置童鞋们可以去网上查查)
2、android的开发环境。(eclipse,adt,还有android的sdk)
3、ndk这个是专门用来开发android与c/c++代码互相调用。(下载和配置去google找)
4、在windows下还需要Cygwin.
5、下载cocos2dx的SDK。(建议下载修改名称为:cocos2d-x)
三、再来说一下Sample的使用方式。对于很多刚刚加入cocos2dx的同学们来说,这个各种路径问题确实比较让人头疼。
1、其实使用文档已经说的很清楚了,但有点细节还需要修改,就是一个地方如何被大家忽略(而这点对新手来说很重要):
解压缩 SDK 包当中的 Game_Analytics_SDK_Cocos.zip 文件,解压目录建议放置 在 cocos2d-x 的平级目录下, 对于配置一些路径会方便很多 。
2、添加cocos2dx库到eclipse(不添加直接引用cocos2d-x/cocos2dx/platform/android/java/bin/libcocos2dx.jar也可以),代码路径为:cocos2d-x/cocos2dx/platform/android/java
3、添加(一)中的第3条所说的proj.android到eclipse中。如图:
4、添加sample到eclipse中。并修改build_native.sh文件,如下图:
5、运行build_native.sh。到这里已经可以运行demo了
四、使用过程的疑问:(同学们在实际使用过程中,的其它问题都会在这里内容会持续更新)
1、经常有同学来问,在cocos2dx游戏结束,会调用System.exit()会不会对数据统计有影响?
答:我们游戏数据会在游戏结束的时候,把还没有发送到服务的事件(运行中也会有发送,现在的策略是3分钟发一次)发送出去,而这一过程是在后台进行的,
而当游戏结束后,调用了system.exit()(或者其它方式kill进程),就会导致有些数据没发送,而这些数据要等到下次游戏启动才能发送上去了~
2、最近还有比较多的同学来问:“这个Demo我已经成功运行了,那怎么才能移植到自己的游戏中呢?”,这可能是跟我一样,刚接触cocos2dx时间比较短的同学,对整个ndk的mk开发还不太明了
答:既然Demo对已经运行成功了,那咱们就从Demo往回看。
先看一个Demo中的Android.mk文件:
1:基本设置,不解释
2:这里设置的是您游戏的逻辑代码的CPP的代码,也就是在这里调用我们TalkingDataGA的SDK。
3:引用头文件的路径。这里包括自己程序的头文件,还有就是$(LOCAL_PATH)/../../../include里包括了TalkingDataGA的基本头文件和$(LOCAL_PATH)/../../../platform/android里面包涵了针对Android的两个头文件,TDGAJniHelper.h和TDGALog.h。这两个路径您要根据自己程序和TalkingDataSDK的路径去设置。
4:编译的时候引用的两个静态库。(是通过查找NDK_MODULE_PATH指定路径下的内容),一个是cocos2dx的库一个是talkingdata的静态库
5:生成为so的动态库
6:根据NDK_MODULE_PATH去调用或者build指定的静态库。
再来看看build_native.sh
1:定义一路径,包括当前路径,cocos2dx的路径,和talkingdata库的路径
2:上面说过两个的NDK_MODULE_PATH就是在这里定义的
总结:知道了,sh文件和mk文件里字段的意义,童鞋们就可以根据自己情况去更新啦~
补充:-------->
发现可能有些同学没太在意Demo里的main.cpp文件也是有修改的,在移植到自己和游戏过程中,程序中的main.cpp也要进行相应的修改哦:
3、关于SDK入口问题,这里不得不说明一下
因为android SDK的启动需要调用一些已经存储的信息,而这里信息的调用必须要用Context才行。
所以在android上使用,不可能脱离Context,也就是说不能在Activity之外启动。这才有了android的DEMO中的
咱们再看看cocos2dx的AppDelegate中的方法,因为通常在android跟IOS里是同一个文件,所以要写上TDCCTalkingDataGA::onStart("2B002F9CD724EB09730AF32CB4D909C3", "");但是这个方法在android平台是没有作用的。
4、continue..
TalkingData Cocos2dx在android平台使用总结的更多相关文章
- 关于文章“cocos2dx移植android平台-我的血泪史”需要注意事项
关于文章"cocos2dx移植android平台-我的血泪史"需要注意事项 在上次转载的这篇文章中,按照配置一步一步的下去.发现工程中在Android.mk中有一处错误.直接bui ...
- 为Cocos2d-x的Android平台加入Protobuffer支持
为Cocos2d-x的Android平台加入Protobuffer支持 分类: 工作2013-11-27 18:00 386人阅读 评论(1) 收藏 举报 cocos2d-xandroid平台交叉编译 ...
- [Cocos2d-x]解决Android平台ndk-build时不自动删除外部库
参考链接: http://blog.chinaunix.net/uid-26009923-id-3430612.html http://hi.baidu.com/hpyfei/item/52a2b21 ...
- cocos2dx 搭建 android 平台
Mac OS X下配置Cocos2d-x for Android(Eclipse)&IOS(Xcode)开发环境 前面一段时间只用Cocos2d-x在IOS平台下开发, 学习Cocos2d-x ...
- cocos2dx移植android平台-我的血泪史
版权声明:本文由( 小塔 )原创,转载请保留文章出处! 本文链接:http://www.zaojiahua.com/android-platform.html 本人这几天一直都没有跟新自己的网站内容, ...
- cocos2dx移植android平台
本人这几天一直都没有跟新自己的网站内容,问我干什么去了,当然是做这篇文章做的事了,说起这个移植来真是麻烦啊,网上试验了各种方法,都不知道谁对谁错啊.不过经过本人这三天的研究最后终于成功了,为了让大家少 ...
- cocos2dx 搭建 android 平台 -2
1.配置Cocos2d-x for Xcode. 这一块比较简单, 可以参见其他文章. 重点:install-templates-xcode.sh 2.配置普通Android开发环境 这一块包括JDK ...
- 【Cocos2d-x】Cocos2d-x跨Android平台搭建之四:Win7 64位+ eclipse + cocos2dX
开始研究cocos2dx,mark一下这个的配置步骤 1 下载eclipse 2 下载android sdk,配置sdk路径,添加环境变量 3 安装adt 4 下载android ndk,配 ...
- cocos2dx 在android平台打开文件问题
我们有一个项目是基于cocos2dx + lua,在网络部分用到了protobuf, 在初始化protobuf的时候须要读取本地文件,用lua的io.open读取文件在windows,ios上 ...
随机推荐
- jQuery Validate 验证,校验规则写在控件中的具体例子
将校验规则写到控件中 <script src="../js/jquery.js" type="text/javascript"></scrip ...
- 微信下载APK
腾讯应用宝 微信屏蔽了来源不是腾讯的APK function isWeixin() { var ua = navigator.userAgent.toLowerCase() if(ua.match(/ ...
- HDU 1523 Decoding Morse Sequences
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1523 此题大意为 给你一串摩尔斯密码 再给你一个字典(下面单词本) 用下面的单词组合成给你的摩尔斯密 ...
- 【转】Java中字符串中子串的查找共有四种方法(indexof())
原文网址:http://wfly2004.blog.163.com/blog/static/1176427201032692927349/ Java中字符串中子串的查找共有四种方法,如下:1.int ...
- 线性代数(高斯消元):JSOI2008 球形空间产生器sphere
JSOI2008 球形空间产生器sphere [题目描述] 有一个球形空间产生器能够在n维空间中产生一个坚硬的球体.现在,你被困在了这个n维球体中,你只知道球面上n+1个点的坐标,你需要以最快的速度确 ...
- 图论(二分图最大权独立点集):COGS 2051. 王者之剑
2051. 王者之剑 ★★★☆ 输入文件:Excalibur.in 输出文件:Excalibur.out 简单对比 时间限制:1 s 内存限制:256 MB [题目描述] 这是在阿尔托 ...
- POJ 3187 穷举
题意:已知有N个数分别为1-N,如下图为4个数.相邻两两相加直至只剩下一个数,下图的结果就是16. 3 1 2 4 4 3 6 7 9 16 现在反过来看,告诉你数的个数N和最终结果,问这 ...
- Java 中 StringBuilder 在高性能用法总结
关于StringBuilder,一般同学只简单记住了,字符串拼接要用StringBuilder,不要用+,也不要用StringBuffer,然后性能就是最好的了,真的吗吗吗吗? 还有些同学,还听过三句 ...
- Android的adb命令使用以及在DOS的一系列操作
adb是什么?:adb的全称为Android Debug Bridge,就是起到调试桥的作用. adb有什么用?:借助adb工具,我们可以管理设备或手机模拟器的状态.还可以进行很多手机操作, ...
- BDD框架之lettuce---python3.+安装报错
跟虫师学习python,学到BDD框架之lettuce( http://www.cnblogs.com/fnng/p/3415609.html),发现python3.5环境下安装lettuce后无法正 ...