menu
Is this helpful?

# Native支持

# 一、iOS Native 支持

首次构建 iOS 项目会生成工程代码到 ./build/ios/./native/engine/ios/ 两个目录,然后开始配置 iOS 工程。

# 1.1 手动配置

  • 添加 iOS 工程依赖文件
    • CocosCreatorProxyApi.h
    • CocosCreatorProxyApi.mm
    • ThinkingSDK.framework
    • ThinkingDataCore.framework
  • Build Phases 设置
    • Link Binary With Libraries 添加 ThinkingSDK.framework
  • Build Settings 设置
    • Framework Search Paths 添加 ThinkingSDK.framework的引用路径,如"$(SRCROOT)/../Classes"
    • Other Linker Flags 添加 -ObjC

# 1.2 CMakeList 配置

提示:

CMakeList 文件路径为 ./native/engine/ios/CMakeLists.txt

首次构建 iOS 项目之后会生成 CMakeList 文件,配置好之后再次构建时生效;

需要先把 iOS 资源文件拷贝到对应文件夹,如 ./native/engine/common/Classes/ThinkingAnalytics/ios/ ,配置 CMakeList 时填写对应路径即可。

  • 添加 iOS 工程依赖文件
# 找到这行代码 
set(PROJ_COMMON_SOURCES
    ${CMAKE_CURRENT_LIST_DIR}/../common/Classes/Game.h
    ${CMAKE_CURRENT_LIST_DIR}/../common/Classes/Game.cpp
    # 添加以下代码
    ${CMAKE_CURRENT_LIST_DIR}/../common/Classes/ThinkingAnalytics/ios/CocosCreatorProxyApi.h
    ${CMAKE_CURRENT_LIST_DIR}/../common/Classes/ThinkingAnalytics/ios/CocosCreatorProxyApi.mm
    ${CMAKE_CURRENT_LIST_DIR}/../common/Classes/ThinkingAnalytics/ios/ThinkingSDK.framework
    ${CMAKE_CURRENT_LIST_DIR}/../common/Classes/ThinkingAnalytics/ios/ThinkingDataCore.framework
)
  • Build Phases 设置
# 找到这行代码 
target_link_libraries(${LIB_NAME} cocos2d)
# 添加以下代码
target_link_libraries(${LIB_NAME} ${CMAKE_CURRENT_LIST_DIR}/../common/Classes/ThinkingAnalytics/ios/ThinkingSDK.framework)
target_link_libraries(${LIB_NAME} ${CMAKE_CURRENT_LIST_DIR}/../common/Classes/ThinkingAnalytics/ios/ThinkingDataCore.framework)
  • Build Settings 设置
# 找到这行代码
set(PRODUCT_NAME ${APP_NAME})
# 添加以下代码
set(CMAKE_EXE_LINKER_FLAGS -ObjC)

注意

Cocos Creator v2.x 的编辑器暂不支持 CMake 配置方式,需要手动配置。

# 二、 Android Native 支持

构建 Android 项目工程, 配置 Android 工程。

  • 在 Android 显示模式的 app 工程中,把依赖文件 CocosCreatorProxyApi.java 加入到 com.cocos.game 中,如下图

  • 在项目的 app 文件夹中的 proguard-rules.pro 文件中,添加混淆

-keep public class com.cocos.game.CocosCreatorProxyApi {*;}
  • 在项目的 app 文件夹中新建 libs 目录,将 TDAnalytics.aarTDCore.aar 拷贝到其中

  • Module 下的 build.gradle 文件中添加依赖项

dependencies {
    ...
    implementation fileTree(dir: 'libs', include: ['*.aar'])
}

# 三、 开启 Native 支持

初始化 SDK 时,在 config 中加入 enableNative: true,即可开启 Native 支持。

// TA SDK 配置对象
var config = {
   appId: "YOUR_APPID", // 项目 APP ID
   serverUrl: "YOUR_SERVER_URL", // 上报地址
   enableNative: true,// 允许调用 Native 代码
   autoTrack: {
      appShow: true, // 自动采集 启动事件
      appHide: true, // 自动采集 关闭事件
      appClick: true, // 自动采集 点击事件(仅 native 生效)
      appView: true, // 自动采集 浏览事件(仅 native 生效)
      appCrash: true, // 自动采集 崩溃事件(仅 native 生效)
      appInstall: true // 自动采集 安装事件(仅 native 生效)
      }
};
// 初始化
TDAnalytics.init(config);