shareinstall安卓集成方法

本文档详细介绍了如何在Android应用中集成ShareInstall SDK,包括导入SDK、设置权限、统计注册、一键跳转、个性化安装以及判断首次调用的方法。确保按照步骤操作,以实现从网页到应用的无缝跳转和数据追踪。
摘要由CSDN通过智能技术生成

5.1安卓集成

1、导入SDK

SDK优先提供aar包,如需jar包,请联系客服 把下载的ShareInstallSdk.zip文件解压,将ShareInstall_x.x.x.aar文件拷贝到项目的libs文件夹中,并在当前项目下的build.gradle文件中导入(注:不是项目的根目录build.gradle文件)

dependencies {
compile(name: ‘ShareInstall_1.2.1’, ext: ‘aar’)
}
(注:导入aar前需检查当前项目下的build.gradle文件中(不是项目的根目录build.gradle文件),android标签下是否已经加入以下代码,否则会报错)
repositories {
flatDir {
dirs ‘libs’
}
}
2、基础配置

在AndroidMainfest.xml中添加权限声明。

在AndroidMainfest.xml中的application标签中添加分配给你应用的Appkey 在自定义Application中调用ShareInstall.getInstance().init(context)方法完成SDK初始化,初始化前先判断当前进程是否是应用的主进程。 public class MyApp extends Application {
@Override
public void onCreate() {
    super.onCreate();
    if (isMainProcess()) {
        ShareInstall.getInstance().init(getApplicationContext());
    }
}

/**
* 判断当前进程是否是应用的主进程
*
* @return
*/
public boolean isMainProcess() {
int pid = android.os.Process.myPid();
ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
for (ActivityManager.RunningAppProcessInfo appProcess : activityManager.getRunningAppProcesses()) {
if (appProcess.pid == pid) {
return getApplicationInfo().packageName.equals(appProcess.processName);
}
}
return false;
}
}
如需统计每个渠道的注册量(对评估渠道质量很重要),可根据自身的业务规则,在确保用户完成 app 注册的情况下调用以下方法: 注意该方法要在ShareInstall.getInstance().init (context)方法之后调用,否则会抛异常。
// 用户注册成功后调用注册接口
ShareInstall.getInstance().reportRegister();
在AndroidMainfest.xml中的application标签中添加android:name=".MyApplication"指定自定义的Application类,以便程序启动的时候初始化自定义Application类,而不是系统默认的Application类。


3、一键跳转

在AndroidMainfest的唤醒页面activity标签中添加intent-filter(一般为MainActivity),配置scheme,用于浏览器中拉起。









注:如果唤醒页面和启动页是同一Activity,则AndroidMaifest.xml的配置如下。












4、个性化安装

在APP需要个性化安装参数时(由web网页中传递过来的,如邀请码、游戏房间号等 自定义参数),调用以下方法,在回调中获取参数(该方法可重复调用)。

// 注意:SDK调用getInstallParams方法获取参数是异步操作,请确保在onGetInstallFinish回调中拿到参数后才去处理自己的业务逻辑

ShareInstall.getInstance().getInstallParams(new AppGetInstallListener() {
@Override
public void onGetInstallFinish(String info) {
// 客户端获取到的参数是json字符串格式
Log.d(“ShareInstall”, "info = " + info);
try {
JSONObject object = new JSONObject(info);
// 通过该方法拿到设置的渠道值,剩余值为自定义的其他参数
String channel = object.optString(“channel”);
Log.d(“ShareInstall”, "channel = " + channel);
} catch (JSONException e) {
e.printStackTrace();
}
}
});
5、在配置了ShareInstall scheme的拉起页面中调用下面相关代码,获取从网页H5页面传过来的动态参数

public class WakeUpActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_wake_up);
    // 获取唤醒参数
    ShareInstall.getInstance().getWakeUpParams(getIntent(), wakeUpListener););
}

@Override
protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    // 此处要调用,否则app在后台运行时,会无法截获
    ShareInstall.getInstance().getWakeUpParams(intent, wakeUpListener);
}
// 注意:SDK调用AppGetWakeUpListener方法获取参数是异步操作,请确保在onGetWakeUpFinish回调中拿到参数后才去处理自己的业务逻辑
private AppGetWakeUpListener wakeUpListener  = new AppGetWakeUpListener() {
    @Override
    public void onGetWakeUpFinish(String info) {
        // 客户端获取到的参数是json字符串格式
        Log.d("ShareInstall", "info = " + info);
        try {
                JSONObject object = new JSONObject(info);
                 // 通过该方法拿到设置的渠道值,剩余值为自定义的其他参数
                String channel = object.optString("channel");
                Log.d("ShareInstall", "channel = " + channel);
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
};

6、判断是否首次调用

SDK提供一个判断是否是首次调用的方法,接入方可根据需求是否需要或者自行判断
ShareInstall.getInstance().isFirstInstall()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值