tencent cloud

文档反馈

客户端 API

最后更新时间:2025-01-02 11:25:03

    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;
    点击通知栏消息回调。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持