3.2 在配置了 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();
}
}
};
3.3 判断是否首次调用
SDK 提供一个判断是否是首次调用的方法,一般情况在首次安装的时候调用获取安装参数的方法(getInstallParams),在非首次安装时调用获取唤醒参数的方法(getWakeUpParams) 。 接入方可根据自己的场景确定是否使用该方法。
3.4 清除监听 Listener
ShareInstall.getInstance().clearAppGetWakeUpListener()
ShareInstall.getInstance().clearAppGetInstallListener()