1. 程式人生 > >整合Firebase Cloud Messaging (FCM)到Eclipse工程

整合Firebase Cloud Messaging (FCM)到Eclipse工程

Firebase Cloud Messaging (FCM) 是一種跨平臺訊息傳遞解決方案,您可以使用它免費且可靠地傳遞訊息和通知。(舊版 Google Cloud Messaging(GCM))。新版本的FCM官方只支援Android Studio工程,Eclipse專案需要稍微手動改造下。

Android Studio編譯的時候會自動修改 AndroidManifest.xml strings.xml 這兩個檔案,增加一些和 FCM 相關的配置,還有AS支援aar格式的庫,這個是Eclipse不支援的,需要轉一下才可以用。其中 play-services-basement 這個庫包含了一份res資源,在初始化的時候lib內部會呼叫到,針對這份資源需要特殊處理,其他的aar直接將jar拿出來就可以了。

檢視 plugin: ‘com.google.gms.google-services’ 的實現方式:

在使用者目錄下
.AndroidStudio2.1\system\jars\google-services-3.0.0-sources.jar.34c9abf4ef817b1c95f0a234f2b45e2cb4494516

會解析google-services.json中的配置檔案插到AndroidManifest.xml strings.xml中。
獲取配置內容的最簡單有效的辦法就是反編譯生成好的APK看看究竟增加了什麼內容。

**

製作Eclipse庫

**
新建一個目錄比如GSM 將 app\build\intermediates\exploded-aar\play-services-basement-9.2.1* 的內容拷貝到GSM下,刪除R.txt和proguard.txt檔案。 新建libs 將jars下的檔案拷貝到libs下面重名成 play-services-basement-9.2.1.jar, 刪除jars資料夾。 新建 project.properties 檔案,內容為:

target=android-22
android.library=true

可更具實際情況調整target版本。

**

使用

**

新建Android工程,匯入GSM,設定新工程的依賴庫為GSM。
新增第一步中反編譯出來的新增內容到 AndroidManifest.xml strings.xml中
拷貝 FirebaseMessagingService FirebaseMessagingService 相關繼承類到新建工程中。

**

執行除錯

**