上次发文介绍了已推广神器-shareinstall,很多博客的程序员问我如何使用这个东西,今天在这里给大家分享一下教程?
dependencies {
compile(name: 'ShareInstall_1.0.5', ext: 'aar')
}
repositories {
flatDir {
dirs 'libs'
}
}
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<meta-data
android:name="com.shareinstall.APP_KEY"
android:value="F6BKAREBHF22EB"/>
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;
}
}
// 调用注册接口
ShareInstall.getInstance().reportRegister();
<application
android:name=".MyApplication"
android:allowBackup="false"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
</application>
<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="dekf0466" />
</intent-filter>
</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="dekf0466"/>
</intent-filter>
</activity>
ShareInstall.getInstance().getInfo(intent, new AppGetInfoListener() {
@Override
public void onGetInfoFinish(String info) {
Log.d("ShareInstall", "info = " + info);
}
});
public class WakeUpActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_wake_up);
// 获取唤醒参数
ShareInstall.getInstance().getInfo(getIntent(), listener);
}
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
// 此处要调用,否则app在后台运行时,会无法截获
ShareInstall.getInstance().getInfo(intent, listener);
}
private AppGetInfoListener listener = new AppGetInfoListener() {
@Override
public void onGetInfoFinish(String info) {
Log.d("ShareInstall", "info = " + info);
}
};
其实步骤很简单,似乎他们官网也出了类似教程,www.shareinstall.com
作为个合格的程序员,赶紧给身边的产品狗、运营猫和大boss推荐一下这个吧