tencent cloud

Tencent Real-Time Communication

Release Notes and Announcements
Release Notes
Recent Product Announcement
TRTC Live (TUILiveKit) Product Launch Announcement
TRTC Conference Official Editions Launched
The commercial version of Conference is coming soon
Terms and Conditions Applicable to $9.9 Starter Package
Rules for the "First Subscription $100 Discount" Promotion
Announcement on the Start of Beta Testing for Multi-person Audio and Video Conference
TRTC Call Official Editions Launched
License Required for Video Playback in New Version of LiteAV SDK
TRTC to Offer Monthly Packages
Product Introduction
Overview
Concepts
Features
Strengths
Use Cases
Performance Statistics
Tencent RTC Quickplay: Experience Ultimate Real-Time Audio and Video Interaction!
Purchase Guide
Billing Overview
Free Minutes
Monthly subscription
Pay-as-you-go
TRTC Overdue and Suspension Policy
FAQs
Refund Instructions
User Tutorial
Free Demo
Call
Overview
Activate the Service
Run Demo
Integration
Offline Call Push
Conversational Chat
On-Cloud Recording
AI Noise Reduction
UI Customization
Calls integration to Chat
Additional Features
No UI Integration
Server APIs
Client APIs
Solution
ErrorCode
Release Notes
FAQs
Conference
Overview(TUIRoomKit)
Activate the Service (TUIRoomKit)
Run Demo(TUIRoomKit)
Integration(TUIRoomKit)
Screen Sharing (TUIRoomKit)
Schedule a meeting (TUIRoomKit)
In-meeting Call (TUIRoomKit)
UI Customization(TUIRoomKit)
Virtual Background (TUIRoomKit)
Conference Control (TUIRoomKit)
Cloud Recording (TUIRoomKit)
AI Noise Reduction (TUIRoomKit)
In-Conference Chat (TUIRoomKit)
Robot Streaming (TUIRoomKit)
Enhanced Features (TUIRoomKit)
Client APIs (TUIRoomKit)
Server APIs (TUIRoomKit)
FAQs (TUIRoomKit)
Error Code (TUIRoomKit)
SDK Update Log (TUIRoomKit)
Live
Billing of Video Live Component
Overview
Activating the Service (TUILiveKit)
Run Demo
No UI Integration
UI Customization
Live Broadcast Monitoring
Video Live Streaming
Voice Chat Room
Advanced Features
Client APIs
Server APIs
Error Codes
Release Notes
FAQs
RTC Engine
Activate Service
SDK Download
API Examples
Usage Guidelines
API Reference Manual
Advanced Features
AI Integration
Overview
Configure MCP Server
Install Skills
Integration Guide
FAQ
RTC RESTFUL API
History
Introduction
API Category
Room Management APIs
Stream mixing and relay APIs
On-cloud recording APIs
Data Monitoring APIs
Pull stream Relay Related interface
Web Record APIs
AI Service APIs
Cloud Slicing APIs
Cloud Moderation APIs
Making API Requests
Call Quality Monitoring APIs
Usage Statistics APIs
Data Types
Appendix
Error Codes
Console Guide
Application Management
Package Management
Usage Statistics
Monitoring Dashboard
Development Assistance
Solution
Real-Time Chorus
FAQs
Migration Guide
Billing
Features
UserSig
Firewall Restrictions
How to Downsize Installation Package
Android and iOS
Web
Flutter
Electron
TRTCCalling for Web
Audio and Video Quality
Others
Legacy Documentation
RTC RoomEngine SDK(Old)
Integrating TUIRoom (Web)
Integrating TUIRoom (Android)
Integrating TUIRoom (iOS)
Integrating TUIRoom (Flutter)
Integrating TUIRoom (Electron)
TUIRoom APIs
On-Cloud Recording and Playback (Old)
RTC Analytics Monthly Packages (Previous Version)
Protocols and Policies
Compliance
Security White Paper
Notes on Information Security
Service Level Agreement
Apple Privacy Policy: PrivacyInfo.xcprivacy
TRTC Policy
Privacy Policy
Data Processing And Security Agreement
Glossary

VoIP (Optional)

PDF
Focus Mode
Font Size
Last updated: 2025-02-27 16:09:56
VoIP calls are a technology for transmitting digital voice data over the internet or IP networks. They offer advantages such as low cost, high sound quality, strong flexibility, and the integration of other Communication Services.
Android
iOS







configuration VoIP

iOS

Since TIMPush currently does not support the VoIP push feature on iOS, we provide a free alternative solution to help you implement VoIP push on iOS devices: VoIP Offline Wakeup Configuration Process.

Android

You can use our TIMPush plugin (paid) to implement VoIP notifications on Android devices.

Integrated message push plugin

This plugin's package name on pub.dev is: tencent_cloud_chat_push. You can include it in the pubspec.yaml dependencies directory, or execute the following command for automatic installation.
flutter pub add tencent_cloud_chat_push

Preparation Requirements

1. Register your application to the FCM Push Platform to obtain parameters such as AppID and AppKey, as well as the google-services.json file, in order to implement the offline push feature.
2. Log in to the Tencent RTC Console, select your application, in the Chat > Push > Access settings > Android feature tab, choose FCM, add the FCM certificate, where the message type is selected as Transparent transmission (data) message.
Vendor Push Platform
Configuring in the Chat console








Quick Integration

1. Download and add the configuration file
After completing the vendor push information in the console, download and add the configuration file to your project. Add the downloaded timpush-configs.json file to the assets directory of the application module, and add the google-services.json to the project app directory.
Select and download the configuration file timpush-configs.json
Download the file google-services.json
Add to the project









2. Integrate the TIMPush plugin
In the build.gradle file under the project's app directory, add the following dependency:
implementation "com.tencent.timpush:fcm: xxxxxx"
Note:
TIMPush requires integration with the Chat SDK version 7.9.5666 or above.
The version of the dependency added in build.gradle needs to correspond with the tencent_cloud_chat_push version.
3. Client Code Configuration
In the same directory as MainActivity under your project's android path, create a new Application file category, which could be named MyApplication.
If you have already defined your own Application class, you can directly reuse it, without the need for recreating.



Embed the following code into the file, as demonstrated above:
package xxxx.xxxx.xx import com.tencent.chat.flutter.push.tencent_cloud_chat_push.application.TencentCloudChatPushApplication; public class MyApplication extends TencentCloudChatPushApplication { @Override public void onCreate() { super.onCreate(); } }
Note:
If you have already created your own Application for other purposes, simply extend TencentCloudChatPushApplication and ensure that onCreate() method is called in super.onCreate();.
Meanwhile, you also need to modify your MainActivity File:



Open the android/app/src/main/AndroidManifest.xml file, then add a specific android:name parameter to the <application> Tag, which is linked to your newly created Definition Application class as shown in the figure:





4. Complete project configuration
In the project-level build.gradle file, under buildscript -> dependencies, add the following configuration:
buildscript {
dependencies {
classpath 'com.google.gms:google-services:4.3.15'
}
}
In the build.gradle file under the project's app directory, add the following configuration:
apply plugin: 'com.google.gms.google-services'
5. Register push plugin
Please register the push plugin immediately after logging in.
Invoke TencentCloudChatPush().registerPush method, it necessitates the transmission of BackDefinition's click callback function.
Moreover, you may also choose to input apnsCertificateID, the iOS push certificate ID, and androidPushOEMConfig, the Android push vendor configuration. These two configurations were previously specified in the initial steps; should there be no need for amendment, there is no requirement to input them again.
TencentCloudChatPush().registerPush(onNotificationClicked: _onNotificationClicked);
6. Implement auto-log in
The data mode of FCM can only wake up the offline app, so you also need to implement login and app launching in the onAppWakeUpEvent.
TencentCloudChatPush().registerOnAppWakeUpEvent(onAppWakeUpEvent: () {
// TODO: log in operation
});
After completing the above steps, you can use the offline push capability of TIMPush in conjunction with TUICallKit.
7. Making an Offline Push Call
If you want to make an offline push call, you need to set OfflinePushInfo when calling calls.
TUIOfflinePushInfo offlinePushInfo = TUIOfflinePushInfo();
offlinePushInfo.title = "Flutter TUICallKit";
offlinePushInfo.desc = "This is an incoming call from Flutter TUICallkit";
offlinePushInfo.ignoreIOSBadge = false;
offlinePushInfo.iOSSound = "phone_ringing.mp3";
offlinePushInfo.androidSound = "phone_ringing";
offlinePushInfo.androidFCMChannelID = "fcm_push_channel";
offlinePushInfo.iOSPushType = TUICallIOSOfflinePushType.VoIP;

TUICallParams params = TUICallParams(offlinePushInfo: offlinePushInfo);
TUICallKit.instance.calls(callUserIdList, TUICallMediaType.audio, params);
Note:
If your Android application encounters issues when receiving push notifications or pulling up pages, you can refer to the Called party's call display policy for troubleshooting.

FAQs

If the application is terminated, the incoming call UI cannot be displayed?

Confirm receipt of push. If push cannot be received, check if the certificates are correctly uploaded to the Chat console. Refer to the first step in the above document Quick Integration to see if it has been added correctly.
Confirm that FCM Data Message was selected in the console, in accordance with the second step of the above Preparation Requirements;
Confirm receipt of data message, filter logs (keyword: TIMPush), check the following logs for printouts (if messages are not received, you can use the Troubleshooting Tool to investigate reasons);



Confirm implementation of auto-log in. It is only after auto-login that call requests are pulled and the incoming call UI is displayed.


Help and Support

Was this page helpful?

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

Feedback