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);
注意:
- 首次启动,确保用户同意《隐私政策》之后,再初始化 ShareTrace SDK;
- 为了保护用户隐私,从 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已经集成了SDK,可以直接点击我已集成,下一步
按钮,如果还没有集成可以按照文档完成集成:
根据自己需要在该页面配置安装方式,一般apk
的安装包都是放在了CDN上面,可以选择自定义链接
:
安装方式说明:
- (1)自定义链接地址:即是你APP的安装包下载链接,如果你的安装包在自己的CDN上可以选择该项。
- (2)应用市场:填写应用包名即可,会自动打开应用市场下载,如果你的应用已经上架了应用市场可以选择该项。
- (3)平台托管:将你APP的安装上传到ShareTrace平台,你的用户下载时,直接从ShareTrace服务器下载,托管在ShareTrace服务器需要审核APP,托管可以提高获取参数的准确度。
- (4)暂不配置:只用于本地测试,适合在没有配置web SDK的情况下使用,在上线之前一定要修改为其他三种安装方式。
六、一键调起
6.1 开启一键调起功能
登录Sharetrace的管理后台,找到Android配置,开启相关功能
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查看获取参数。