tencent cloud

Chat

News and Announcements
Release Notes
Announcements
Product Introduction
Overview
Basic Concepts
Scenarios
Features
Account System
User Profile and Relationship Chain
Message Management
Group Related
Official Account
Audio/Video Call
Use Limits
Purchase Guide
Billing Overview
Pricing
Purchase Instructions
Renewal Guide
Service Suspension Explanation
Refund Policy
Development Guidelines
Demo Zone
Activate Service
Free Demos
Quick Run
Download
SDK and Demo Source Code
Update Log
Chat Interaction (UI Included)
TUIKit Introduction
Getting Started
Full-feature Integration
Single-function Integration
Build with AI
Build Basic Interfaces
More Features
Customizing Appearance
Internationalization
Push Service
Overview
Noun explanation
Activate the Service
Quick Start
Manufacturer Channel
Statistics
Troubleshooting Tool
Client APIs
REST API
Push Callback
Advanced Features
Release Notes
Error Codes
FAQS
Desk
Overview
Quick Start
Integration Guide
Admin Operation Manual
Agent Manual
More Practices
Live Streaming Setup Guide
AI Chatbot
Super Large Entertainment and Collaboration Community
Discord Implementation Guide
How to Integrate Chat into Games
WhatsApp Channel-style Official Account Integration Solution
Send Red Packet
Firewall Restrictions
No UI Integration
Quick Start
SDK Integration
Initialization
Login and Logout
Message
Conversation
Group
Community Topic
User Profile and Relationship Chain
Offline Push
Cloud Search
Local Search
Official Channel Management
Client APIs
JavaScript
Android
iOS & macOS
Swift
Flutter
Electron
Unity
React Native
C APIs
C++
Server APIs
Secure authentication with UserSig
RESTful APIs
Webhooks
Console Guide
New Console Introduction
Creating and Upgrading an Application
Basic Configuration
Feature Configuration
Account Management
Group Management
Official Channel Management
Webhook Configuration
Usage
Viewing Guide for Resource Packages
Real-Time Monitor
Auxiliary Development Tools
Access Management
Advanced Features
FAQs
uni-app FAQs
Purchase
SDK
Account Authentication
User Profile and Relationship Chain
Message
Group
Audio-Video Group
Nickname and Profile Photo
Security Compliance Certification
Service Level Agreement
Security Compliance Certification
Chat Policies
Privacy Policy
Data Privacy and Security Agreement
Migration
Migration Solutions
Migration Solutions Lite
Error Codes
Contact Us

iOS & macOS

PDF
Focus Mode
Font Size
Last updated: 2025-03-20 16:43:48

TIMPush - TIMPushManager

@interface TIMPushManager : NSObject :Push Plugin Interface Class.

API overview

Register/Unregister Push Service Interface

API
Description
Register Push Service (Must be called after the App user has agreed to the privacy policy to use the push service).
Unregister and disable the push service.
RegistrationID is the unique identifier ID of the push receiving device. By default, this ID is automatically generated when the push service is successfully registered, but you can also customize the setting. You can push messages to the specified device based on the RegistrationID. Note that uninstalling and reinstalling the device will change the RegistrationID, so you need to call the setRegistrationID interface before registering the push service.
After successfully registering the push service, you can get the unique identifier ID of the push receiving device, that is, the RegistrationID, by calling the getRegistrationID interface. You can push messages to the specified device based on the RegistrationID.

Push global listening interface

API
Description
Add Push listener.
Remove Push listener.

Custom Configuration Interface

Set whether to display push notifications in the foreground of the app
API
Description
Disable the notification bar when the app is in the foreground.

Statistics for TIMPush's Push Arrival Rate

If you need to track push arrival and click data, you need to proactively call this function in the Notification Service Extension.
API
Description
Only support calling in Notification Service Extension's '- didReceiveNotificationRequest:withContentHandler:' method.
The appGroup identifies the App Group shared between the main app and the Extension. It needs to be configured in the App Groups capability of the main app's capability.

Interface Details

Function description

+ (void)registerPush:(int) sdkAppId appKey:(NSString *) appKey succ:(TIMPushSuccessCallback) successCallback fail:(TIMPushFailedCallback) failedCallback;
Register Push Service. Please correctly pass the parameters sdkAppId and appKey to register the push service.
Parameter description:
Parameter
Description
Get Path
sdkAppId
The application ID assigned to you by the Chat console.



appKey
The client key assigned to you by the Chat console.
Sample code:
const int sdkAppId = your sdkAppId;
static const NSString *appKey = @"Client Key";

[TIMPushManager registerPush:sdkAppId appKey:appKey succ:^(NSData * _Nonnull deviceToken) {
//
} fail:^(int code, NSString * _Nonnull desc) {
//error
}];
+ (void)unRegisterPush:(TIMPushCallback) successCallback fail:(TIMPushFailedCallback) failedCallback;
Unregister and disable the push service
Sample code:
[TIMPushManager unRegisterPush:^{
//success
} fail:^(int code, NSString * _Nonnull desc) {
//error
}];
+ (void)setRegistrationID:(NSString *)registrationID callback: (TIMPushCallback) callback;
Set the push ID identifier used for registering the push service, i.e., RegistrationID, which needs to be called before registering the push service.
Parameter description:
Parameter
Description
registrationID
The device's push identifier ID will change if you uninstall and reinstall.
+ (void)getRegistrationID:(TIMPushValueCallback) callback;
After successfully registering the push service, obtain the push ID identifier, i.e., RegistrationID.
+ (void)addPushListener:(id<TIMPushListener>)listener
Add Push listener.
+ (void)removePushListener:(id<TIMPushListener>)listener
Remove Push listener.
+ (void)disablePostNotificationInForeground:(BOOL)disable;
Disable notification bar pop-ups when the app is in the foreground. When the Push SDK receives an online Push, it will automatically add a Notification to the notification bar. If you want to handle the online Push messages yourself, you can call this interface to disable the automatic notification bar pop-up feature.
Parameter description:
Parameter
Description
disable
true: disable
false: enable
+ (void)handleNotificationServiceRequest:(UNNotificationRequest *)request appGroupID:(NSString *)appGroupID callback:(TIMPushNotificationExtensionCallback)callback
Statistics for TIMPush's Push Arrival Rate
1. You need to implement the `- applicationGroupID` method in the AppDelegate.m file, returning the App Group ID.
2. And call this function in the Notification Service Extension's '- didReceiveNotificationRequest:withContentHandler:' method.
Note:
The appGroup identifies the App Group shared between the main app and the Extension. It needs to be configured in the App Groups capability of the main app's capability.
Parameter description:
request
appGroupID
The appGroup identifies the App Group shared between the main app and the Extension. It needs to be configured in the App Groups capability of the main app's capability.
callback
typedef void(^TIMPushNotificationExtensionCallback)(UNNotificationContent *content) Statistics function callback, carrying content information
Sample code:

@implementation NotificationService

- (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler {
//The appGroup identifies the App Group shared between the main app and the Extension. It needs to be configured in the App Groups capability of the main app's capability.
//Format: group + [mainBundleID] + key
//E.g., 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 Listener Protocol

API overview

API
Description
onRecvPushMessage
Received Push message
onRevokePushMessage
Received a notification of Push message recall
onNotificationClicked
Notification bar message click callback

Interface Details

Member Function Description

- (void)onRecvPushMessage:(TIMPushMessage *)message;
Received Push message, message content.
- (void)onRevokePushMessage:(NSString *)messageID;
Received a notification of Push message recall, messageID uniquely identifies the message.
- (void)onNotificationClicked:(NSString *)ext;
Notification bar message click callback.

Help and Support

Was this page helpful?

Help us improve! Rate your documentation experience in 5 mins.

Feedback