You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

已弃用:FCM直接通道已弃用,请使用APNs进行下行消息处理。

如果你收到了这个弃用通知,说明你正在使用Firebase Cloud Messaging (FCM) 的直接通道,并且需要迁移到苹果推送通知服务 (APNs) 来处理下行消息

下面是一些代码示例来解决这个问题:

  1. 修改推送通知的注册部分:
// 使用原来的 FCM 直接通道注册
Messaging.messaging().delegate = self
Messaging.messaging().shouldEstablishDirectChannel = true

// 替换为使用 APNs 注册
UNUserNotificationCenter.current().delegate = self
let options: UNAuthorizationOptions = [.alert, .badge, .sound]
UNUserNotificationCenter.current().requestAuthorization(options: options) { (granted, error) in
    if granted {
        DispatchQueue.main.async {
            UIApplication.shared.registerForRemoteNotifications()
        }
    }
}
  1. 实现推送通知的代理方法:
// FCM 直接通道的代理方法
func messaging(_ messaging: Messaging, didReceive remoteMessage: MessagingRemoteMessage) {
    // 处理 FCM 直接通道的下行消息
}

// APNs 的代理方法
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any]) {
    // 处理 APNs 的下行消息
}
  1. 在 AppDelegate 中处理推送通知的注册和设备令牌更新:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    // ...

    // 注册推送通知
    UNUserNotificationCenter.current().delegate = self
    Messaging.messaging().delegate = self
    let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]
    UNUserNotificationCenter.current().requestAuthorization(options: authOptions) { (granted, error) in
        if granted {
            DispatchQueue.main.async {
                application.registerForRemoteNotifications()
            }
        }
    }

    // ...

    return true
}

func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
    // 更新设备令牌
    Messaging.messaging().apnsToken = deviceToken
}

通过以上步骤的迁移,你将能够使用苹果推送通知服务 (APNs) 来处理下行消息,以替代已弃用的 FCM 直接通道。

本文内容通过AI工具匹配关键字智能整合而成,仅供参考,火山引擎不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系service@volcengine.com进行反馈,火山引擎收到您的反馈后将及时答复和处理。
展开更多
面向开发者的云福利中心,ECS 60元/年,域名1元起,助力开发者快速在云上构建可靠应用

社区干货

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

已弃用:FCM直接通道已弃用,请使用APNs进行下行消息处理。-优选内容

最新动态(2024年前)
推送实验通道增加友盟 工单入口调整 优化&bugfix: openapi v3 定时任务(删除demo集团草稿箱内) 部分模块UI调整 2022年03月14日 V1.9.32版本 功能广告监测和投放底层数据融合改造和媒体授权一体化功能页面 Bug修复&优化:广告投放查询数据解除120天限制 报表展示去除不合理兜底逻辑 海外staging环境修复 tester事件和属性直接依赖meta改造 报告页事件相关接口增加缓存 海外站文案修复 slardar域名合规处理 修复漏斗版本颜色&hov...
提升业务科学决策 - A/B测试大揭秘
FCMAPNs通道; 可视化建站实验:帮助非研发人员直接在页面上通过配置的方式改文案等元素,非常简单快捷; 多链接网页实验:在广告场景下,我们有多个活动页面但是又没有自动化投放工具怎么办?我一个入口可以做重定向,直接把流量打到了不同的活动页或者着陆页上去对比你的实验、评估效果。 客户端和服务端编程实验:这两个是研发人员超爱的,不管是什么,只要用它都能搞的定。从前端的交互、功能迭代到后端的策略和模型优化,都可以进...
提升业务科学决策 字节跳动A/B测试大揭秘
FCMAPNs通道; 可视化建站实验:帮助非研发人员直接在页面上通过配置的方式改文案等元素,非常简单快捷; 多链接网页实验:在广告场景下,我们有多个活动页面但是又没有自动化投放工具怎么办?我一个入口可以做重定向,直接把流量打到了不同的活动页或者着陆页上去对比你的实验、评估效果。 客户端和服务端编程实验:这两个是研发人员超爱的,不管是什么,只要用它都能搞的定。从前端的交互、功能迭代到后端的策略和模型优化,都可以进...
创建与管理推送任务
vivo厂商通道跳转 uri_action:指定跳转页面;该字段用于指定开发者想要打开的 activity,值为 "activity"-"intent-filter"-"action" 节点的 "android:name" 属性值;适配 oppo、fcm跳转 更多选项Android提醒:通知提醒方式 优先级:通知栏展示优先级 可设置APP在前台时依然展示提醒 iOS:支持选择生产环境或开发环境,默认推送生产环境;可在极光控制台配置APNs生产和开发证书,消息将使用所选环境进行推送 个推后续动作: 打开应用首页...

已弃用:FCM直接通道已弃用,请使用APNs进行下行消息处理。-相关内容

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

产品体验

体验中心

云服务器特惠

云服务器
云服务器ECS新人特惠
立即抢购

白皮书

一图详解大模型
浓缩大模型架构,厘清生产和应用链路关系
立即获取

最新活动

爆款1核2G共享型服务器

首年60元,每月仅需5元,限量秒杀
立即抢购

火山引擎增长体验专区

丰富能力激励企业快速增长
查看详情

数据智能VeDI

易用的高性能大数据产品家族
了解详情

一键开启云上增长新空间

立即咨询