尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

Countly iOS SDK 推送通知跟踪教程:Token注册、权限请求与点击行为上报一步到位

Countly iOS SDK 推送通知跟踪教程:Token注册、权限请求与点击行为上报一步到位 Countly iOS SDK 推送通知跟踪教程Token注册、权限请求与点击行为上报一步到位【免费下载链接】countly-sdk-iosCountly Digital Analytics iOS SDK with macOS, watchOS and tvOS support.项目地址: https://gitcode.com/gh_mirrors/co/countly-sdk-iosCountly iOS SDK 是 Countly 数字分析平台的移动端 SDK支持 iOS、macOS、watchOS 与 tvOS。本教程带你一步到位完成iOS 推送通知跟踪的全部接入APNs Token 自动注册、通知权限优雅请求、点击行为自动上报让你无需手写繁琐的胶水代码即可在 Countly 面板中看到推送送达与点击的完整数据。 先搞懂推送跟踪的三大核心Countly 的推送跟踪Push Notification Tracking由三个环节闭环构成环节作用对应源码Token 注册把设备的 APNs 推送令牌上报到 Countly 服务器CountlyPushNotifications.m权限请求向用户弹出系统授权框决定是否展示通知Countly.h 的askForNotificationPermission点击上报用户点击通知后自动记录[CLY]_push_action事件CountlyPushNotifications.m好消息是SDK 通过方法交换Swizzling自动接管didRegisterForRemoteNotificationsWithDeviceToken等系统回调你几乎不需要写额外代码。 第 1 步安装 SDK 并开启推送同意Countly iOS SDK 支持 CocoaPods、Swift Package Manager也支持直接克隆源码git clone https://gitcode.com/gh_mirrors/co/countly-sdk-ios初始化时有两个关键动作缺一不可开启推送 Consent。SDK 遵循隐私优先设计所有功能都受同意管理Consent控制推送也不例外。核心常量定义在 CountlyConfig.h 中配置流程大致如下[Countly.sharedInstance enableFeature:CLYConsentPushNotifications];选择测试模式。在 CountlyConfig.h 中配置pushTestModeCLYPushTestModeDevelopment开发/Debug 构建走Sandbox APNs源码中标记为 testMode 1CLYPushTestModeTestFlightOrAdHocTestFlight 或 AdHoc 分发构建走Production APNstestMode 2记得在 Countly 后台勾选 Test Users不设置nil默认走 Production APNs⚠️ 最常见的收不到推送问题90% 是开发机用了 Production 证书却走了 Sandbox 环境或反之。 第 2 步Token 注册——SDK 全自动完成调用startWithConfig:启动 SDK 后CountlyPushNotifications.m 中的startPushNotifications会自动把自己设为UNUserNotificationCenter的 delegate调用registerForRemoteNotifications向系统申请令牌系统回调令牌后SDK 将其转为 16 进制字符串通过sendPushToken见 CountlyConnectionManager.m连同 testMode 一起上报若用户撤销了通知权限SDK 会自动发送空 tokenclearToken在服务器侧清除该设备避免向哑设备发推送。两个手动兜底 API 也很有用recordPushNotificationToken登录用户、切换 device ID 后重新上报tokenclearPushNotificationToken用户登出前清除token。 第 3 步优雅请求通知权限在合适的时机比如用户首次使用某个需要推送的功能时调用统一入口[Countly.sharedInstance askForNotificationPermissionWithOptions: (UNAuthorizationOptionBadge | UNAuthorizationOptionSound | UNAuthorizationOptionAlert) completionHandler:^(BOOL granted, NSError *error) { /* 可选 */ }];两个进阶配置项均在 CountlyConfig.hsendPushTokenAlways即使用户拒绝了通知权限也上报 token。这类 token 可用于发送静默推送拉取数据、刷新缓存但没有通知 UI点击统计会偏低按需开启doNotShowAlertForNotifications关闭系统默认横幅展示改为 App 内自定义 UI 展示——适合做品牌化通知样式的团队。️ 第 4 步点击行为自动上报[CLY]_push_action用户点击推送后SDK 在didReceiveNotificationResponse回调中自动完成两件事解析 Countly 负载中的notification_id上报保留事件[CLY]_push_action分段属性包含notification_id推送 ID可关联到具体活动button_index0 打开通知默认动作1/2 第一个/第二个操作按钮platformiiOS或mmacOS自动打开负载里配置的跳转 URLdefault_url或按钮 URL。如果你使用了doNotShowAlertForNotifications做手动展示则需在用户点击时手动补记[Countly.sharedInstance recordActionForNotification:userInfo clickedButtonIndex:buttonIndex];另外若你的推送带远程附件如远程图片可在 Notification Service Extension 中调用 CountlyNotificationService.m 的didReceiveNotificationRequest:withContentHandler:让 SDK 接管内容处理。✅ 常见问题快速排查现象原因与解决收不到推送检查pushTestMode与 APNs 环境是否匹配后台是否勾选 Test Users面板里没有点击数据确认已enableFeature:CLYConsentPushNotifications未给同意时所有上报都会被拦截登录用户收不到推送登录后调用recordPushNotificationToken重发 token旧设备误收推送用户撤销权限后 SDK 自动清空 token无需处理 核心模块速查推送总控CountlyPushNotifications.m权限、token、点击上报配置项CountlyConfig.hpushTestMode、sendPushTokenAlways、doNotShowAlertForNotifications对外 APICountly.haskForNotificationPermission系列服务器上报CountlyConnectionManager.msendPushTokenNSE 扩展CountlyNotificationService.m按以上四步接入后你的 iOS App 就能获得从 Token 注册、权限状态到点击转化的全链路推送数据配合 Countly 后台的分群与 A/B 能力持续优化每一条推送的打开率 【免费下载链接】countly-sdk-iosCountly Digital Analytics iOS SDK with macOS, watchOS and tvOS support.项目地址: https://gitcode.com/gh_mirrors/co/countly-sdk-ios创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表