Android集成指南

一、安装SDK

方式一:MavenCentral(推荐) 找到主项目的build,确保包含 mavenCentral(), 如:

    repositories {
        google()
        // 其他... 
        mavenCentral() // 重要!!
    }

然后再在dependencies一栏中添加:

dependencies {
    // 其他... 
    implementation 'com.sharetrace:sharetrace-android-sdk:2.1.7'
}

方式二:手动集成

前往下载页下载最新版的Android SDK 。前往下载

从下载的 ShareTraceSDK 压缩包中,将 sharetrace 的 aar 文件复制到app module目录下的libs文件夹中, 然后打开app module目录下的build.gradle配置文件,在android一栏中添加依赖:

repositories {
    flatDir {
        dirs 'libs'
    }
}

然后再在dependencies一栏中添加:


implementation(name: 'sharetrace-android-sdk_v2.1.7', ext: 'aar')

二、配置 APP_KEY

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

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

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

三、初始化ShareTrace

App 启动时,请调用 SDK 初始化方法进行初始化,在初始化之前其他方法均无法调用。

ShareTrace.init(context);

注意:

  1. 首次启动,确保用户同意《隐私政策》之后,再初始化 ShareTrace SDK;
  2. 为了保护用户隐私,从 2.1.7 开始, SDK 中不再获取进程列表信息判断主进程,请您确保仅在主进程的UI线程中调用初始化方法,多进程调用可能会导致获取参数失败;

SDK 在初始化时默认会读取剪切板信息,剪切板有助于提高获取安装参数的精准度,如果您确定不使用剪切板提高精准度,可以在初始化之前关闭剪切板的读取。

ShareTrace.disableClipboard();  
ShareTrace.init(context);

四、获取安装携带的参数

当 APP 需要获取安装参数时(由 web 网页中传递过来的,如邀请码、用户id、来源网页等动态参数),调用ShareTrace.getInstallTrace方法,在回调方法中获取相应参数。

ShareTrace.getInstallTrace(new ShareTraceInstallListener() {
    @Override
    public void onInstall(AppData data) {
        Log.i(TAG, "appData=" + data.toString());
    }

    @Override
    public void onError(int code, String msg) {
        Log.e(TAG, "Get install trace info error. code=" + code + ",msg=" + msg);
    }
});

注意: 该方法可以重复调用,请处理好反复调用的逻辑。

五、控制台 Android 配置

打开官网控制台进入对应应用的 Android配置,点击去集成

Android 配置

如果Android已经集成了SDK,可以直接点击我已集成,下一步按钮,如果还没有集成可以按照文档完成集成:

下一步

根据自己需要在该页面配置安装方式,一般apk的安装包都是放在了CDN上面,可以选择自定义链接

安装方式

安装方式说明:

  • (1)自定义链接地址:即是你APP的安装包下载链接,如果你的安装包在自己的CDN上可以选择该项。
  • (2)应用市场:填写应用包名即可,会自动打开应用市场下载,如果你的应用已经上架了应用市场可以选择该项。
  • (3)平台托管:将你APP的安装上传到ShareTrace平台,你的用户下载时,直接从ShareTrace服务器下载,托管在ShareTrace服务器需要审核APP,托管可以提高获取参数的准确度。
  • (4)暂不配置:只用于本地测试,适合在没有配置web SDK的情况下使用,在上线之前一定要修改为其他三种安装方式。

六、一键调起

6.1 开启一键调起功能

登录Sharetrace的管理后台,找到Android配置,开启相关功能

5_android_scheme_on.png

6.2 Scheme配置

打开项目中AndroidManifest.xml文件,找到项目的需要被调起的Activity, 参考以下配置Scheme:

6.2.1 被调起的目标Activity配置
    <activity
        android:name=".MainActivity"
        android:launchMode="singleTask">

        <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>
6.2.2 如果被调起的目标Activity和启动页为同一个
    <activity
        android:name=".MainActivity"
        android:launchMode="singleTask">
        <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>

其中Sharetrace分配的Scheme请到Sharetrace管理后台查看

6.3 获取一键调起参数

public class MainActivity extends AppCompatActivity {

    private ShareTraceWakeUpListener wakeUpListener = new ShareTraceWakeUpListener() {
        @Override
        public void onWakeUp(AppData data) {
            Log.e("sharetrace", "appData=" + (data == null ? null : data.toString()));
        }
    };

    @Override
    protected void onNewIntent(Intent intent) {
        super.onNewIntent(intent);
        // 应用在后台被调起来时获取一键调起参数
        ShareTrace.getWakeUpTrace(intent, wakeUpListener);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ShareTrace.getWakeUpTrace(getIntent(), wakeUpListener);
    }
}

七、测试集成

sharetrace 提供在线测试的功能,方便测试集成是否成功。在线测试分为线上体验开发测试

测试入口

7.1 线上体验:

用于测试线上流程是否正确,使用线上测试,填入自定义参数,扫描二维码,在下载页面点击安装,将按照在 sharetrace 后台配置的安装方式进行跳转或下载,如果安装方式配置设置的是暂不配置,请不要使用线上测试。

线上体验

扫描二维码:

线上体验下载页

7.2 开发测试:

用于在开发测试阶段,测试SDK集成配置是否成功。使用开发测试,填入自定义参数,扫描二维码,在下载页面点击模拟下载

开发测试

扫描二维码:

开发体验下载页

7.3 本地安装APP

通过开发工具或者从本地重新安装App(必须卸载重新安装,否则可能获取到的是旧数据),打开App查看获取参数。

results matching ""

    No results matching ""