FCM Android块被忽略



这是我的有效载荷。当我发送它时,我可以收到通知,但是 click_action 被忽略并启动启动器活动。但是,当我将" click_action"放置时,在通知块中工作。为什么 Android Block 被忽略了?

{
"to": "my tocken",
"data": {
    "url": "dfhdfh",
    "action": "fhdfg",
},
"notification": {
    "title": "dfgsdfg",
    "body": "dfgdg"
},
"android": {
    "notification": {
        "click_action": "NOTIFICATION_ACTIVITY"
    }
}

}

firebase推送通知中有三种类型的消息

  • 通知消息
  • 数据消息
  • 带有通知和数据有效载荷的消息

和在Android方面的这些类型的访问级别彼此不同,因此您需要了解,在实现后端和Android侧的推送通知之前,您需要了解这一点

您可以通过阅读此博客https://www.androidhive.info/2012/10/android-push-notifications-using-google-cloud-cloud-messaging-messaging-gcm-php-and-mysql/

我认为您应该仅发送数据消息,然后在FirebaseMessagingServiceonMessageReceived中,您可以生成自定义通知并从RemoteMessage对象中检索数据。

public class CloudMessagingService extends FirebaseMessagingService {    
    @Override
    public void onMessageReceived(RemoteMessage remoteMessage){
        //Extract data from remote message
        //trigger notification
    }
 }

在数据对象下,您可以拥有多个键值对,用于通知和您要执行的所有其他操作。

还将CloudMessagingService声明为AndroidManifest.xml中的intent-filter的服务为

<service android:name=".fcm.CloudMessagingService">
            <intent-filter>
                <action android:name="com.google.firebase.MESSAGING_EVENT"/>
            </intent-filter>
        </service>

相关内容

  • 没有找到相关文章

最新更新