Skip to content

unix-apptrace 接入指南 ​

插件 iOS 支持 iOS11 及以上版本,Android 支持 Android6.0 API23 及以上版本

一、插件安装 ​

可前往插件市场下载最新版本直接导入 HBuilderX 使用前往下载 ,并提供了接入 demo 可供参考。

二、配置 appKey ​

请先从AppTrace 控制台获取AppKey

2.1 Android 配置方式 ​

  • 找到插件中 app-android 目录下的 AndroidManifest.xml 文件,把 AppKey 替换为 AppTrace 平台分配的 appKey
html
<!-- 把AppKey替换为AppTrace平台分配的AppKey -->
<meta-data android:name="cn.apptrace.APP_KEY"
   android:value="AppKey"/>

2.2 iOS 配置方式 ​

  • 找到插件中 app-ios 目录下的 Info.plist 文件,把 AppKey 替换为 AppTrace 平台分配的 appKey
html
<!-- 把 AppKey 替换为AppTrace平台分配的appKey -->
<key>cn.apptrace.appKey</key>
<string>AppKey</string>

三、初始化插件 ​

在 App.uvue 文件的 onLaunch 函数中添加下面所示的初始化相关代码

typescript
import { AppTraceInfo, ApptraceModule } from '@/uni_modules/unix-apptrace';

onLaunch: function () {
  // 初始化插件
  ApptraceModule.startInitSDk(true);

  // 注册唤醒回调
  ApptraceModule.registerWakeUp((result : AppTraceInfo) => {
      let wakeUpData = JSON.stringify(result);
      console.log('唤醒参数:', wakeUpData);
  });
}

四、功能集成 ​

1、获取应用安装时携带的参数 ​

在 APP 需要安装参数时(由 web 网页中传递过来的,如邀请码、游戏房间号等动态参数),调用 getInstall 函数,在回调中获取参数

typescript
import { AppTraceInfo, ApptraceModule } from '@/uni_modules/unix-apptrace';

ApptraceModule.getInstall((appInfo : AppTraceInfo) => {
    console.log("获取到安装参数:" + JSON.stringify(appInfo);
});

2、获取一键拉起携带的参数 ​

2.1 开启一键拉起功能 ​

iOS 开启

登录 AppTrace 的管理后台,找到 iOS 集成配置,开启相关功能,参考下图所示。其中 Team Id 可以在 Apple 开发者后台查看。

Android 开启

登录 AppTrace 的管理后台,找到 Android 集成配置,开启相关功能,参考下图所示。

2.2 代码配置 ​

iOS 配置

开启 Associated Domains 服务

找到插件中 app-ios 目录下的 UTS.entitlements 文件,把 applinks:applink-{appkey}.apptrace.cn 替换为 AppTrace 平台分配的关联域名

html
<!-- 把applinks:applink-{appkey}.apptrace.cn替换为AppTrace平台分配的关联域名 -->
<key>com.apple.developer.associated-domains</key>
<array>
    <string>applinks:applink-{appkey}.apptrace.cn</string>
</array>

Android 配置

找到插件中 app-android 目录下的 AndroidManifest.xml 文件, 把apptr{appkey}替换为AppTrace分配的Scheme

html
<!-- 把apptr{appkey}替换为AppTrace分配的Scheme -->
<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="apptr{appkey}"/>
</intent-filter>

2.3 代码集成 ​

在项目中找到 App.uvue 文件,在 onShow(options:OnShowOptions):void 函数中按照下方所示添加对应的代码,调用 registerWakeUp 函数,在回调中获取参数

typescript
import { AppTraceInfo, ApptraceModule } from '@/uni_modules/unix-apptrace';

onLaunch: function () {
  // 初始化插件
  ApptraceModule.startInitSDk(true);

  // 注册唤醒回调
  ApptraceModule.registerWakeUp((result : AppTraceInfo) => {
      let wakeUpData = JSON.stringify(result);
      console.log('唤醒参数:', wakeUpData);
  });
}

onShow(options : OnShowOptions) : void {
    // #ifdef APP-IOS
    if (null != options.appLink) {
        ApptraceModule.handleUniversalLinkOrScheme(options.appLink!)
    }
    // #endif
  
    // #ifdef APP-ANDROID
    if (null != options.appScheme) {
        ApptraceModule.handleUniversalLinkOrScheme(options.appScheme!)
    }
    // #endif
}