Cocos2dx Javascript接入

此插件为了方便使用Cocos Creator的用户快速集成Sharetrace而开发,本指引以Cocos Creator 2.4.0为例,其他版本类似。

请先从ShareTrace控制台获取AppKey

一、安装

1.1 下载插件

前往下载最新版的Cocos2dx Javascript SDK。前往下载

1.2 Android工程集成

(注:请先根据cocos原生开发环境文档配置好开发环境)

  1. 使用Cocos Creator生成Android工程(选择项目--构建发布--选择Android),填写好相关配置后,点击构建,即可生成工程。生成之后使用Android Studio打开。(项目路径:/build/jsb-link/frameworks/runtime-src/proj.android-studio
  2. 找到插件中的Android文件夹,将lib里面的aar,导入到工程(目标路径:/proj.android-studio/app/libs)
  3. 找到插件中的Android文件夹,将src里面到文件,导入到工程(目标路径:/proj.android-studio/src)
  4. 修改AppActivity 继承于 SharetraceActivity, 即:

     import com.sharetrace.cocos.SharetraceActivity;
    
     public class AppActivity extends SharetraceActivity {
         ...
     }
    

    注: 你也可以自行参照SharetraceActivity的结构,直接修改AppActivity, 这里不再赘述。

  5. 配置APP_KEY 在 AndroidManifest.xml 文件中的 application 标签内设置 AppKey

         <meta-data
             android:name="com.sharetrace.APP_KEY"
             android:value="[SHARETRACE_APPKEY]"/>
    

    请将 [SHARETRACE_APPKEY] 替换成 sharetrace 为应用分配的 appkey

  6. 一键调起配置(如不需要可以跳过此步骤)

    • 在 AndroidManifest.xml 文件中的 application 标签内设置
      • 修改为android:launchMode="singleTask"
      • 设置android:scheme

最终的配置如下

   <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工程集成

  1. 使用Cocos Creator生成Android工程(选择项目--构建发布--选择iOS),填写好相关配置后,点击构建,即可生成工程。生成之后使用Xcode打开。(项目路径:/build/jsb-link/frameworks/runtime-src/proj.ios_mac
  2. 找到插件中的iOS文件夹,将SharetraceCocos文件夹,直接拖进导入到工程, 添加时请确保选中("Copy items if needed")
  3. 找到设置中的 General -> Embedded binaries, 增加ShareTraceSDK.framework, 确保选中Embed & Sign
  4. 找到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
    
  5. 配置APP_KEY

    在Info.plist文件中配置appKey

     <key>com.sharetrace.APP_KEY</key>
     <string>[SHARETRACE_APPKEY]</string>
    

    请将 [SHARETRACE_APPKEY] 替换成 sharetrace 为应用分配的 appkey

  6. 一键调起配置(如不需要可以跳过此步骤)

    先参考原生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的情况下使用

results matching ""

    No results matching ""