網(wǎng)易云信專業(yè)版集成總結(jié)(Android版)

首先,本文只講述Android Studio集成方法。
1.在項(xiàng)目級的build.gradle中這樣(其實(shí)默認(rèn)就這樣)

allprojects {
    repositories {
        jcenter() // 或者 mavenCentral()
    }
}

2.在你的主modle的build.gradle中這樣

android {
   defaultConfig {
       ndk {
           //設(shè)置支持的SO庫架構(gòu)
           abiFilters "armeabi-v7a", "x86","arm64-v8a","x86_64"
        }
   }
}

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    // 添加依賴。注意,版本號必須一致。
    // 基礎(chǔ)功能 (必需)
    compile 'com.netease.nimlib:basesdk:3.9.0'
    // 音視頻需要
    compile 'com.netease.nimlib:avchat:3.9.0'
    // 聊天室需要
    compile 'com.netease.nimlib:chatroom:3.9.0'
    // 實(shí)時會話服務(wù)需要
    compile 'com.netease.nimlib:rts:3.9.0'
    // 全文檢索服務(wù)需要
    compile 'com.netease.nimlib:lucene:3.9.0'
}

3.在你的AndroidManefest.xml文件中這樣

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
       package="xxx">

    <!-- 權(quán)限聲明 -->
    <!-- 訪問網(wǎng)絡(luò)狀態(tài)-->
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <!-- 控制呼吸燈,振動器等,用于新消息提醒 -->
    <uses-permission android:name="android.permission.FLASHLIGHT" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <!-- 外置存儲存取權(quán)限 -->
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

    <!-- 多媒體相關(guān) -->
    <uses-permission android:name="android.permission.CAMERA"/>
    <uses-permission android:name="android.permission.RECORD_AUDIO"/>
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>

    <!-- 如果需要實(shí)時音視頻通話模塊,下面的權(quán)限也是必須的。否則,可以不加 -->
    <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
    <uses-permission android:name="android.permission.BROADCAST_STICKY"/>
    <uses-feature android:name="android.hardware.camera" />
    <uses-feature android:name="android.hardware.camera.autofocus" />
    <uses-feature android:glEsVersion="0x00020000" android:required="true" />

    <!-- SDK 權(quán)限申明, 第三方 APP 接入時,請將 com.netease.nim.demo 替換為自己的包名 -->
    <!-- 和下面的 uses-permission 一起加入到你的 AndroidManifest 文件中。 -->
    <permission
        android:name="com.netease.nim.demo.permission.RECEIVE_MSG"
        android:protectionLevel="signature"/>
    <!-- 接收 SDK 消息廣播權(quán)限, 第三方 APP 接入時,請將 com.netease.nim.demo 替換為自己的包名 -->
     <uses-permission android:name="com.netease.nim.demo.permission.RECEIVE_MSG"/>

    <application
        ...>
        <!-- APP key, 可以在這里設(shè)置,也可以在 SDKOptions 中提供。
            如果 SDKOptions 中提供了,取 SDKOptions 中的值。 -->
        <meta-data
            android:name="com.netease.nim.appKey"
            android:value="key_of_your_app" />

        <!-- 聲明網(wǎng)易云通信后臺服務(wù),如需保持后臺推送,使用獨(dú)立進(jìn)程效果會更好。 -->
        <service 
            android:name="com.netease.nimlib.service.NimService"
            android:process=":core"/>

       <!-- 運(yùn)行后臺輔助服務(wù) -->
        <service
            android:name="com.netease.nimlib.service.NimService$Aux"
            android:process=":core"/>

        <!-- 聲明網(wǎng)易云通信后臺輔助服務(wù) -->
        <service
            android:name="com.netease.nimlib.job.NIMJobService"
            android:exported="true"
            android:permission="android.permission.BIND_JOB_SERVICE"
            android:process=":core"/>

        <!-- 網(wǎng)易云通信SDK的監(jiān)視系統(tǒng)啟動和網(wǎng)絡(luò)變化的廣播接收器,用戶開機(jī)自啟動以及網(wǎng)絡(luò)變化時候重新登錄,
            保持和 NimService 同一進(jìn)程 -->
        <receiver android:name="com.netease.nimlib.service.NimReceiver"
            android:process=":core"
            android:exported="false">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED"/>
                <action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
            </intent-filter>
        </receiver>

        <!-- 網(wǎng)易云通信進(jìn)程間通信 Receiver -->
        <receiver android:name="com.netease.nimlib.service.ResponseReceiver"/>

        <!-- 網(wǎng)易云通信進(jìn)程間通信service -->
        <service android:name="com.netease.nimlib.service.ResponseService"/>

        <!-- 安卓?;钆渲?-->
        <service
            android:name="com.netease.cosine.core.CosineService"
            android:process=":cosine">
        </service>

        <receiver
            android:name="com.netease.cosine.target.CosineReceiver"
            android:exported="true"
            android:process=":cosine">
        </receiver>

        <meta-data
            android:name="com.netease.cosine.target"
            android:value=""/>
        <meta-data
            android:name="com.netease.cosine.target.receiver"
            android:value="com.netease.nimlib.service.NimReceiver"/>

    </application>
</manifest>

4.在你的混淆文件(proguard-rules.pro)中這樣

-dontwarn com.netease.**
-keep class com.netease.** {*;}
#如果你使用全文檢索插件,需要加入
-dontwarn org.apache.lucene.**
-keep class org.apache.lucene.** {*;}

5.把demo中的uikit作為module引入你的工程

操作圖1
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容