产品动态
公告
Packages/manifest.json 文件,添加相关依赖:{"dependencies": {..."com.tencent.timpush.unity": "https://github.com/TencentCloud/TIMSDK.git#push_unity"}}

Assets/Plugins/iOS 目录下创建文件 UnityIMPush.mm (若目录不存在,需要手动创建),并且在文件中实现 - businessID 协议方法返回证书 ID 即可,可以参考如下实现:#import "TPush/TPush.h"#import "UnityAppController.h"@interface UnityAppController (ThirdPartyExtension) <TIMPushDelegate>- (int)businessID;- (NSString *)applicationGroupID;@end@implementation UnityAppController (ThirdPartyExtension)#pragma mark - TIMPush- (int)businessID {//上一步控制台给的证书ID,如 1234567int kBusinessID = 1234567;return kBusinessID;}- (NSString *)applicationGroupID {//AppGroup IDreturn kTIMPushAppGroupKey;}- (BOOL)onRemoteNotificationReceived:(NSString *)notice {// custom navigatereturn NO;}@end
timpush-configs.json 文件添加到项目的 Assets/Plugins/Android 目录下,如果该目录不存在,请手动创建。
File > Build Settings > Player Settings然后在安卓平台的设置中找到 Publishing Settings > Build,勾选下方的三个配置:
Assets/Plugins/Android/launcherTemplate.gradle 文件,在文件最后新增 dependencies 配置,并根据需要,引入下列全部或部分厂商的推送包。只有引入对应厂商的推送包,才能启用该厂商的原生推送能力。dependencies {// 1. 推送主包必须要集成implementation 'com.tencent.timpush:tpush:VERSION'// 其他依赖包implementation 'androidx.appcompat:appcompat:1.3.0'implementation 'com.google.code.gson:gson:2.10.1'// 2. 集成 FCM 推送包implementation 'com.tencent.timpush:fcm:VERSION'// 3. 如果只需要 FCM 通道,以下包不需要集成;如果想优先走 FCM 通道,请调用接口 forceUseFCMPushChannelimplementation 'com.tencent.timpush:huawei:VERSION'implementation 'com.tencent.timpush:xiaomi:VERSION'implementation 'com.tencent.timpush:oppo:VERSION'implementation 'com.tencent.timpush:vivo:VERSION'implementation 'com.tencent.timpush:honor:VERSION'implementation 'com.tencent.timpush:meizu:VERSION'}
APPID 和 APPKEY 添加到清单文件,可以通过修改 Assets/Plugins/Android/launcherTemplate.gradle 文件来实现// Assets/Plugins/Android/launcherTemplate.gradleandroid {...defaultConfig {...manifestPlaceholders = ["VIVO_APPKEY" : "您应用分配的证书 APPKEY","VIVO_APPID" : "您应用分配的证书 APPID","HONOR_APPID" : "您应用分配的证书 APPID"]}}
Assets/Plugins/Android/JsonConfigs 目录下,该目录需要手动创建。



Assets/Plugins/Android/baseProjectTemplate.gradle 文件中 buildscript -> dependencies 下添加以下配置(如果是需要新增 buildscript 建议放在文件最上面):Assets/Plugins/Android/baseProjectTemplate.gradle 文件中 buildscript -> dependencies 下添加以下配置:buildscript {dependencies {...classpath 'com.huawei.agconnect:agcp:1.6.0.300'classpath 'com.hihonor.mcs:asplugin:2.0.1.300'classpath 'com.google.gms:google-services:4.3.15'}}
Assets/Plugins/Android/settingsTemplate.gradle 文件中 buildscript -> repositories 和 allprojects -> repositories 下添加以下仓库配置:pluginManagement {repositories {gradlePluginPortal()mavenCentral()maven { url "https://mirrors.tencent.com/nexus/repository/maven-public/" }// 配置HMS Core SDK的Maven仓地址。maven {url 'https://developer.huawei.com/repo/'}maven {url 'https://developer.hihonor.com/repo'}}}dependencyResolutionManagement {...repositories {mavenCentral()maven { url "https://mirrors.tencent.com/nexus/repository/maven-public/" }// 配置HMS Core SDK的Maven仓地址。maven {url 'https://developer.huawei.com/repo/'}maven {url 'https://developer.hihonor.com/repo'}}}}
Assets/Plugins/Android/baseProjectTemplate.gradle 文件中 buildscript 下添加以下配置:buildscript {repositories {mavenCentral()maven { url "https://mirrors.tencent.com/nexus/repository/maven-public/" }// 配置HMS Core SDK的Maven仓地址。maven {url 'https://developer.huawei.com/repo/'}maven {url 'https://developer.hihonor.com/repo'}}dependencies {...classpath 'com.google.gms:google-services:4.2.0'classpath 'com.huawei.agconnect:agcp:1.4.1.300'classpath 'com.hihonor.mcs:asplugin:2.0.1.300'}}
Assets/Plugins/Android/settingsTemplate.gradle 文件中 allprojects -> repositories 下添加以下仓库配置:allprojects {...repositories {mavenCentral()maven { url "https://mirrors.tencent.com/nexus/repository/maven-public/" }// 配置HMS Core SDK的Maven仓地址。maven {url 'https://developer.huawei.com/repo/'}maven {url 'https://developer.hihonor.com/repo'}}}
buildscript 和 allprojects 下添加以下配置:buildscript {repositories {mavenCentral()maven { url "https://mirrors.tencent.com/nexus/repository/maven-public/" }// 配置HMS Core SDK的Maven仓地址。maven {url 'https://developer.huawei.com/repo/'}maven {url 'https://developer.hihonor.com/repo'}}dependencies {...classpath 'com.google.gms:google-services:4.2.0'classpath 'com.huawei.agconnect:agcp:1.4.1.300'classpath 'com.hihonor.mcs:asplugin:2.0.1.300'}}allprojects {repositories {mavenCentral()maven { url "https://mirrors.tencent.com/nexus/repository/maven-public/" }// 配置HMS Core SDK的Maven仓地址。maven {url 'https://developer.huawei.com/repo/'}maven {url 'https://developer.hihonor.com/repo'}}}
Assets/Plugins/Android/launcherTemplate.gradle文件中添加下方配置:apply plugin: 'com.google.gms.google-services'apply plugin: 'com.huawei.agconnect'apply plugin: 'com.hihonor.mcs.asplugin'

PushListener listener = new PushListener(onRecvPushMessage: (message) => {Debug.Log($"收到推送消息: 标题:{message.title}, 内容:{message.desc}, 透传内容:{message.ext}, 消息 ID:{message.messageID}");}, onRevokePushMessage: (messageID) => {Debug.Log($"撤销推送消息 ID: {messageID}");}, onNotificationClicked: (ext) => {Debug.Log($"点击推送消息: {ext}");});PushManager.AddPushListener(listener);
PushManager.RegisterPush 方法成功后,就可以收到离线推送通知了。PushManager.RegisterPush(sdkAppId: 您的sdkAppId, appKey: "客户端密钥", new PushCallback(onSuccess: (data) => {Debug.Log($"注册推送成功: {data}");}, onError: (errCode, errMsg, data) => {Debug.Log($"注册推送失败: 错误码:{errCode}, 错误信息:{errMsg}");}));


回调地址配置 | 回执 ID 配置 IM 控制台 |
![]() 回执地址: Singapore :https://apisgp.im.qcloud.com/v3/offline_push_report/vivo Korea: https://apikr.im.qcloud.com/v3/offline_push_report/vivo USA: https://apiusa.im.qcloud.com/v3/offline_push_report/vivo Germany: https://apiger.im.qcloud.com/v3/offline_push_report/vivo Indonesia: https://apiidn.im.qcloud.com/v3/offline_push_report/vivo China: https://api.im.qcloud.com/v3/offline_push_report/vivo | ![]() |
打开回执开关 | 配置回执地址 |
![]() | ![]() |
- applicationGroupID 方法,这里可参考推送参数配置部分,返回 App Group ID (生成方式可参见 厂商配置-生成 App GroupID)。-didReceiveNotificationRequest:withContentHandler: 方法中调用推送抵达率统计函数:@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.pushkeyNSString * appGroupID = kTIMPushAppGroupKey;__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

文档反馈