QQ 小程序集成介绍

大约 3 分钟

QQ 小程序集成介绍

前提条件

注册环信账号

开发者需要在环信管理后台 注册并创建应用,来获取唯一 appKey,SDK 初始化时需要配置 appKey。

实现步骤

搭建 QQ 小程序开发环境

首先需要下载并安装 开发者工具open in new window,然后按照 QQ 小程序的 接入流程open in new window 一步步创建一个小程序

配置服务器域名

小程序在发布前,需要配置合法域名。

登录 QQ 小程序 开发者平台open in new window,进入 “开发 > 开发设置” 页面配置以下服务器地址。

提示

request 合法域名:

  1. https://a1.easemob.com
  2. https://a2.easemob.com
  3. https://a3.easemob.com
  4. https://a4.easemob.com
  5. https://a5.easemob.com
  6. https://rs.chat.agora.io
  7. https://rs.easemob.com

提示

socket 合法域名: wss://im-api-wechat.easemob.com(3.0 IM SDK)

提示

为满足不同客户的业务需求,环信在多地部署了数据中心。不同数据中心的 REST API 请求域名、WebSocket 访问域名不同。请根据您所在数据中心进行配置。

环信不同数据中心的 REST API 请求域名、WebSocket 访问域名:

数据中心REST API 请求地址WebSocket 访问域名
国内 1 区a1.easemob.comim-api-wechat.easemob.com 或 im-api-wechat.easecdn.com
国内 2 区a31.easemob.comim-api-wechat-31.easemob.com 或 im-api-wechat-31.easecdn.com
国内 VIP 区请咨询商务经理请咨询商务经理
客服专用请咨询商务经理请咨询商务经理
新加坡 1 区a1-sgp.easemob.com 或 a1-sgp.easecdn.comim-api-wechat-sgp.easemob.com 或 im-api-wechat-sgp.easecdn.com
新加坡 2 区a61.easemob.com 或 a61.easecdn.comim-api-wechat-61.easemob.com 或 im-api-wechat-61.easecdn.com
美东 1 区a41.easemob.com 或 a41.easecdn.comim-api-wechat-41.easemob.com 或 im-api-wechat-41.easecdn.com
德国 2 区a71.easemob.com 或 a71.easecdn.comim-api-wechat-71.easemob.com 或 im-api-wechat-71.easecdn.com

应用所在数据中心可以在环信用户管理后台 > 即时通讯 > 服务概览中查看:

img

说明

QQ、微信小程序: 1.7.0 及以上版本,最多可以同时存在 5 个 WebSocket 连接,需开发者控制好连接数量,超出此限制 SDK 将不能连接上服务器。

集成 SDK

下载 SDK

可以通过以下两种方式获取 SDK:

引入 SDK

  • 开始一个全新的项目
    1. 将下载的 SDK(src/sdk/)导入到自己的项目中。
    2. 引入 SDK:import IMSDK from "../sdk/Easemob-chat-miniProgram";
  • 基于 Demo 二次开发

将下载的代码导入开发者工具即可运行起来。

调用示例

// 使用示例
import SDK from "../sdk/connection"; // 2.0 SDK
import SDK from "../sdk/Easemob-chat-miniProgram"; // 3.0 SDK

实例调用方式

实例化 SDK,并挂载在全局对象下。

// 实例化 SDK 对象
const WebIM = (wx.WebIM = SDK);
WebIM.conn = new WebIM.connection({
  appKey: "your appKey",
  https: true, //是否使用HTTPS
  url: "wss://im-api-wechat.easemob.com/websocket", // socket server (3.0 SDK)
  apiUrl: "https://a1.easemob.com", // rest server
  heartBeatWait: 30000, //心跳间隔
  autoReconnectNumMax: 5, //自动重连次数
  useOwnUploadFun: false, // 是否使用自己的上传方式(如将图片文件等上传到自己的服务器,构建消息时只传 URL)
});

IM 基本功能和 Web 端一致,请参考 Web 端文档。