在生成通知时传递不同的通知ID
FCM通知打开第二个通知时第二次获得相同的数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FCM通知打开第二个通知时第二次获得相同的数据相关的知识,希望对你有一定的参考价值。
我正在使用某些服务器代码发送通知。我知道有不同的方法和技术来处理背景和前景通知。在两种情况下均能完美交付。但是一些额外的普通情况存在一些问题:
!!)将通知和数据发送到设备。
2)从设备接收它,并按照“ click_action”提及将其打开,将其打开。
这里是click_action
的android清单中的代码:
<activity
android:name=".activity.VideoNotificationActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:excludeFromRecents="true"
android:hardwareAccelerated="true"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:taskAffinity=""
android:theme="@style/AppTheme.DarkStatusBar">
<intent-filter>
<action android:name="VideoDetailsActivity" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
因此,此活动根据click_action : VideoDetailsActivity
成功打开了>
这里是此类背景条件的获取数据代码:
val bundle = intent.extras if (bundle != null) { isNotification = true mVideoData = Gson().fromJson(bundle.getString(Globals.videoObject), ModelVideoList::class.java) as ModelVideoList }
此视频数据获取并成功播放视频之后。但是在某些情况下:
3)最小化应用程序(我不会从此屏幕上走到任何地方。只需触摸最小化应用程序按钮!)。]
4)从服务器发送具有不同数据的第二条通知!并成功接收。
5)单击该通知并打开相同的屏幕,但是数据是先前视频的(意味着我单击的第二条通知数据没有获得,因此我正在获得先前通知的旧数据!]]] >> 所以,我的情况是,如果用户最小化打开的通知屏幕的应用程序,并收到使用相同的旧数据打开的具有不同数据的第二次通知,该怎么办?!
这里是我要发送的数据:
{ "title": "New video added!", "body": "Tap here to see a video!", "click_action": "VideoDetailsActivity", "icon": "ic_notification", "color": "#CD201F", "tag": "video_of_the_day", "sound": "sound.mp3", "notification_type": "video_of_the_day", "data": { "id": 20, "title": "abcd", "video": "abcd.mp4", "video_webm": "abcd.webm", "height": 960, "width": 540, "thumbnail": "abcd.jpg", "created": 4124, "created_at": "2019-07-05 11:09:10", "updated_at": "2019-12-13 07:17:18", "video_url": "video_link", "is_new": false }, "android_channel_id": "Video" }
我正在使用某些服务器代码发送通知。我知道有不同的方法和技术来处理背景和前景通知。在两种情况下均能完美交付。但是有一些...
答案
在生成通知时传递不同的通知ID
以上是关于FCM通知打开第二个通知时第二次获得相同的数据的主要内容,如果未能解决你的问题,请参考以下文章
如果第一个通知在 swift 中被忽略,则安排第二个通知(或者如果通知被忽略,则完成任何操作)