1. 程式人生 > >環信自學 實現通話功能心得—Eclipse篇

環信自學 實現通話功能心得—Eclipse篇

因為公司專案需要,在短時間內要整合環信,並用他完成專案裡面的即時通訊功能(語音和視訊聊天),本人也就相當於是一個安卓初級工程師,所以在那段暗無天日的日子裡,自己對環信瞭解了一點,在這裡想和大家分享一下,不足之處真心希望大家指教!

環信的整合

剛剛聽到整合的時候感覺說不出來的高大上,以為要怎麼怎麼樣。誰知道也就是把環信的一些SDK包和許可權,還有一些服務什麼的在你的專案裡面配置好!

第一步:去環信官網上下載你所需要的環信SDK的版本,他現在主要分2.X和3.X版本,這兩個版本其實區別還是蠻大的,特別是對於開發來說,也不要有3.X版本的功能一定比2.X的功能多的這個誤區,相鋪相成而已。需要語音就3.X版本,不需要語音2.X足夠滿足你的需求!

環信SDK(3.X為例)目錄介紹:

考慮到開發者需求不一樣,在下載的 SDK 中,提供了兩個不同的 jar 包:

  • 一個是 libs 下帶實時語音功能和實時視訊功能的 jar 包和 so 檔案。 (將此資料夾下的所有內容,全部複製在自己的專案裡面libs資料夾下即可
  • 如果你不需要實時語音、實時視訊功能,那就直接用 libs.without.audio 資料夾下的 jar 包及 so 檔案。
在這裡主要介紹後面四個資料夾內容:
  • doc 資料夾:SDK 相關 API 文件
  • examples 資料夾:ChatDemoUI(老的 Demo,不推薦使用)、ChatDemoUI3.0(3.0Demo 依賴 EaseUI 庫)、EaseUI
  • libs 資料夾:包含IM和實時音視訊功能所需要的 jar 和 so 檔案
  • libs.without.audio 資料夾:無實時語音、實時視訊功能的 SDK 包,如果專案中只用到聊天功能,可以把專案裡的 jar 和 so 檔案替換成此資料夾裡的
SDK用到的第三方的庫的介紹
  • android-support-v4.jar:這個可以說是每個 APP 中都是不可缺少的 jar 包,這裡不多贅述
  • google-play-services.jar:GCM 的 jar 包,不需要 GCM 推送可以刪除
  • MiPush_SDK_Client_2_2_19.jar:小米推送的 jar 包,不需要可以刪除
  • org.apache.http.legacy.jar:Android6.0 中預設移除了 httpclient 的程式碼,用這個庫相容,建議不要刪除,否則在 6.0 系統中,SDK 會有問題
EaseUI中用到的第三方的庫 (EaseUI是環信的UI庫,只要依賴了它,就能用裡面所有關於環信的頁面佈局和一些簡單的邏輯 注:前提EaseUI裡面得有、)
  • glide-3.6.1.jar:圖片處理庫,顯示使用者頭像時用到
  • BaiduLBS_Android.jar:百度地圖的 jar 包,相關 so 還有 libBaiduMapSDK_base_v3_6_1.so、libBaiduMapSDK_map_v3_6_1.so、libBaiduMapSDK_util_v3_6_1.so 及 liblocSDK6a.so。如果不用百度可以把這些刪除掉,刪除掉後項目會報錯,修改相應的報錯(報錯的程式碼很少,很容易就修改完成)
環信DEMO中用到的第三方的庫
  • android-support-multidex.jar:APP 總方法數超過 64k 時,需要用這個庫做分包處理,可以刪除
  • bolts-android-1.2.0.jar、Parse-1.9.4.jar:Demo 中的使用者資訊儲存在 Parse,這兩個庫是 Parse 所需要的庫,開發者如果沒用 Parse 儲存,不要複製到自己專案中
  • umeng-analytics-v5.2.4.jar、umeng-update-v2.6.0.1.jar:友盟相關的庫,開發者不用或者已有別的版本的庫不要複製到自己專案
第二步:將官網上面的配置資訊copy過來

在清單檔案 AndroidManifest.xml 里加入以下許可權,以及寫上你註冊的 AppKey。

許可權配置(實際開發中可能需要更多的許可權,可參考 Demo):

<?xml version="1.0" encoding="utf-8"?>