zoukankan      html  css  js  c++  java
  • TalkingDataGame SDK在android Lua上的使用

    千呼万唤使出来...终于开始更新lua版本的内容了,之前一直有这方面的计划,由于公司业务比较多,一直比较忙~见谅..

    费话不多说,直接上内容..

    整体来讲,先是先建议看一下之前关于cocos2dx上的使用,基本都是相通的。

    一、修改lua的库,要想能在lua中调用talkingdata的内容,必须要把talkingdata的方法全部注册到lua中。

    二、修改main方法,添加java对象的调用。

    三、在初始化SDK。

    =============咱们一步一步的来,主要就是这个配置路径比较麻烦==============

    一、注册方法和类到lua库中:

      先说下通常的方法,通常是需要自己来创建一个pkg的文件,然后通修改Cocos2d.pkg,把自己的pkg添加到Cocos2d.pkg中,如图:

    然后调用tolua++方法,把所有Cocos2d.pkg中注册的方法生成到一个LuaCocos2d.cpp类中,这个地方可以配置LuaCocos2d.cpp输出路径。

    咱们这里跳过这一步,直接修改LuaCocos2d.cpp方法也是可以的。要注意到修改哪个LuaCocos2d.cpp文件才是正确的?

    通过命令 ./create_project.py -project TDDemo -package com.talkingdata.lua -language lua生成一个lua的android工程,打开Android.mk文件

    这说明了lua的运行环境是由cocos_lua_static这个模块来完成的,路径也已经指出。

    打开/cocos2d-x-2.2.2/scripting/lua/cocos2dx_support/LuaCocos2d.cpp文件是一个6W+行的代码,不用理这么多,反正都注册的内容,咱们只要

    找到在哪注册就好了,打开LuaCocos2d.cpp文件, 添加头文件使用#include "TalkingDataGA-Lua.h" (TalkingData会提供TalkingDataGA-Lua.cpp和TalkingDataGA-Lua.h这两个文件来辅助lua上的实现)搜索tolua_reg_types方法(从名字上也可以看出来这是一个注册的方法)找到最后一行。

    添加tolua_reg_tdga_types (tolua_S);如图:

    然后再搜索tolua_Cocos2d_open方法,到结尾添加tolua_tdga_open (tolua_S);

    然后保存~~~~

    别嫌麻烦,还剩下两步哦:

    1 把TalkingDataGA-Lua.cpp和TalkingDataGA-Lua.h复制到cocos2dx_support目录下,如图:

    2 修改 lua 这个模块的make文件。

    做如下修改

    这样,注册方法到lua库的工作已经打完收工~(如果哪位大神有简单的方式,一定要告诉我啊~QQ:542894008)

    要想跑起来收集数据,还需要点修改,上面只是完成了方法的注册,还需要初始化的一些步骤:

    一、设置TalkingData的编译路径,修改工程下面的build_native.sh文件

    这两处是配置,在编译时候的寻找module的路径

    二、修改main.cpp文件,添加TDJniHelper的方法

    三、在Java的主类里添加初始化方法

    最后 别忘记在添加权限:

        <uses-permissionandroid:name="android.permission.INTERNET"/>

        <uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/>

        <uses-permissionandroid:name="android.permission.READ_PHONE_STATE"/>

        <uses-permissionandroid:name="android.permission.ACCESS_COARSE_LOCATION"/>

        <uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION"/>

        <uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"/>

        <uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

    再来看来在Lua里使用~~~

    以上内容只是初稿,日后还会再仔细整理

  • 相关阅读:
    HDU 1525
    kmp模板
    hdu 4616 Game(树形DP)
    hdu 4619 Warm up 2(并查集活用)
    hdu 4614 Vases and Flowers(线段树加二分查找)
    Codeforces 400D Dima and Bacteria(并查集最短路)
    poj 2823 Sliding Window (单调队列)
    hdu 2196 Computer(树形dp)
    hdu 4604 Deque
    最短路径
  • 原文地址:https://www.cnblogs.com/vernon/p/3601151.html
Copyright © 2011-2022 走看看