Agora Callkit for Miniapp - https://docs.agora.io/cn/iot-apaas/app_miniapp_api?platform=%e5%be%ae%e4%bf%a1%e5%b0%8f%e7%a8%8b%e5%ba%8f
Agora Calkkit for Miniapp API - https://docs.agora.io/cn/iot-apaas/app_miniapp_api?platform=%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F
Agora RTC - https://docs.agora.io/cn/Video/landing-page?platform=%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F
MqttJS - https://github.com/mqttjs/MQTT.js
.
├── aws aws mqtt signature helper
│ └── index.js
├── core
│ ├── IoTClient.js
│ ├── agoraService.js
│ ├── authService.js
│ ├── granwinService.js
│ └── index.js
├── index.js callkit entry and functions
├── lib third party dependencies and
│ ├── crypto-js
│ │ ├── core.js
│ │ ├── hmac-sha256.js
│ │ ├── hmac.js
│ │ └── sha256.js
│ ├── mqtt
│ │ ├── mqtt@2.18.8.min.js
│ │ └── mqtt@4.1.0.min.js
│ └── rtc
│ └── Agora_Miniapp_SDK_for_WeChat.js
├── rtc rtc api
│ └── index.js
└── utils config and helpers
├── config.js
├── const.js
├── event-bus.js
└── index.js
- 获取小程序组件权限
在微信公众平台的小程序开发选项中,切换到接口设置页签,打开实时播放音视频流和实时录制音视频流的开关。
- 配置服务器域名
在小程序的开发设置里,将如下域名配到服务器域名里,其中 request 合法域名区域填入以 https 开头的域名;socket 合法域名区域点入以 wss 开头的域名。
wss://a1g2ouvmztk85d.ats.iot.cn-north-1.amazonaws.com.cn;
wss://miniapp.agoraio.cn;
https://api.agora.io;
https://app.agoralink-iot-cn.sd-rtn.com;
https://report-ad.agoralab.co;
https://rest-argus-ad.agoralab.co;
https://uap-ap-web-1.agora.io;
https://uap-ap-web-2.agoraio.cn;
https://uap-ap-web-3.agora.io;
https://uap-ap-web-4.agoraio.cn;
https://uni-webcollector.agora.io;
-
开通声网小程序服务
第一次使用微信小程序时,需要参考如下步骤开通服务:
-
登录 Agora 控制台,点击左侧导航栏的用量图标 ,进入用量页面。
-
点击页面左上角聚合用量旁的箭头 ,在下拉框中选择需要开通小程序支持的项目名称。
-
在指定项目页面,点击小程序下的分钟数,点击开启小程序服务,然后点击应用。
-
开通声网灵隼服务
-
详见开通声网灵隼功能。
- 对接自研或第三方账户系统,具体请参考文档 https://docs.agora.io/cn/iot-apaas/third_party_account?platform=All%20Platforms
同时不要忘记添加第三方账户系统域名到小程序的request合法域名中。
-
下载和安装微信开发者工具 https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html
-
yarn
-
点击开发者工具中的菜单栏:工具 --> 构建 npm
-
在project根目录创建 callkit.config.js 文件,
module.exports = {
APPID: 'YOUR_APPID',
PRODUCT_KEY: 'YOUR_PRODUCT_KEY',
PROJECT_ID: 'YOUR_PROJECT_ID',
}
App ID:声网的 App ID。
Project ID:声网的项目 ID。
Product Key:声网灵隼产品 ID。
- 更新第三方账号接口地址
在纯呼叫sdk中,前往路径/callkit/utils/config.js
,其中包含接口地址,请更新 YOUR_AUTH_THIRD_PARTY_ENDPOINT 为您自己部署的第三方接口地址。
export const AUTH_THIRD_PARTY_BASE_URL = 'YOUR_AUTH_THIRD_PARTY_ENDPOINT';
- 初始化 SDK 和用户登录。
const CallKitSDK = require('../../callkit/index');
const config = require('../../callkit.config.js');
const username = 'username123'
CallKitSDK.getAccountManager().initSdk(config, username)
.then(this.onUserLoginSuccess)
.catch(this.onLoginFail);
username 需要至少6位的字符串,无特殊字符限制。
npm run rollup
or
npm run webpack
npm run lint
可以通过3种方法测试:
- 小程序编辑器测试
- USB真机调试
- 上传代码到小程序控制台,生成体验版二维码测试
第二种方法真机调试会出现MQTT一直重连的情况,如果一定需要真机调试,可以前往 /callkit/core/index.js中,切换 MQTT.js 到 2.18.8 版本,然后真机调试就不会出现MQTT重连的情况。但是还是推荐使用4.1.0版本避免一些未知的问题发生。