• UIKit
  • SDK
  • 服务端 API
Chat/
全平台/
Push Service/
Client APIs/
UIKit
  • 概述
    • 产品概述
    • 功能概览
    • 定价
      • 账单概览
      • 定价
      • Billing of Chat Out-of-Package Usage
  • 快速集成
    • 跑通Demo
    • 集成
      • React
      • Vue
  • 功能
    • 集成通话能力
    • 添加表情回应
    • 已读回执
    • 对方正在输入
    • 用户在线状态
    • 消息搜索
    • 引用回复
    • 文本消息翻译
  • UI 组件
    • 会话列表
      • 会话列表
      • 会话列表上下文
      • 会话预览
      • 会话搜索
      • 会话操作
  • 主题
    • React
    • Vue
      • Web
      • Mobile
  • 自定义
    • 自定义消息
    • 自定义表情和贴纸
  • 本地化
    • React
    • Vue
  • 生成 UserSig
  • 控制台指南
    • New Console Introduction
    • 创建和升级应用
    • 基本配置
    • 功能配置
    • 账号管理
    • 群组管理
    • 回调配置
    • Real-Time Monitor
    • Auxiliary Development Tools
  • 产品介绍
    • 消息管理
      • 单聊消息
      • 消息存储
      • 离线推送
      • 群消息
      • 消息格式
    • 账号系统
      • 登陆验证
      • 在线状态管理
    • 群相关
      • 群组系统
      • 群组管理
    • 用户资料和关系链
      • 资料管理
      • 关系链管理
  • Push Service
    • Overview
    • Activate the Service
    • Quick Start
    • Manufacturer Channel
      • Manufacturer Configuration
        • Android
        • iOS
        • Flutter
        • React-Native
      • Quick Integration
        • Android
        • iOS
        • Flutter
        • React-Native
    • Statistics
    • Troubleshooting Tool
    • Client APIs
      • Android
      • iOS
      • Flutter
      • React Native
    • REST API
      • Pushing to All/Tagged Users
      • UserID-Targeted Push
      • Obtaining Application Attribute Names
      • Setting Application Attribute Names
      • Obtaining User Attributes
      • Setting User Attributes
      • Deleting User Attributes
      • Obtaining User Tags
      • Adding User Tags
      • Deleting User Tags
      • Deleting All User Tags
      • Recalling Push
    • Push Callback
      • All Users / Tags / UserID Push Callback
      • Other Push Callbacks
    • Advanced Features
      • Custom Definition Badge
      • Custom Definition Ringtone
      • Customized Icon
      • Custom Definition Click Redirect
      • Push Message Categorization
    • Release Notes
      • Android
      • iOS
      • Flutter
      • React Native
    • FAQS
  • 错误码

iOS

TIMPush - TIMPushManager

@interface TIMPushManager : NSObject :推送插件接口类。

接口概览

注册/反注册推送服务接口

API
描述
注册推送服务 (必须在 App 用户同意了隐私政策后,再调用该接口使用推送服务)。
反注册关闭推送服务。
RegistrationID 是推送接收设备的唯一标识 ID。默认情况下,注册推送服务成功时自动生成该 ID,同时也支持您自定义设置。您可根据 RegistrationID 向指定设备推送消息。需要注意的是,卸载并重新安装设备会更改 RegistrationID,因此需要在注册推送服务之前调用 setRegistrationID 接口。
在成功注册推送服务后,可通过调用 getRegistrationID 接口获取推送接收设备的唯一标识 ID,即RegistrationID。您可根据 RegistrationID 向指定设备推送消息。

Push 全局监听接口

API
描述
添加 Push 监听器。
移除 Push 监听器。

自定义配置接口

设置应用前台是否展示推送
API
描述
关闭 App 在前台时弹出通知栏。

统计 TIMPush 的推送抵达率

如果您需要统计推送的抵达和点击数据,您需要在 Notification Service Extension 中主动调用本函数。
API
描述
仅支持在 Notification Service Extension 的 '- didReceiveNotificationRequest:withContentHandler:' 方法中调用。
appGroup 标识当前主 App 和 Extension 之间共享的 App Group,需要在主 App 的 Capability 中配置 App Groups 能力。

接口详情

函数说明

+ (void)registerPush:(int) sdkAppId appKey:(NSString *) appKey succ:(TIMPushSuccessCallback) successCallback fail:(TIMPushFailedCallback) failedCallback;
注册推送服务,请正确传递 sdkAppId 和 appKey 两个参数,即可注册推送服务。
参数说明:
参数
描述
获取路径
sdkAppId
IM 控制台为您分配的应用 ID。



appKey
IM 控制台为您分配的客户端密钥。
代码示例:
const int sdkAppId = 您的 sdkAppId;
static const NSString *appKey = @"客户端密钥";

[TIMPushManager registerPush:sdkAppId appKey:appKey succ:^(NSData * _Nonnull deviceToken) {
//
} fail:^(int code, NSString * _Nonnull desc) {
//error
}];
+ (void)unRegisterPush:(TIMPushCallback) successCallback fail:(TIMPushFailedCallback) failedCallback;
反注册关闭推送服务
代码示例:
[TIMPushManager unRegisterPush:^{
//success
} fail:^(int code, NSString * _Nonnull desc) {
//error
}];
+ (void)setRegistrationID:(NSString *)registrationID callback: (TIMPushCallback) callback;
设置注册推送服务使用的推送 ID 标识, 即 RegistrationID,需要在注册推送服务之前调用。
参数说明:
参数
描述
registrationID
设备的推送标识 ID,卸载重装会改变。
+ (void)getRegistrationID:(TIMPushValueCallback) callback;
注册推送服务成功后,获取推送 ID 标识, 即 RegistrationID 。
+ (void)addPushListener:(id<TIMPushListener>)listener
添加 Push 监听器。
+ (void)removePushListener:(id<TIMPushListener>)listener
移除 Push 监听器。
+ (void)disablePostNotificationInForeground:(BOOL)disable;
关闭 App 在前台时弹出通知栏。推送 SDK 收到在线推送时,会自动向通知栏增加 Notification 提示,如果您想自己处理在线推送消息,可以调用该接口关闭自动弹通知栏提示的特性。
参数说明:
参数
描述
disable
true:关闭
false:开启
+ (void)handleNotificationServiceRequest:(UNNotificationRequest *)request appGroupID:(NSString *)appGroupID callback:(TIMPushNotificationExtensionCallback)callback
统计 TIMPush 的推送抵达率
1. 您需要在 AppDelegate.m 文件中实现 `- applicationGroupID` 方法,返回 App Group ID。
2. 并在 Notification Service Extension 的 '- didReceiveNotificationRequest:withContentHandler:' 方法中调用本函数。
注意:
appGroup 标识当前主 App 和 Extension 之间共享的 App Group,需要在主 App的 Capability 中配置 App Groups 能力。
参数说明:
request
appGroupID
appGroup 标识当前主 App和 Extension 之间共享的 App Group,需要在主 App 的 Capability 中配置 App Groups 能力。
callback
typedef void(^TIMPushNotificationExtensionCallback)(UNNotificationContent *content) 统计函数 Callback,携带content 信息
示例代码:

@implementation NotificationService

- (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler {
//appGroup 标识当前主 App 和 Extension 之间共享的 App Group,需要在主 App 的 Capability 中配置 App Groups 能力。
//格式为group + [主bundleID]+ key
//如group.com.tencent.im.pushkey
NSString * appGroupID = kTIMPushAppGorupKey;
__weak typeof(self) weakSelf = self;
[TIMPushManager handleNotificationServiceRequest:request appGroupID:appGroupID callback:^(UNNotificationContent *content) {
weakSelf.bestAttemptContent = [content mutableCopy];
// Modify the notification content here...
// self.bestAttemptContent.title = [NSString stringWithFormat:@"%@ [modified]", self.bestAttemptContent.title];
weakSelf.contentHandler(weakSelf.bestAttemptContent);
}];
}

@end

TIMPush - TIMPushListener

@protocol TIMPushListener <NSObject> :Push 监听器协议

接口概览

API
描述
onRecvPushMessage
收到 Push 消息
onRevokePushMessage
收到 Push 消息撤回的通知
onNotificationClicked
点击通知栏消息回调

接口详情

成员函数说明

- (void)onRecvPushMessage:(TIMPushMessage *)message;
收到 Push 消息,message 消息。
- (void)onRevokePushMessage:(NSString *)messageID;
收到 Push 消息撤回的通知,messageID 消息唯一标识。
- (void)onNotificationClicked:(NSString *)ext;
点击通知栏消息回调。
向社区提问!
开始技术讨论并获取即时专家支持!