当前位置: 首页 > news >正文

【Unity】接入腾讯TimPush通知消息推送

接入腾讯TimPush通知消息推送

  • 下载TimPush Unity SDK
  • 推送参数配置
    • Android
    • IOS
  • 客户端厂商配置
  • 注册推送
  • 测试

下载TimPush Unity SDK

调整自己项目里Packages/manifest.json文件,添加包

{"dependencies": {..."com.tencent.timpush.unity":"https://github.com/TencentCloud/TIMSDK.git#push_unity"}
}

推送参数配置

Android

需要先完成厂商推送信息,这里我只接入了Google FCM通道
到FireBase后台里生成一个秘钥,再到IM后台填上
在这里插入图片描述
在这里插入图片描述
其他厂商的可以看看腾讯文档里的厂商配置
这里要注意的是,从IM后台下载下来的timpush-configs.json需要放在Assets/Plugins/Android/JsonConfigs目录下,否则会接收不到离线推送,生成的日志文件里会报错提示找不到配置文件

IOS

前置步骤按腾讯文档里的做就行
在IM后台分配好证书ID后,在Assets/Plugins/iOS 目录下创建文件 UnityIMPush.mm

#import "TPush/TPush.h"
#import "UnityAppController.h"@interface UnityAppController (ThirdPartyExtension) <TIMPushDelegate>
- (int)businessID;- (NSString *)applicationGroupID;
@end@implementation UnityAppController (ThirdPartyExtension)#pragma mark - TIMPush
- (int)businessID {
- //控制台给的证书,会给两个,debug是连xcode调试用,正式证书ID是打ios包出来用return 12345;
}- (NSString *)applicationGroupID {
- //一般是@group.包名return @"group.com.tencent.tuikit.demo.xa";
}
@end

客户端厂商配置

大部分步骤都可以按照腾讯接入文档里第三步去操作,但是要注意

在调整launcherTemplate.gradle,添加依赖包的时候,要添加以下依赖包,不能只添加com.tencent.timpush:timpush,还需要添加com.tencent.liteav.tuikit:tuicore

// 版本号 “VERSION” 是接入SDK的版本号
implementation 'com.tencent.timpush:timpush:VERSION'
implementation 'com.tencent.liteav.tuikit:tuicore:VERSION'

注册推送

using System;
using System.Collections.Generic;
using com.tencent.timpush.unity;
using Ferr;
using Newtonsoft.Json;
using UnityEngine;public class TimPushManager{private static TimPushManager _instance;public static TimPushManager Instance{get{if (_instance == null){_instance = new TimPushManager();}return _instance;}}//IM后台的Appidprivate int appId = 123456;//IM后台给的Appkeyprivate string appKey = "yourkey";public event Action<bool, string> OnRegisterPushResult;public void Initialize(){//优先使用FCM通道PushManager.ForceUseFCMPushChannel(true);}public void RegisterPushMessage(){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(appId, appKey, new PushCallback(onSuccess: (data) =>{Debug.Log($"注册推送成功: {data}");GetRegisterPushId();OnRegisterPushResult?.Invoke(true, data.ToString());}, onError: (errCode, errMsg, data) =>{Debug.Log($"注册推送失败: 错误码:{errCode}, 错误信息:{errMsg}");OnRegisterPushResult?.Invoke(false, errMsg);}));}public void GetRegisterPushId(){PushManager.GetRegistrationID(new PushCallback(onSuccess: (data) => { Debug.Log($"注册ID:{data}"); },onError: (errorCode, errorMsg, data) => { Debug.Log($"注册ID获取失败: 错误码:{errorCode}, 错误信息:{errorMsg}"); }));}}

测试

测试在IM后台-推送测试即可,测试工具文档

http://www.dtcms.com/a/573967.html

相关文章:

  • 使用WinBoat在Linux中安装window应用
  • 文档抽取技术:通过自然语言处理自动提取简历中的结构化信息,实现高效人才筛选
  • 蓝奥声EID+ECWAN架构:构建设备跨域用电数据无损迁移体系
  • 打车/网约车、代驾、顺风车/拼车、货运、租车等多种出行服务的一站式解决方案
  • MQTT协议
  • 网站开发设计培训价格建筑网建设通查询
  • 正规的网站建设官网环保类网站建设
  • 做电影资讯网站算侵权吗wordpress comment_form
  • 想在公司局域网做建网站全渠道运营平台系统
  • 上海网站设计大连网站优化公司
  • CAN通信配置要点与要求:从入门到精通的完整指南
  • 最近做网站开发有前途没精品网站建设
  • 潜江网站设计中山市网站建设哪家好
  • [大模型训练】权重更新
  • 哪做网站比较便宜外链发布
  • linux之中断子系统介绍(1)
  • 算法 day 45
  • 进入官方网站上海建网站方案
  • ABAP+WHERE字段长度不一致报错解决
  • WHAT - useCallback 深入理解
  • 怎么做自己的网站推广淘宝客怎么样做自己的网站
  • 网站建设大师程序员给别人做的网站违法
  • 文件属性获取与目录IO操作详解
  • 优秀网站首页广东省建设注册中心网站
  • 要将ITP集成到Jenkins Pipeline中,实现开发发版时自动触发自动化测试
  • Linux 定时监测 Java 服务
  • 体外产品的研发网站如何建设paypal网站做外贸
  • 浙江城乡建设局和住建局seo课程培训入门
  • 3系统需求调研项目整合管理
  • Nestjs框架: Consul健康检查与gRPC客户端动态管理优化方案