Cocos2dx Javascript接入
此插件为了方便使用Cocos Creator的用户快速集成Sharetrace而开发,本指引以Cocos Creator 2.4.0为例,其他版本类似。
请先从ShareTrace控制台获取AppKey
。
一、安装
1.1 下载插件
前往下载最新版的Cocos2dx Javascript SDK。前往下载
1.2 Android工程集成
(注:请先根据cocos原生开发环境文档配置好开发环境)
- 使用Cocos Creator生成Android工程(选择
项目
--构建发布
--选择Android
),填写好相关配置后,点击构建,即可生成工程。生成之后使用Android Studio打开。(项目路径:/build/jsb-link/frameworks/runtime-src/proj.android-studio
) - 找到主项目app目录下的
build.gradle
,添加Sharetrace插件, 如:dependencies { // 其他... implementation 'com.sharetrace:sharetrace-android-sdk:2.1.3' }
- 找到插件中的
Android
文件夹,将src里面到文件,导入到工程(目标路径:/proj.android-studio/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
- 在 AndroidManifest.xml 文件中的 application 标签内设置
最终的配置如下
<application
....
<activity
android:name="org.cocos2dx.javascript.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工程集成
- 使用Cocos Creator生成iOS工程(选择
项目
--构建发布
--选择iOS
),填写好相关配置后,点击构建,即可生成工程。生成之后使用Xcode打开。(项目路径:/build/jsb-link/frameworks/runtime-src/proj.ios_mac
) - 找到插件中的
iOS
文件夹,将SharetraceCocos文件夹,直接复制到工程iOS对应目录下(完整路径:/build/jsb-link/frameworks/runtime-src/proj.ios_mac/ios/SharetraceCocos);复制完毕后,在Xcode中,右键打开ios
, 选择Add Files to ...
, 找到并添加SharetraceCocos
, 添加时请确保选中("Copy items if needed")
和("Create groups")
- 找到设置中的
General
->Embedded binaries
, 增加ShareTraceSDK.framework
, 确保选中Embed & Sign
找到
Build Phases
选项, 在顶部Editor
中增加Run Script Phase
, 填入以下内容:(注: 请确保新增的Run Script放置在Embed Framework之后,可以通过拖动排序)
if [[ "$ACTION" != "install" ]]; then exit 0; fi APP_PATH="${TARGET_BUILD_DIR}/${WRAPPER_NAME}" echo "start removes unused architectures..." echo "$APP_PATH" # This script loops through the frameworks embedded in the application and # removes unused architectures. find "$APP_PATH" -name 'SharetraceSDK.framework' -type d | while read -r FRAMEWORK do FRAMEWORK_EXECUTABLE_NAME=$(defaults read "$FRAMEWORK/Info.plist" CFBundleExecutable) FRAMEWORK_EXECUTABLE_PATH="$FRAMEWORK/$FRAMEWORK_EXECUTABLE_NAME" echo "Executable is $FRAMEWORK_EXECUTABLE_PATH" EXTRACTED_ARCHS=() for ARCH in $ARCHS do echo "Extracting $ARCH from $FRAMEWORK_EXECUTABLE_NAME" lipo -extract "$ARCH" "$FRAMEWORK_EXECUTABLE_PATH" -o "$FRAMEWORK_EXECUTABLE_PATH-$ARCH" EXTRACTED_ARCHS+=("$FRAMEWORK_EXECUTABLE_PATH-$ARCH") done echo "Merging extracted architectures: ${ARCHS}" lipo -o "$FRAMEWORK_EXECUTABLE_PATH-merged" -create "${EXTRACTED_ARCHS[@]}" rm "${EXTRACTED_ARCHS[@]}" echo "Replacing original executable with thinned version" rm "$FRAMEWORK_EXECUTABLE_PATH" mv "$FRAMEWORK_EXECUTABLE_PATH-merged" "$FRAMEWORK_EXECUTABLE_PATH" done
配置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 "SharetraceWrapper.h" using namespace cocos2d; @implementation AppController - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [SharetraceWrapper startInit]; } - (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler{ if ([SharetraceWrapper handleUniversalLink:userActivity]) { return YES; } return YES; } -(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{ if ([SharetraceWrapper handleSchemeLinkURL:url]) { return YES; } return YES; } - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(nonnull NSDictionary *)options{ if ([SharetraceWrapper handleSchemeLinkURL:url]) { return YES; } return YES; } @end
二、使用方式
2.1 导入js
找到Script
文件夹的Sharetrace.js
, 放置在Cocos Creator项目中的Script
中,在使用的地方引入脚本, 如:
var sharetrace = require("Sharetrace");
2.2 获取安装携带的参数
sharetrace.getInstallTrace(function(appData) {
var info = JSON.stringify(appData)
cc.log(info)
});
2.3 获取一键调起参数
sharetrace.registerWakeupTrace(function(appData) {
var info = JSON.stringify(appData)
cc.log(info)
});
三、配置安装方式
1、配置安装方式:SDK 集成完成后,进入sharetrace
控制台 — 应用详情 — iOS配置 — 点击“去集成” — 点击“我已集成,下一步” — 选择任意一种安装方式,填写信息
— 点击“下一步”,完成安装方式配置
2、安装方式说明
- (1)自定义链接地址:即是你APP的安装包下载链接
- (2)App Store:填写你APP在AppStore的地址
- (3)平台托管:将你APP的安装上传到ShareTrace平台,你的用户下载时,直接从ShareTrace服务器下载
- (4)暂不配置:只用于本地测试,适合在没有配置web SDK的情况下使用