android中的Firebase推送通知无法正常工作

时间:2017-01-31 13:57:36

标签: android firebase push-notification firebase-cloud-messaging

我使用Firebase在Android中实现了推送通知,并且我正在使用Firebase控制台接收推送通知。但是当我尝试通过发送设备令牌和服务器密钥连接到我的服务器时,我没有收到通知(来自我的服务器)。

我们的服务器端团队已经过测试,并且它正在工作,但我的设备没有收到推送通知(安装了应用的设备),而且我正在接收Firebase的推送通知。

如何连接服务器?是Android中的问题还是创建google-services.json文件?

1 个答案:

答案 0 :(得分:1)

使用Firebase推送通知时,有两种情况可以处理数据有效负载(例如您的活动名称等)。

案例1:当您的应用程序在前台运行时(当前在屏幕上运行),您将从RemoteMessage object方法中获取onMessageReceived(RemoteMessage remoteMessage)的数据有效负载,该方法已在类中重写,必须扩展{{1} }。class。

例如:

FirebaseMessagingService

案例2:当您的应用在后台运行时,您会在应用的启动器public class FirebaseMessagingServiceHelper extends FirebaseMessagingService { private final String TAG = "FirebaseMsgServiceHelper"; @Override public void onMessageReceived(RemoteMessage remoteMessage) { super.onMessageReceived(remoteMessage); Map<String, String> dataPayload = null; dataPayload = remoteMessage.getData(); } } 中将数据有效负载作为附加内容获取。

例如: -

Activity

但当我在protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //get notification data info Bundle bundle = getIntent().getExtras(); if (bundle != null) { //bundle must contain all info sent in "data" field of the notification } } Activity点击Notification Drawer上的通知以及数据有效负载时点击click_action的名称时,这两个案例无法正常工作data

但是当我把数据中的所有内容都放下来时,在i.e.的情况下,无论app是在前台运行还是在后台运行,你的应用都会在RemoteMessage object onMessageReceived(RemoteMessage remoteMessage)中每次都收到数据有效负载。 1}}方法。

以下链接我从哪里得到了想法。  Firebase FCM notifications click_action payload