# 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
- Framework Search Paths 添加
# 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.aar
、TDCore.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);