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();