当前位置: 首页 > 知识库问答 >
问题:

GCM-显示通知有效负载,但如何处理“单击”

扈阳辉
2023-03-14

我使用GCM消息传递概念和选项实现了GCM——消息有效载荷中的通知和数据。

仅数据有效负载按预期工作正常。但现在我发送数据和通知有效负载。通知将按预期显示在设备上。但是如何处理用户点击/触摸通知。我知道如何使用数据有效负载来做到这一点。如何使用通知负载完成此操作?

共有2个答案

子车灿
2023-03-14

我相信你正在寻找的是在你的NotificationBuilder函数中创建一个PendingIntent。这样,当用户单击通知栏中的通知时,它将启动待定的意向。

戚浩淼
2023-03-14

我自己找到了答案。通知负载中有一个属性,可以传递操作。

例如:

{
    "data" : {
        // some data
    },
    "notification" :  {
        // title, body etc
        click_action = "com.my.click",
    },
    "id" : "id1"
}
<activity
    android:name=".activities.MainActivity"
    android:label="@string/app_name" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    <intent-filter>
        <action android:name="com.my.click" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

通知负载支持

 类似资料:
  • 我正在尝试通过AWS SNS向GCM发送移动推送通知。根据最新的GCM 3.0留档,其中可能包括“通知”有效负载或“数据”有效负载(或两者兼而有之)。如果您发送通知有效负载,那么GCM将负责为您在最终用户设备上显示通知。 使用Amazon SNS控制台,我尝试发送仅通知有效负载,但遇到以下错误: 无效参数:消息原因:协议GCM的通知无效:json消息中需要数据密钥(服务:AmazonSNS状态码:

  • 我已经在华为AppGallery上发布了一个Android应用程序,并且能够通过HMS推送服务从我的应用程序后端服务器向手机发送推送通知,如下所述。 不过,不知如何访问App中的推送通知有效载荷: 下面是我当前发送推送通知的方式- 以下URL编码的正文: 值所在的位置(我不确定它是否具有正确的JSON结构以及“type”3的真正含义): 我需要提取自定义整数“GID”值(我的应用程序中的“游戏ID

  • 如何处理app在前台和后台时的推送通知?我正在得到下面的有效载荷数据。 func application(application:UIApplication,didReceiveRemoteNotification UserInfo:[NSObject:AnyObject],fetchCompletionHandler CompletionHandler:(UIBackgroundFetchRes

  • 问题内容: 我只想知道如何确定在无提示推送中要执行的操作: 这是我发送给客户的: 现在的问题是,当我添加以确定静默推送是为了让“订单更新”显示警报通知时。 问题答案: 有一些选择!让我们花点时间了解所有不同的有效负载及其用法。 简单有效载荷 显示在通知中心:是 唤醒应用以执行后台任务:否 带有自定义通知声音的有效负载 显示在通知中心:是 唤醒应用以执行后台任务:否 :在您的应用程序包中添加自定义通

  • 我正在尝试使用亚马逊SNS控制台中的发布endpoint将推送通知(PN)从我的应用服务器发送到android设备,该消息和消息结构为json,工作正常。 但是,当我试图实现相同的Java它的设备没有收到通知。 控制台上的响应 发布列表请求:{ target arn:arn:AWS:SNS:AP-south-1:818862955266:endpoint/GCM/Test app/a1ec 811

  • 我正在测试XCode 12.2中的通知。测试警报样式的通知非常容易。你只需在模拟器中将它们拖到你的应用程序上,有效载荷就会显示在: func应用程序(application:UIApplication,DidReceiveEmotentification用户信息:[AnyHashable:Any],fetchCompletionHandler completionHandler:@escaping