Cocos2dx Lua接入
请先从ShareTrace控制台获取AppKey
。
本指引以cocos2dx 4.0接入流程为例,其他版本类似。构建工具为CMake。
一、安装
附: 完成接入之后的项目Demo可以点击查看
1.1 下载插件
前往下载最新版的Cocos2dx Lua SDK。前往下载
1.2 Android工程集成
(注:请先根据cocos原生开发环境文档配置好开发环境)
- 找到主项目app目录下的
build.gradle
,添加Sharetrace插件, 如:dependencies { // 其他... implementation 'com.sharetrace:sharetrace-android-sdk:2.1.3' }
- 找到插件中的
Android
文件夹,将src里面到文件,导入到工程(目标路径:/app/src
) 修改
AppActivity
继承于SharetraceActivity
, 即:import com.sharetrace.cocos.SharetraceActivity; public class AppActivity extends SharetraceActivity { ... }
注: 你也可以自行参照
SharetraceActivity
的结构,直接修改AppActivity
, 这里不再赘述。配置
APP_KEY
在 AndroidManifest.xml 文件中的 application 标签内设置 AppKey
<meta-data android:name="com.sharetrace.APP_KEY" android:value="SHARETRACE_APPKEY"/>
请将
SHARETRACE_APPKEY
替换成 sharetrace 为应用分配的 appkey一键调起配置(如不需要可以跳过此步骤)
在 AndroidManifest.xml 文件中的 application 标签内设置
- 修改为android:launchMode="singleTask"
- 设置android:scheme
最终的配置如下
<application .... <activity android:name="org.cocos2dx.cpp.AppActivity" android:screenOrientation="portrait" android:configChanges="orientation|keyboardHidden|screenSize|screenLayout" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:launchMode="singleTask" android:taskAffinity="" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.BROWSABLE"/> <data android:scheme="[Sharetrace分配的Scheme]"/> </intent-filter> </activity> <meta-data android:name="com.sharetrace.APP_KEY" android:value="SHARETRACE_APPKEY"/> </application>
其中,可以从ShareTrace控制台获取
[Sharetrace分配的Scheme]
。
1.3 iOS工程集成
- 参考官方文档,生成工程iOS工程。生成之后使用Xcode打开。(项目路径:
/ios-build/
) 找到插件中的
iOS/SharetraceCocos
, 整个文件夹复制到/frameworks/runtime-src/proj.ios_mac/ios
中,然后在XCode中找到对应的位置,右键选择Add Files to xxxx
,选择刚刚复制的目标路径。配置APP_KEY
在Info.plist文件中配置appKey
<key>com.sharetrace.APP_KEY</key> <string>SHARETRACE_APPKEY</string>
请将
SHARETRACE_APPKEY
替换成 sharetrace 为应用分配的 appkey一键调起配置(如不需要可以跳过此步骤)
先参考原生iOS接入指引中的一键调起配置,配置好Associated Domains等配置,再进行以下的操作。
配置
AppController.mm
#import "AppController.h" #import "cocos2d.h" #import "AppDelegate.h" #import "RootViewController.h" #import "SharetraceBridge.h" @implementation AppController @synthesize window; #pragma mark - #pragma mark Application lifecycle // cocos2d application instance static AppDelegate s_sharedApplication; - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [SharetraceBridge startInit]; cocos2d::Application *app = cocos2d::Application::getInstance(); .... return YES; } -(BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler { if ([SharetraceBridge handleUniversalLink:userActivity]) { return YES; } return YES; } -(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { if ([SharetraceBridge handleSchemeLinkURL:url]) { return YES; } return YES; } - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(nonnull NSDictionary *)options { if ([SharetraceBridge handleSchemeLinkURL:url]) { return YES; } return YES; } @end
二、使用方式
2.1 导入Sharetrace头文件
需要使用到Sharetrace lua 插件的地方,需要导入相关头文件
local sharetrace = require("app.models.sharetrace")
注: 上述头文件路径需与Classes里面的路径一致,根据具体情况配置即可。
2.2 获取安装携带的参数
local function onInstallResult(result)
print("onInstallResult:"..result)
end
sharetrace:getInstallTrace(10, onInstallResult)
2.3 获取一键调起参数
local function onWakeupResult(result)
print("onWakeupResult:"..result)
end
sharetrace:registerWakeUpTrace(onWakeupResult)
三、配置安装方式
1、配置安装方式:SDK 集成完成后,进入sharetrace
控制台 — 应用详情 — iOS配置 — 点击“去集成” — 点击“我已集成,下一步” — 选择任意一种安装方式,填写信息
— 点击“下一步”,完成安装方式配置
2、安装方式说明
- (1)自定义链接地址:即是你APP的安装包下载链接
- (2)App Store:填写你APP在AppStore的地址
- (3)平台托管:将你APP的安装上传到ShareTrace平台,你的用户下载时,直接从ShareTrace服务器下载
- (4)暂不配置:只用于本地测试,适合在没有配置web SDK的情况下使用