dependencies { implementation files('libs/OpenInstall_v2.3.0.jar') }
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<meta-data android:name="com.openinstall.APP_KEY" android:value="******"/>
@Override public void onCreate() { super.onCreate(); if (isMainProcess()) { openInstall(); } }
//判断是否是主进程 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; }
<application
android:name=".TestApplication"
/>
private void openInstall() { //初始化 OpenInstall.init(this); //携带参数安装 OpenInstall.getInstall(new AppInstallAdapter() { @Override public void onInstall(AppData appData) { Log.d(TAG, "appData=" + appData); //获取渠道数据 channelCode = appData.getChannel(); //获取自定义数据 try { duanzishou = new JSONObject(appData.getData()).optString("duanzishou"); } catch (JSONException e) { e.printStackTrace(); } } }); }
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); OpenInstall.getWakeUp(getIntent(), wakeUpAdapter); } @Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); // 此处要调用,否则App在后台运行时,会无法截获 OpenInstall.getWakeUp(intent, wakeUpAdapter); } AppWakeUpAdapter wakeUpAdapter = new AppWakeUpAdapter() { @Override public void onWakeUp(AppData appData) { //获取渠道数据 String channelCode = appData.getChannel(); //获取绑定数据 String bindData = appData.getData(); Log.d("appData", "getWakeUp : wakeupData = " + appData.toString()); } }; @Override protected void onDestroy() { super.onDestroy(); wakeUpAdapter = null; }
<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="******"/> </intent-filter>
//用户注册成功后调用OpenInstall.reportRegister();