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

Firebase Cloud Messaging (FCM) 是一种跨平台消息传递解决方案,您可以使用它免费且可靠地传递消息和通知。(旧版 Google Cloud Messaging(GCM))。新版本的FCM官方只支持Android Studio工程,Eclipse项目需要稍微手动改造下。

官方的示例:
https://github.com/firebase/quickstart-android
只需要编译 messaging 项目即可。编译运行测试,确保能正确收到 FCM 消息。

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 相关继承类到新建工程中。

**

运行调试

**

参考:
https://developers.google.com/cloud-messaging/
https://firebase.google.com/docs/cloud-messaging/

你可能感兴趣的:(android,FCM,GCM,AS)