Flutter TIM 项目配置

目录

1. 设计说明

2. 参考资料索引

Flutter SDK

服务端 Rest API

腾讯后台

其他

3. TIM 整体架构

第一部分:APP 端

第二部分:腾讯服务器

第三部分:三方服务

第四部分:你自己的服务器

4. TIM SDK 集成

TUIK 含 UI 集成

优点

缺点

无 UI 集成

环境要求

支持平台

开始集成

本机环境

flutter 加入依赖

android 配置

IOS(Win系统不能运行IOS程序,跑Android)

小结

5. 创建应用 AppID密钥

第一步:创建应用

第二步:appid,密钥

第三步:功能丰富的管理后台

小结


博主wx:yuanlai45_csdn 博主qq:2777137742

后期会创建粉丝群,为同学们提供分享交流平台以及提供官方发送的福利奖品~

(目前已经有了各大官方提供的有奖活动哈~)

1. 设计说明

2. 参考资料索引

Flutter SDK

  • flutter sdk 无 ui 集成 即时通信 IM Flutter-无 UI 集成-文档中心-腾讯云
  • flutter sdk api 索引 即时通信 IM Flutter-客户端 API-文档中心-腾讯云
  • flutter sdk api 文档 Introduction · Flutter · Tencent Cloud Chat
  • 发送消息 即时通信 IM Flutter-无 UI 集成-文档中心-腾讯云
  • V2TimMessage 消息数据体 V2TimMessage · Flutter · Tencent Cloud Chat

服务端 Rest API

  • 生成 UserSig 即时通信 IM 生成 UserSig-服务端 API-文档中心-腾讯云
  • REST Api 即时通信 IM REST API 简介-服务端 API-文档中心-腾讯云
  • 第三方回调 即时通信 IM 第三方回调简介-服务端 API-文档中心-腾讯云
  • 签名 v3 实时音视频 签名方法 v3-服务端 API -文档中心-腾讯云

腾讯后台

  • IM 服务入口 登录 - 腾讯云
  • sig签名工具 登录 - 腾讯云
  • 配置回调 登录 - 腾讯云

其他

  • 错误码 即时通信 IM 错误码-文档中心-腾讯云

3. TIM 整体架构

第一部分:APP 端

  • TIM SDK 集成、配置、初始、收发消息、文件、图片、语音、各种事件监听、会话管理。。。
  • HTTP API 拉取用户签名

第二部分:腾讯服务器

  • TIM 即时通讯服务 消息、会话、群、用户、关系、信令
  • TPNS 离线推送 当用户离线的时候进行APP推送、设备推送
  • 腾讯音视屏通话 仿微信界面视频通话、音频通话、多人会议
  • 腾讯 COS 对象存储 图片、音频、文件存储

第三部分:三方服务

  • Friebase Auth 认证、FCM 消息推送 android ios
  • Agora 声网 视频通话、音频通话、多人会议

第四部分:你自己的服务器

  • 用户 tim 签名令牌 客户端 SDK 需要带上令牌才能使用
  • 腾讯服务器调用 新用户、用户同步、消息推送、群管理。。。
  • 腾讯回调 推送到你服务器用户状态、消息、群。。。
  • 三方服务调用 如 friebase fcm 推送消息、声网音视频通话。。。

4. TIM SDK 集成

腾讯提供了两种方式集成到你的项目中,一种含UI,一种不含的方式。

本文将会介绍这两种方式,我们使用的是 不含UI 方式。

TUIK 含 UI 集成

资料 即时通信 IM Flutter-聊天互动(含 UI)-文档中心-腾讯云

下载 demo https://github.com/TencentCloud/chat-demo-flutter

优点

快速集成 IM 聊天业务,常见业务界面都有了 好友、单聊、群聊、联系人。。。

缺点

APP不够个性,设计师不喜欢,产品不喜欢,定制功能还是要重写。

无 UI 集成

资料 即时通信 IM Flutter-无 UI 集成-文档中心-腾讯云

环境要求

平台版本
Flutter2.2.0 及以上版本。
AndroidAndroid Studio 3.5及以上版本,App 要求 Android 4.1及以上版本设备。
iOSXcode 11.0及以上版本,真机调试请确保您的项目已设置有效的开发者签名。

支持平台

致力于打造一套支持 Flutter 全平台的即时通信 IM SDK 及 TUIKit,帮助您一套代码,全平台运行。

平台支持状态
iOS支持
Android支持
Web支持,4.1.1+2版本起
macOS支持,4.1.9版本起
Windows支持,4.1.9版本起
混合开发(将 Flutter SDK 添加至现有原生应用)5.0.0版本起支持

开始集成

本机环境

flutter --versionFlutter 3.7.9 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 62bd79521d (10 天前) • 2023-03-30 10:59:36 -0700
Engine • revision ec975089ac
Tools • Dart 2.19.6 • DevTools 2.20.1

flutter 加入依赖

pubspec.yaml

  # IMtencent_cloud_chat_sdk: 5.1.5# tencent_im_sdk_plugin:#   git:#     url: https://github.com/ducafecat/chat-sdk-flutter#     path: tencent_im_sdk_plugin

tencent_cloud_chat_sdk 最新的这个包

因为腾讯的 sdk 有一些小问题,猫哥有维护一份放在 github 上。

git clone 的版本是 5.0.5

因为是 github 仓库,请科学方式

android 配置

设置仓库

android/build.gradle

repositories {google()jcenter()mavenCentral()
}
allprojects {repositories {google()jcenter()mavenCentral()}
}

加入 jcenter 是因为有些老的库包版本需要下载,在 mavenCentral 上没有。

所以都要加上。

设置权限

android/app/src/main/AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

设置混淆规则

android/app/proguard-rules.pro

# 腾讯 im
-keep class com.tencent.imsdk.** { *; }

android/app/build.gradle

buildTypes {release {...// ProGuard规则文件proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

IOS(Win系统不能运行IOS程序,跑Android)

如果包问题,可以尝试重新拉取,进入 ios 目录。

cd iospod install

如果升级本地包,执行 pod update ,会比 pod install 慢。

若 pod 搜索失败,建议尝试更新 pod 的本地 repo 缓存。更新命令如下:

pod setup
pod repo update
rm ~/Library/Caches/CocoaPods/search_index.json

小结

本文比较了两种集成方式,推荐用无UI的SDK集成,这样灵活些。

其实用到的界面也不多,我们常见业务用到会话、聊天、群设置,自己写就行。

5. 创建应用 AppID密钥

第一步:创建应用

登录 - 腾讯云

免费版可以有 100 个用户,足够开发阶段用了~

第二步:appid,密钥

第三步:功能丰富的管理后台

账号管理、群组管理、统计、回调配置、签名工具、离线推送调试。。。

小结

请保存好你的 appid、密钥 不要提交到代码仓,否则别人拿到后会跑你的流量,你可以环境 env 来设置。

创作不易,希望读者三连支持 💖
赠人玫瑰,手有余香 💖

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/32711.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

物联网系统运维——数据库部署

一.MySQL 1.概要 MySQL是一种关联数据库管理系统&#xff0c;关联数据:而不是将所有数据放在一个大仓库内&#xff0c;这样就增加了速度并提高了灵活性库将数据保存在不同的表中。性能高、成本低、可靠性好&#xff0c;已经成为最流行的开源数据库。 二.MySQL安装与配置 1. …

DataStructure.时间和空间复杂度

时间和空间复杂度 【本节目标】1. 如何衡量一个算法的好坏2. 算法效率3. 时间复杂度3.1 时间复杂度的概念3.2 大O的渐进表示法3.3 推导大O阶方法3.4 常见时间复杂度计算举例3.4.1 示例13.4.2 示例23.4.3 示例33.4.4 示例43.4.5 示例53.4.6 示例63.4.7 示例7 4.空间复杂度4.1 示…

redis-实战篇(8)达人探店

8、达人探店 8.1、达人探店-发布探店笔记 发布探店笔记 探店笔记类似点评网站的评价&#xff0c;往往是图文结合。对应的表有两个&#xff1a; tb_blog&#xff1a;探店笔记表&#xff0c;包含笔记中的标题、文字、图片等 tb_blog_comments&#xff1a;其他用户对探店笔记的…

程序员绩效管理-可行性调研

针对这个市场进行了小范围的可行性调研。因为这个项目一开始就定义为走融资上市的路子&#xff0c;第一步是众筹起步。 总结的结论如下&#xff1a; 1、痛点是真的痛。研发企业对自己团队的开发效率是心知肚明&#xff0c;恨铁不成钢。 2、市场上类似的软件也不少&#xff0c;企…

深入解析数据库设计的三大范式:确保数据结构的完美设计

目录 引言范式化的基本概念第一范式&#xff08;1NF&#xff09; 定义1NF 的例子 第二范式&#xff08;2NF&#xff09; 定义2NF 的例子 第三范式&#xff08;3NF&#xff09; 定义3NF 的例子 进一步范式化&#xff1a;BCNF、4NF 和 5NF 简介范式化的利弊结论 引言 数据库是…

再谈啤酒的生物化学成分与生理学功能

再谈啤酒的生物化学成分与生理学功能 李升伟 啤酒的生物化学成分主要包括酒精、水、碳酸氢盐、多酚、蛋白质、酯类、高级醇等。 1. 酒精&#xff1a;酒精是啤酒的主要成分&#xff0c;决定了啤酒的酒精度和口感。酒精在人体内可以提供能量&#xff0c;并对神经系统产生影响。…

MySQL之表碎片化

文章目录 1. 前言2. InnoDB表碎片3. 清除表碎片3.1 查找碎片化严重的表3.2 清除碎片 4. 小结5. 参考 1. 前言 周一在对线上表进行数据清除时&#xff0c;发现一个问题&#xff0c;我要清除的单表大概有2500w条数据&#xff0c;清除数据大概在1300w条左右&#xff0c;清除之前通…

网格处理库 pmp-library 编译及应用笔记 -- 已全部解决√

多边形网格处理库Polygon Mesh Processing Library&#xff0c;简称pmp-library的 编译及应用笔记 – 已全部解决√ 官网&#xff1a;https://www.pmp-library.org/index.html 代码&#xff1a;https://github.com/pmp-library/pmp-library 平台&#xff1a;Ubuntu1 20.04&…

Bandzip:打破压缩界限,文件管理更高效

名人说&#xff1a;&#xff1a;一点浩然气&#xff0c;千里快哉风。 ——苏轼 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录 一、软件介绍1、Bandzip2、核心特点 二、下载安装1、下载2、安装 三、使用方法 很高兴…

C语言中操作符详解(二)

OK&#xff0c;今天继续为诸君带来有关C语言中操作符的讲解 一 . 位操作符 C语言中的位操作符我相信大家并不陌生&#xff0c;我们在之前就已经接触过了一些 位操作符&#xff08;位操作符的操作数只能是整数&#xff09;&#xff1a; &#xff08;1&#xff09;& &…

Origin较好用的科研绘图软件

推荐自己也在用的科研绘图软件Origin图所示&#xff1a; 图1 图2 图3

WMS项目测试点

这里写目录标题 最后附有图片 仓库系统 仓库 / 库区 仓库 新增仓库 编号 必填校验 字段长度校验 20为字符 数据类型校验 名称 必填校验 字段长度校验 20为字符 数据类型校验 备注 填写备注校验 字符长度限制 不填写备注校验 新增仓库之后是否可以通过查询仓库名称和仓库编号查询…

poi生成的excel,输入数字后变成1.11111111111111E+23

poi版本4.1.2 生成excel后&#xff0c;单元格输入数字&#xff0c;过长的话变成这样 解决&#xff1a;生成的时候设置单元格格式为文本格式 import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook;import java.io.FileOutputStream; imp…

数据结构与算法笔记:基础篇 - 初始动态规划:如何巧妙解决“双十一”购物时的凑单问题?

概述 淘宝的 “双十一” 购物节有各种促销活动&#xff0c;比如 “满 200 元减 50元”。假设你女朋友购物车中有 n 个&#xff08;n > 100&#xff09;想买的商品&#xff0c;它希望从里面选几个&#xff0c;在凑够满减条件的前提下&#xff0c;让选出来的商品价格总和最长…

学习笔记——路由网络基础——路由转发

六、路由转发 1、最长匹配原则 最长匹配原则 是支持IP路由的设备默认的路由查找方式(事实上几乎所有支持IP路由的设备都是这种查找方式)。当路由器收到一个IP数据包时&#xff0c;会将数据包的目的IP地址与自己本地路由表中的表项进行逐位(Bit-By-Bit)的逐位查找&#xff0c;…

一元线性回归模型 多元线性回归模型回归模型评估

本人详解 作者:王文峰,参加过 CSDN 2020年度博客之星,《Java王大师王天师》 公众号:JAVA开发王大师,专注于天道酬勤的 Java 开发问题中国国学、传统文化和代码爱好者的程序人生,期待你的关注和支持!本人外号:神秘小峯 山峯 转载说明:务必注明来源(注明:作者:王文峰…

Vue41 ref属性

ref属性 ref是Vue提供的获取组件的属性 <template><div><h1 v-text"msg" ref"title"></h1><button ref"btn" click"showDOM">点我输出上方的DOM元素</button><MySchool ref"sch"…

若依微服务项目09 - swagger如何不显示某个模块的接口文档

在若依微服务项目中&#xff0c;如果不想暴露某个模块的swagger的接口文档&#xff0c;需要怎么做&#xff1f; 本文以ruoyi-gen模块进行举例说明。 默认情况下&#xff0c;可以看到这里包含了ruoyi-gen模块&#xff0c;我们要做的是&#xff0c;要将ruoyi-gen进行隐藏。 最终的…

阐述Spring Security概念及其运用于实战

Spring Security(安全校验) 1. 概述 Spring Security是Spring项目组提供的安全服务框架,核心功能包括认证和授权.为系统提供了声明式安全访问控制功能,减少了为系统安全而编写大量重复代码的工作. 在如今开发模式中,Spring Security已经成为Java程序员必备的一项技术,简化认证…

5 DSL入门_02精确查询

1. 精确查询 (1)一般是查找keyword,数值&#xff0c;日期&#xff0c;boolean等类型字段&#xff0c;所以不会对搜索条件分词&#xff0c;常见的有&#xff1a;term,range//只查询city南京市鼓楼区,且不会对搜索词分词 get /hotel/_search {"query":{"term&quo…