大家,我使用firebase从服务器接收推送通知。应用程序运行时一切正常。我收到通知,我处理它并通过通知托盘显示。似乎很完美。这是我的代码。
public class FirebasePushService extends FirebaseMessagingService {
private static final String TAG = "FireBase main service ";
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
Log.d(TAG, "Got Message: " + remoteMessage.getFrom());
try {
if (remoteMessage != null && remoteMessage.getNotification() != null
&& remoteMessage.getNotification().getBody() != null) {
String body = remoteMessage.getNotification().getBody();
Log.d(TAG, "From: " + remoteMessage.getFrom());
Log.d(TAG, "Notification Message Body: " + body );
}
} catch (JSONException e) {
e.printStackTrace();
}
}}
清单代码。
<service android:name="app.asparagus.com.asparagus.firebase.FirebasePushService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
。问题是申请何时关闭。没有这个类的日志工作,没有。但这是有趣的部分。我可以从服务器看到整个JSON,它显示在通知托盘上(显示整个JSON对象)。真的没有弄错我的代码。检查图像。 1-成功案例。
答案 0 :(得分:0)
答案 1 :(得分:0)
很抱歉迟到的回复我找到了解决方案,以防其他人有问题。这是来自firebase文档。 消息类型
使用FCM,您可以向客户发送两种消息:
通知消息,有时被视为&#34; 显示消息。&#34;
Data messages
,由客户端应用处理。
通知消息包含一组预定义的用户可见键。相反,数据消息仅包含自定义键值对。 通知消息可以包含用户点击通知时提供的可选数据有效内容。
使用方案
通知消息 FCM代表客户端应用自动向最终用户设备显示消息。通知消息具有一组预定义的用户可见键和自定义键值对的可选数据有效负载。
如何发送 在受信任的环境(如Cloud Functions或您的应用服务器)中,使用Admin SDK或HTTP和XMPP API:设置通知密钥。可能有可选的数据负载。总是可折叠的。 使用通知编辑器:输入消息文本,标题等,然后发送。通过提供自定义数据添加可选数据负载。总是可折叠的。
使用方案
数据消息客户端应用负责处理数据消息。数据消息只有自定义键值对。 在受信任的环境(如云功能或您的应用服务器)中,使用Admin SDK或HTTP和XMPP API:仅设置数据密钥。可以是可折叠的,也可以是不可折叠的。