您好,登錄后才能下訂單哦!
提示:以下代碼(配置)由shareinstall根據當前應用動態生成,開發者可直接使用;按照以下步驟指引,10分鐘即可完成Android SDK集成。
一、導入SDK
Android SDK 下載 v1.0.6 http://api.shareinstall.com/download/1.0.6/android
Android DEMO 下載 v1.0.6 http://api.shareinstall.com/download/1.0.6/androiddemo
從下載的ShareInstallSdk.zip文件中,將aar文件拷貝到項目的libs文件夾中,并導入
dependencies {
compile(name: 'ShareInstall_1.0.5', ext: 'aar')
}
(注:導入aar需檢查build文件中是否已經加入以下代碼,否則會報錯)
repositories {
flatDir {
dirs 'libs'
}
}
二、基礎配置
在AndroidMainfest.xml中添加權限聲明。
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
在AndroidMainfest.xml中的application標簽中添加分配給你應用的Appkey
<meta-data
android:name="com.shareinstall.APP_KEY"
android:value="K2BK7B6HH7F7R2"/>
在自定義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;
}
}
如果使用ShareInstall控制中心提供的注冊統計功能,可調用方法ShareInstall.getInstance().reportRegister(); 注意該方法要在ShareInstall.getInstance().init (context)方法之后調用,否則會拋異常。
// 調用注冊接口
ShareInstall.getInstance().reportRegister();
在AndroidMainfest.xml中的application標簽中添加android:name=".MyApplication"指定自定義的Application類,以便程序啟動的時候初始化自定義Application類,而不是系統默認的Application類。
<applicationandroid:name=".MyApplication"
android:allowBackup="false"
android:icon="@mipmap/ic_launcher"
br/>android:name=".MyApplication"
android:allowBackup="false"
android:icon="@mipmap/ic_launcher"
android:theme="@style/AppTheme">
br/>android:supportsRtl="true"
android:theme="@style/AppTheme">
三、一鍵跳轉
在AndroidMainfest的喚醒頁面activity標簽中添加intent-filter(一般為MainActivity),配置scheme,用于瀏覽器中拉起。
<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="afap0343" />
</intent-filter>
</activity>
注:如果喚醒頁面和啟動頁是同一Activity,則AndroidMaifest.xml的配置如下。
<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="afap0343"/>
</intent-filter>
</activity>
個性化安裝和一鍵喚醒都調用同一個方法ShareInstall.getInstance().getInfo()獲取相關信息,第一個參數為Intent(注:Intent可傳null,但在配置了scheme喚醒的頁面必須傳,否則拿不到傳遞過來的參數),第二個參數為信息回調監聽
四、個性化安裝
在APP需要個性化安裝參數時(由web網頁中傳遞過來的,如邀請碼、游戲房間號等 自定義參數),調用以下方法,在回調中獲取參數。
ShareInstall.getInstance().getInfo(intent, new AppGetInfoListener() {@Override
br/>@Override
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);
}
};
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。