- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我对 FCM 有疑问,当我收到通知时,我希望它打开特定 Activity ,默认情况下,当我不添加 click_action
时,它会打开应用程序的主要 Activity ,但是当我添加 click_action
并点击通知时,它不会执行任何操作。
这是我在网络服务中使用的 JSON:
{
"registration_ids": [
"f4............LL"
],
"notification": {
"title": "Rebate Confirmation",
"text": "Please Confirm",
"sound": "default",
"click_action": ".Activities.CustomerRebateConfirmation"
},
"data": {
"merchant_id": "20",
"customer_id": "1",
"points": "10",
"totalpoints": "100",
"message": "Please Confirm",
"type": "customer_points_rebate_confirmation"
}
}
这是我的onMessageReceived
方法:
public void onMessageReceived(RemoteMessage remoteMessage) {
Log.e(TAG, "From: " + remoteMessage.getFrom());
customerRebateDetails = new String[5];
// Check if message contains a data payload.
if (remoteMessage.getData().size() > 0) {
Log.e(TAG, "Message data payload: " + remoteMessage.getData());
Log.e(TAG, "Message notification: " + remoteMessage.getNotification().getBody());
String type = remoteMessage.getData().get("type");
String message = remoteMessage.getData().get("message");
String text = remoteMessage.getNotification().getBody();
Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
switch (type){
case "customer_points_rebate_confirmation":
customerRebateDetails[0] = remoteMessage.getData().get("customer_id");
customerRebateDetails[1] = remoteMessage.getData().get("merchant_id");
customerRebateDetails[2] = remoteMessage.getData().get("points");
customerRebateDetails[3] = remoteMessage.getData().get("totalpoints");
Intent customerRebate = new Intent(this, CustomerRebateConfirmation.class);
customerRebate.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
customerRebate.putExtra("customer_points_rebate_confirmation", customerRebateDetails);
PendingIntent customerRebatePendingIntent = PendingIntent.getActivity(this, 0, customerRebate,
PendingIntent.FLAG_ONE_SHOT);
NotificationCompat.Builder customerRebateBuilder = new NotificationCompat.Builder(this)
.setSmallIcon(R.mipmap.ic_launcher)
.setContentTitle(message)
.setContentText(text)
.setSound(defaultSoundUri)
.setAutoCancel(true)
.setContentIntent(customerRebatePendingIntent);
NotificationManager customerRebateManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
customerRebateManager.notify(0, customerRebateBuilder.build());
break;
}
有谁知道实现的问题是什么?
请注意,当应用程序处于前台时它运行良好,但当应用程序处于后台时它不起作用。
最佳答案
确保您已将此行添加到 list 文件中的 CustomerRebateConfirmation Activity 中...
<intent-filter>
<action android:name=".Activities.CustomerRebateConfirmation" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
关于android - FCM 通知 click_action 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43372117/
我正在使用 Firebase Cloud Messaging 向我的应用的客户端发送通知。客户端可以是三个受支持平台(ios、android、web)中的任何一个。 我希望用户能够单击通知来启动应用程
我遇到了 FCM 的问题,正如 Firebase 团队记录的那样: click_action: Indicates the action associated with a user click on
我正在使用 Cloud Functions 并使用它发送推送通知。发送通知按预期工作,但 click_action 属性不起作用。当我点击通知时没有任何反应。这是我的代码: 我的通知负载: const
我有一个 Web 应用程序(Angular 6)和移动应用程序(Ionic 4),它们都连接到同一个数据库。我正在使用 FCM(Firebase Cloud Message)进行推送通知。我已经关注了
我的 fcm 点击操作有问题,收到通知后,当我点击它时,它应该打开浏览器,转到“www.google.co.in”,但是当我点击通知时,它会打开默认主要 Activity 。 这是我的 onMessa
我对 FCM 有疑问,当我收到通知时,我希望它打开特定 Activity ,默认情况下,当我不添加 click_action 时,它会打开应用程序的主要 Activity ,但是当我添加 click_
所以我目前正在开发 PWA。 我现在正在使用 推送通知 而且我已经能够使用以下非常简单的 JSON 结构接收后台和前台通知。 { "message":{ "token":"aValidTo
我的问题与( question )有些相似,但有一些不同。 我正在使用 FCM Admin SDK,但仍然没有看到为 Web 推送通知发送 click_action 属性的选项。 我也检查了 admi
这是我必须发送消息的代码。消息发送得很好,我的手机收到了远程通知;但是,该通知并不是我需要的可操作通知。 请帮忙!我需要有关 Swift 的任何建议或帮助。 我正在尝试发送上游消息。我希望此消息成为接
我实现了 Firebase 并测试了 Firebase 通知。当应用程序在前台时,我没有遇到任何问题,我实现了一项扩展 FirebaseMessagingService 并在 onMessageRec
当应用程序在后台时,当用户单击通知时,我试图打开一个特定的 Activity 。从文档中,我知道 click_action 必须添加到有效负载中,并在应用程序中添加一个 Intent 过滤器来处理它。
我正在使用这个 react-native-firebase 和 react-navigation 进行导航,我可以成功地从服务器或控制台推送通知,无论它是在前台还是后台,但我发誓文档不是很清楚如何打开
我试图让我的“click_action”将用户带到我发送给客户端的通知上的特定 URL,但无论我做什么,要么什么都不做(桌面),要么只是打开 PWA(android)。消息通过正常(在 Chrome
我是一名优秀的程序员,十分优秀!