shareinstall之Android SDK整合

來源:互聯網
上載者:User

標籤:OLE   override   service   而不是   state   protected   equal   監聽   single   

提示:以下代碼(配置)由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 {

@Overridepublic 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類。

android:allowBackup="false"
android:icon="@mipmap/ic_launcher"
application
android:name=".MyApplication"
android:allowBackup="false"
android:icon="@mipmap/ic_launcher"
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() {br/>@Override
Log.d("ShareInstall", "info = " + info);
}
});

五、喚醒頁面擷取資訊

public class WakeUpActivity extends AppCompatActivity {

@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_wake_up);    // 擷取喚醒參數    ShareInstall.getInstance().getInfo(getIntent(), listener);}@Overrideprotected 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);    }};

shareinstall之Android SDK整合

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.