首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Swift 4中将UNNotificationAction添加到firebase FCM推送通知

在Swift 4中,将UNNotificationAction添加到Firebase FCM推送通知是通过以下步骤实现的:

  1. 首先,确保你已经集成了Firebase SDK到你的Swift项目中,并且已经设置了Firebase Cloud Messaging(FCM)。
  2. 在AppDelegate.swift文件中,导入UserNotifications和FirebaseMessaging框架:
代码语言:txt
复制
import UserNotifications
import FirebaseMessaging
  1. 在AppDelegate类中,添加UNUserNotificationCenterDelegate协议,并在didFinishLaunchingWithOptions方法中注册远程通知:
代码语言:txt
复制
class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterDelegate {

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        
        // 注册远程通知
        UNUserNotificationCenter.current().delegate = self
        UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) { (granted, error) in
            if granted {
                DispatchQueue.main.async {
                    application.registerForRemoteNotifications()
                }
            }
        }
        
        // Firebase配置
        FirebaseApp.configure()
        
        return true
    }
    
    // 远程通知注册成功
    func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
        Messaging.messaging().apnsToken = deviceToken
    }
    
    // 远程通知注册失败
    func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) {
        print("Failed to register for remote notifications: \(error.localizedDescription)")
    }
    
    // 接收到远程通知
    func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any]) {
        // 处理通知内容
    }
    
    // iOS 10以上版本接收到远程通知
    @available(iOS 10.0, *)
    func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
        // 处理通知点击事件
    }
}
  1. 在AppDelegate类中,实现UNUserNotificationCenterDelegate协议的方法,以处理通知的显示和点击事件:
代码语言:txt
复制
extension AppDelegate {
    
    // iOS 10以上版本显示通知
    @available(iOS 10.0, *)
    func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
        // 处理通知显示
    }
    
    // iOS 10以上版本点击通知
    @available(iOS 10.0, *)
    func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
        // 处理通知点击事件
        if response.actionIdentifier == UNNotificationDefaultActionIdentifier {
            // 默认点击事件
        } else if response.actionIdentifier == "ActionIdentifier" {
            // 自定义点击事件
        }
        
        completionHandler()
    }
}
  1. 在发送FCM推送通知时,需要在通知的payload中添加自定义的action字段,用于标识点击通知时的行为。例如:
代码语言:txt
复制
{
  "to": "device_token",
  "notification": {
    "title": "Notification Title",
    "body": "Notification Body"
  },
  "data": {
    "action": "ActionIdentifier"
  }
}
  1. 在处理通知点击事件的代码中,根据action字段的值执行相应的操作。

这样,你就可以在Swift 4中将UNNotificationAction添加到Firebase FCM推送通知中了。请注意,以上代码示例中并未提及具体的腾讯云产品,你可以根据实际需求选择适合的腾讯云产品来实现相应的功能。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

集成推送那点事-友盟Mob-FlutterFCM

gradle 也就是 app 下的 gradle 添加对此依赖: // 友盟推送 apply from: 'UMeng_Push.gradle' 1.2 初始化友盟推送并设置通知栏点击动作 Application...设置冷却时间 避免一分钟内出现多条通知而被替换 pushAgent.muteDurationSeconds = 600 } 1.3 离线推送支持 Application 中对应初始化厂商通道即可...3.1 FCM 前期配置 首先不可避免的,创建项目: ? 这里需要注意创建项目的一个规则: 项目名称必须至少包含 4 个字符只能包含字母、数字、空格和以下字符:-!'"...当然 Google 也为我们提供了一键式的配置,但是尴尬的是,我尝试失败了,不过也算是一种方式,具体文章内容如下: 将 Firebase 添加到您的 Android 项目 这里为了偷个懒,直接一张图展示了...3.3 FCM 消息处理 app build 中完善下依赖: // FCM implementation 'com.google.firebase:firebase-analytics:17.4.4

11.4K41

React Native推送通知:完整的操作指南

这里有一个图表,简化了通知服务如何与设备进行通信: 当涉及到React Native中设置推送通知时,有几种设置方式: 原生平台特定的通知服务(FCM/APNS) Expo推送通知服务和其他云服务 像...原生平台特定的通知服务(FCM/APNs) Android和iOS平台都提供了用于接收推送通知的原生平台特定API 适用于安卓设备的Firebase云消息传递(FCM) 苹果推送通知服务(APNs)适用于...iOS设备 我们可以使用React Native Firebase库来Android上集成FCM,使用 push-notification-ios 库来iOS上集成APNs。...React Native Firebase 库也提供了一种通过 FCM iOS上发送推送通知的方法。...可以从Node.js服务器通过 firebase-admin 和 node-apn 向注册的移动设备发送远程通知 Expo推送通知和其他云服务 FCM 和 APNs 都是特定平台的原生推送通知服务。

1.2K10
  • FCM---Android系统级推送---你还在用第三方推送

    作者:hongjay 地址:http://www.jianshu.com/p/6cf4dd76e508 声明:本文是hongjay原创,已获其授权发布,未经原作者允许请勿转载 Firebase Cloud...Messaging FCM是谷歌推出的最新的Android系统级别的消息推送服务(用来替换GCM)。...注:国内可接收FCM推送,但必须安装谷歌服务。具体操作请参考官方文档。...这些服务器从一个应用服务器获取消息,并将其发送至设备上运行的客户端应用。Google 为 HTTP 和 XMPP 提供连接服务器。 2、一台应用服务器,您必须在您的环境中实现它。...hl=zh-cn#send-downstream demo http://www.jianshu.com/p/5d1982dd588b 注意 当firebase推送的时候,是分当前应用在前后台两种情况的

    12.7K30

    APP消息推送方案调研

    Apps ; 他们带给用户的好处是实实在在的: 1)安全:只有登录过的开发者可以通过苹果的服务器推送; 2)快速、稳定、可靠:苹果掌控推送服务器和 OS ; 3)更省电; 4)让整个系统的体验更统一和简单...像 Line 的 Android 版本可以推送通知的 Popup 上直接回复, iOS 就需要越狱才能做到了。...hl=zh-cn#send-messages-to-multiple-devicesFirebase Admin SDK中发送消息时使用的registrationTokens是设备端生成的Firebase...这些令牌是设备与FCM服务交互的唯一标识符。以下是获取这些令牌的步骤:集成Firebase SDK:首先,确保你的应用已经集成了Firebase SDK。...获取Firebase实例ID:应用中,使用Firebase实例ID服务来获取一个唯一的标识符。这个服务会处理令牌的生成和刷新。

    25810

    FireBase 亲密接触

    其旨在为移动和Web应用提供后端云服务,包括云端数据/文件存储、账户管理、消息推送、社交媒体整合等。国内比较出名的厂商有友盟、BMob等,国外就 Firebase 名气比较大。...Firebase Cloud Messaging(FCM):是一个跨平台Android、iOS 和网站的解决方案,供我们免费可靠地发送和接收消息和通知。...Crash Reporting:我们发布应用之后接收关于稳定性问题的可操作信息。 Notifications:轻松管理通知活动。安排和发送消息,以便在最适当的时间吸引合适的用户。...2)将 Firebase 添加到 Android 应用 新建项目之后,你会在左上角看到你项目名称,我新建的项目是 Game2048。...4 添加 SDK 1)需要在项目工程的根级 build.gradle 文件添加一条规则,以包含 Google 服务插件: ?

    15.9K00

    Android应用保活全攻略:30个实用技巧助你突破后台限制

    Android系统中,保活(保持应用进程一直存活)就是为了让应用在后台持续运行,来实现某些特定的功能,如实时消息推送、定位服务等。...4. JobScheduler 使用JobScheduler定时启动应用。JobScheduler是Android 5.0引入的一种任务调度机制,可以满足特定条件下执行任务。...为了保证应用在这些模式下正常运行,你需要适配这些特性,如使用高优先级的Firebase Cloud Messaging(FCM)消息来唤醒应用。 17....使用Firebase Cloud Messaging(FCM) 对于需要实时消息推送的应用,可以使用Firebase Cloud Messaging(FCM)服务。...FCM是一种跨平台的消息推送服务,可以实现高效且可靠的消息传递。通过使用FCM,你可以确保应用在后台时接收到实时消息,而无需采取过多的保活手段。 18.

    63720

    iOS10通知框架UserNotification理解与应用

    iOS10系统中,通知功能的增强是一大优化之处,iOS10中将通知功能整合成了一个框架UserNotification,其结构十分类似于iOS8中的UIWebView向WebKit框架整合的思路。...3.UserNotification支持自定义通知音效和启动图。 4.UserNotification支持向通知内容中添加媒体附件,例如音频,视频。...,实际上,开发者代码中可能会用到的触发器只有三种,UNPushNotificationTrigger远程推送触发器开发者不需要创建使用,远程通知有远程服务器触发,开发者只需要创建与本地通知有关的触发器进行使用...UNNotificationCategory         聊天类软件iOS系统中,常常采用后台推送的方式推送新消息,用户可以不进入应用程序的情况下,直接在左面回复通知推送过来的信息,这种功能就是通过...活动标题3" options:UNNotificationActionOptionNone]; UNNotificationAction * action4 = [UNNotificationAction

    1.8K31

    使用 FCM 通知您的用户

    本文将解释何时以及如何生成这些远程通知,以便为用户提供及时更新并尽量省电。 用 FCM 实现远程通知 我们推荐使用 Firebase 云消息 (FCM) 发送远程通知到 Android 设备。...数据消息,适用于客户端应用内处理 FCM 消息。 您可以把数据信息的优先级设为高或普通。如需进一步了解 FCM 消息和消息处理,可参阅 Firebase 博客上的这篇文章。...因此,为确保及时传递通知,应始终收到 FCM 消息后立即显示通知,然后再进行网络获取或调度任务等其他工作。...您还可以用 Capillary 等库对 FCM 消息进行端到端加密。下图显示了 FCM 消息的一般处理流程。 ? 需要更多数据? 虽然 FCM 消息有效负载很方便,但有最大 4KB 限制。...如果您需要发送带图片等丰富媒体内容的通知,或想通过向应用持续同步媒体内容来改善用户体验,就需要超过 4KB 有效负载限制。

    3.5K30

    iOS 面试策略之系统框架-网络、推送与数据处理

    如果配合 Swift 的面向协议的编程来实现该 API,整个代码会更加灵活。 信息推送 7. iOS 开发中本地消息通知的流程是怎样的?...3) 推送。这一步就是系统或者远程服务器推送通知。伴随着一声清脆的响声(或自定义的声音),通知对应的 UI 显示到手机界面的过程。 4) 响应。当用户看到通知后,点击进去会有相应的响应选项。...; 3) App 将手机的 device token 传给 App 对应的服务器端; 4) 远程消息由 App 对应的服务器端产生,它会先经过 APNs; 5) APNs 将远程通知推送给响应手机。...关键词: #Encodable #Decodable 编码和解码 Swift 4 中引入了 Encodable 和 Decodable 这两个协议,而 Codable 是 Encodable 和 Decodable... Swift 中,Enum,Struct,Class 都支持 Codable。

    1.8K00

    Firebase Remote Config

    这样一来,您可以先验证改进,然后再将其推向整个用户群 工作原理 Remote Config 包括一个客户端库,通过 Firebase 控制台,可以设置相关参数与条件,适当的时机触发相关逻辑处理,..._46.png Firebase Remote Config 加载策略 APP 启动时加载 APP 启动时,调用 fetchAndActivate() 之后,便可开始通过调用 addOnConfigUpdateListener...务必设置应用内默认参数值,确保应用始终按预期运行 实时传播 Remote Config 更新 与远程推送相结合 步骤 APP 订阅主题(以主题的形式给部分用户发送远程通知,如果需求不区分用户群,直接发全部用户的远程通知即可...)messaging:(FIRMessaging *)messaging didReceiveRegistrationToken:(NSString *)fcmToken { NSLog(@"FCM...服务器推送通知,携带信息中包含提示让用户更新 Remote Config 状态的信息 客户端设置 Remote Config 状态 接收到推送通知后,设置本地现有 Remote Config 为旧版

    59410

    我们能用云函数做什么?

    Firebase以独特的方式使用云函数来满足其独特需求,典型运用的领域: 当发生了一些新奇有趣的事情通知用户 执行实时的数据库清理和维护 云上执行密集的任务,而不是本地的应用程序上 与第三方的服务和...一、当发生了一些新奇有趣的事情通知用户 开发人员可以使用云函数来保持与用户之间的联系和获取最新的有关应用程序的相关信息。 比如,一些社交网站或应用上(如微博)。...在这样的程序中,由实时数据库触发的写入功能以存储新的关注者可以创建Firebase的云消息通知,让用户知道他们的粉丝数又增加了。...下面是它的工作原理图: 该函数在对实时的数据库路径写入了相关信息,存储粉丝 该函数通过向FCM(Google的推送服务)发送消息 FCM向用户的设备发送通知消息 YingJoy 其它通知的用例 向订阅...,而不是本地的应用程序上用例 1.定期删除未使用的帐户 2.自动和上传的图像 3.向用户发送批量电子邮件 4.定期汇总数据 5.处理待处理的工作队列 四、与第三方的服务和API集成 云函数可以通过调用和公开服务或

    16.8K40

    Android P 电量管理

    省电模式的优化 Android P 优化了现有的省电助手功能,启用该功能后,系统将对所有应用的后台运行实施加以限制。 4....具体操作指南,请参照 Material Design 中有关推送设计的章节。 若应用在接受高优先级的 FCM 消息之后未能发送推送,用户将无法与应用产生互动并将其优先级提升至 “活跃” 等级。...其实,高优先级 FCM 消息的唯一用途就是向用户发送推送,因此这种情况绝对不应该出现。...如果您错误的将没有与用户进行互动的 FCM 消息设置为高优先级,这种标记不当的行为可能会导致其他不良后果,比如:应用耗尽高优先级消息额度之后,系统会把真正紧急的 FCM 消息当做“普通优先级”消息来处理...测试环节时,请开发者先将包划分至不同分组,然后进行多次测试,确保应用行为无异常。 后台限制 当系统监测到应用消耗过多资源时,系统会通知并询问用户是否需要限制该应用的后台活动。

    2.1K30

    UserNotifications API

    open func removeAllPendingNotificationRequests() // 获取已添加到通知中心的通知 // Notifications that...第二个协议方法,是当应用在后台或者被杀死,当用户点击通知内容或者通知action时,会调用该方法,通过 UNNotificationResponse 实例可获取详细的信息 第三个协议方法,是app内展示通知的设置情况...对于本地通知添加通知的时候就需要创建UNNotificationAttachment实例,添加到相应的content中;如果是远程通知,需要通过扩展程序来下载附加的文件,然后创建UNNotificationAttachment...实例,添加到通知中。...、kUTTypeMPEG4Audio Image图片 大小限制 10Mb以内 支持的格式:kUTTypeJPEG、kUTTypeGIF、kUTTypePNG Movie 视频文件 最大 50Mb

    86040

    Android P正式版即将到来:后台应用保活、消息推送的真正噩梦

    Line; 2)新闻资讯应用:最新资讯通知等,典型代码有:网易新闻客户端、腾讯新闻客户端; 3)SNS社交应用:转发/关注/赞等通知,典型代表有:微博、知乎; 4)邮箱客户端:新邮件通知等,典型代表有...题外话:实际上,对于后台消息推送能力,Android原版系统早就内置了系统级推送服务(跟iOS上的APNs服务是一个东西),它就是GCM服务(现在升级为FCM了),但众所周之的原因,谷哥的服务国内都是用不了的...国内各种Android厂商级推送通道出现了 为了响应Android原版中对省电策略、用户体验等设计,也为了避免各种保活乱象,国内主流的Android手机厂商阉割了谷歌原版的GCM(FCM)推送通道之后...具体操作指南,请参照 Material Design 中有关推送设计的章节。 4)若应用在接受高优先级的 FCM 消息之后未能发送推送,用户将无法与应用产生互动并将其优先级提升至 “活跃” 等级。...如果您错误的将没有与用户进行互动的 FCM 消息设置为高优先级,这种标记不当的行为可能会导致其他不良后果,比如:应用耗尽高优先级消息额度之后,系统会把真正紧急的 FCM 消息当做“普通优先级”消息来处理

    3.8K30

    推送-iOS本地通知

    Extension,可以实现推送数据展示前进行下载更新、定制通知UI iOS 10统一了通知类型,具有时间间隔通知、地理位置通知和日历通知 ?...UNNotificationServiceExtension,是一个接收到APNs服务器推送过来的数据进行处理的服务扩展,如果App提供了服务扩展,那么APNs下发推送通知显示触发之前,会在UNNotificationServiceExtension...,比如说UNNotificationRequest内包含了一个Category标示,那该通知就会以预定义好的交互按钮或者文本框添加到通知实体上。...UNNotificationAttachment,通知内容UNNotificationContent包含的附件,一般为图片、视频和音频,虽然iOS10的通知数据容量为4k,但依旧很少,添加了UNNotificationServiceExtension...扩展的情况下,可以服务里下载图片,生成图片、视频等的本地缓存,UNNotificationAttachment根据缓存数据生成并添加到UNNotificationContent中,交由UI显示 UNNotificationAction

    7.4K30
    领券