Google推送的集成使用介绍
Google在2016年I/O大会上,宣布了全新的Firebase,Google推送服务也停止更新,全面集成到FireBase中。下面简要介绍下Android端firebase推送的使用:
1、首先登陆Firebase官网
理所当然,你需要学习科学上网。
官网地址: https://firebase.google.com/
2、登陆google账号
没有的可以在官网进行免费注册,注册步骤这里就不赘述了。
3、创建项目
如图所示:起一个项目名地区可以选择美国等有google服务的地区
1.png4、创建项目后,创建应用
如下图所示:创建一个你准备使用推送功能的Android应用
2.png 3.png这里,需要获取到SHA1,详细说下SHA1的获取步骤:
(1) 这里使用的是JRE中的keytool,首先,在JRE安装文件夹bin目录下找到keytool.exe,以管理员模式运行。
(2) 打开windows的cmd.exe,键入
4.png注意:路径要根据自己的.android文件夹的位置进行调整
(3) 默认的Android Studio的keystore的密令是android
(4) 键入密令后获得SHA1
5.png5、点击添加应用
点击之后会自动下载一个名称为google-services.json的文件,这个是和应用关联的配置文件。这个文件要放置到模块的根目录下:
6.png6、进行项目环境的配置
首先,在项目的build.gradle文件添加一条规则,以包含Google服务插件:
7.png然后,在app(或需要使用的模块中)的build.gradle文件中,在底部添加 apply plugin 行,以启动Gradle插件,同时还应该为自己需要实用的功能添加依赖,如下图中,添加了firebase的Analytics框架。如果是要使用推送功能,应该添加
compile ‘com.google.firebase:firebase-messaging:9.6.1’ (注意:此版本可能不是最新,建议查看官方)
8.png7、添加代码,处理消息
AppFireBaseInstanceIDService是用来获取设备token上传给你自己的服务器的,服务器拿着token去给FireBase的平台传送需要推的消息。 AppFirebaMessagingService是用来处理前台消息的。这里特别说明下,谷歌推送将推送消息分为两种:一种是你的app运行在前台时,一种是你的app运行在后台或关闭时。
9.png 10.png
8、特别注意
1、想要保证firebase能够正常集成到app中,就需要保证你的手机一定要有google play service,并且版本要高于sdk的版本或者相同。这个可以到Google商店里去下载安装。
2、在第7项展示的代码中仅包含了app处于前台时的推送消息的处理,关于后台消息的处理,可以参考: https://firebase.google.com/docs/notifications/android/console-device
3、如果你需要点击推送后跳转到特定界面,你可以在消息负载notification中添加一个click_action字段(需要在服务器端进行设置)。然后将其映射至你想启动的 Activity 中的 Intent 过滤器。例如,将 click_action 设为 OPEN_ACTIVITY_1 会触发类似于如下的 Intent 过滤器:
<intent-filter>
<action android:name="OPEN_ACTIVITY_1" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
有关服务器端推送消息语法可以参考下面链接中的表1:
https://firebase.google.com/docs/cloud-messaging/http-server-ref#notification-payload-support
4、如果想要在后台消息中显示应用图标,而不是使用默认显示,这同样需要在服务器端的消息负载notification中添加一个icon字段和color字段,同时,还需要在app的manifest文件中指明图标:
<meta-data
android:name="com.google.firebase.messaging.default_notification_icon"
android:resource="@drawable/ic_alpha_logo"
....
5、当然,最最重要的一点,你的手机已经科学上网,科学上网,科学上网!