{"id":28959572,"url":"https://github.com/agoraio-extensions/agora-uniapp-sdk","last_synced_at":"2025-06-24T00:03:02.720Z","repository":{"id":289669917,"uuid":"972022613","full_name":"AgoraIO-Extensions/Agora-Uniapp-SDK","owner":"AgoraIO-Extensions","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-24T13:28:01.000Z","size":920,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-04-24T13:29:47.841Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AgoraIO-Extensions.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-24T12:20:53.000Z","updated_at":"2025-04-24T13:28:05.000Z","dependencies_parsed_at":"2025-04-24T13:40:16.736Z","dependency_job_id":null,"html_url":"https://github.com/AgoraIO-Extensions/Agora-Uniapp-SDK","commit_stats":null,"previous_names":["agoraio-extensions/agora-uniapp-sdk"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/AgoraIO-Extensions/Agora-Uniapp-SDK","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgoraIO-Extensions%2FAgora-Uniapp-SDK","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgoraIO-Extensions%2FAgora-Uniapp-SDK/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgoraIO-Extensions%2FAgora-Uniapp-SDK/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgoraIO-Extensions%2FAgora-Uniapp-SDK/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AgoraIO-Extensions","download_url":"https://codeload.github.com/AgoraIO-Extensions/Agora-Uniapp-SDK/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgoraIO-Extensions%2FAgora-Uniapp-SDK/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261577972,"owners_count":23179765,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-24T00:02:14.545Z","updated_at":"2025-06-24T00:03:02.713Z","avatar_url":"https://github.com/AgoraIO-Extensions.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Agora-Uniapp-SDK\n\n此 SDK 基于 uni-app 以及 Agora Android 和 iOS 的视频 SDK 实现。\n\n## 发版说明\n[变更日志](CHANGELOG.md)\n\n## 集成文档（云打包）\n\n需要同时引用以下两个插件，JS 插件主要是为了做代码提示，且包含一些JS的逻辑，便于开发者使用 Native 插件\n\n[Native 插件](https://ext.dcloud.net.cn/plugin?id=3720)\n\n[JS 插件](https://ext.dcloud.net.cn/plugin?id=3741)\n\n## 集成文档（离线打包）\n\n### 克隆或下载本工程，并进入工程目录\n\n```shell\ngit clone https://github.com/AgoraIO-Community/Agora-Uniapp-SDK.git\ncd Agora-Uniapp-SDK\n```\n\n### 安装依赖项并编译 JavaScript 脚本\n\n```shell\nyarn\n```\n\n随后拷贝 [lib/commonjs](lib/commonjs) 中生成的源代码到你的工程\n\n**如果你的 uni-app 项目支持 TypeScript, 则直接拷贝 [src](https://github.com/AgoraIO-Community/Agora-Uniapp-SDK/tree/master/src) 内的源代码到你的工程即可**\n\n### 执行 **install.sh** 脚本以下载 Agora iOS SDK\n\n```shell\nsh ./install.sh\n```\n\n并确认 **ios/libs** 目录中包含 **.framework** 文件\n\n### 将 Android 和 iOS 工程分别放到 uni-app 离线 SDK 对应的目录中\n\n* Android：**UniPlugin-Hello-AS**\n* iOS：**HBuilder-uniPluginDemo**\n\n### 将 Android 和 iOS 工程分别引入 uni-app 离线 SDK 工程\n\n#### Android\n\n* 在 **settings.gradle** 中添加\n```\ninclude ':uniplugin_agora_rtc'\nproject(':uniplugin_agora_rtc').projectDir = new File(rootProject.projectDir, 'android')\n```\n\n* 在 **app/build.gradle** 中添加 `implementation project(':uniplugin_agora_rtc')`\n\n#### iOS\n\n在 Xcode 中右键 **HBuilder-uniPlugin** 工程，并点击 **Add Files to \"HBuilder-uniPlugin\"**， 选中 **AgoraRtcUniPlugin.xcodeproj** 并添加\n\n在 Xcode 中点击 **HBuilder-uniPlugin** 工程，并点击 **HBuilder** Target，选中 **Build Phases**\n\n* 在 **Dependencies** 中添加 **AgoraRtcUniPlugin**\n* 在 **Link Binary With Libraries** 中添加 **AgoraRtcUniPlugin.framework**\n* 在 **Embed Frameworks** 中添加 **AgoraCore.framework** **AgoraRtcKit.framework** **Agorafdkaac.framework** **Agoraffmpeg.framework** **AgoraSoundTouch.framework** （需要通过 **Add Other...** 选择 **ios/libs** 目录中的 **.framework** 文件添加）\n\n### 配置插件信息\n\n#### Android\n\n* 在 **app/src/main/assets/dcloud_uniplugins.json** 中添加\n```\n{\n  \"nativePlugins\": [\n...\n    {\n      \"plugins\": [\n        {\n          \"type\": \"module\",\n          \"name\": \"Agora-RTC-EngineModule\",\n          \"class\": \"io.agora.rtc.uni.AgoraRtcEngineModule\"\n        },\n        {\n          \"type\": \"module\",\n          \"name\": \"Agora-RTC-ChannelModule\",\n          \"class\": \"io.agora.rtc.uni.AgoraRtcChannelModule\"\n        },\n        {\n          \"type\": \"component\",\n          \"name\": \"Agora-RTC-SurfaceView\",\n          \"class\": \"io.agora.rtc.uni.AgoraRtcSurfaceView\"\n        },\n        {\n          \"type\": \"component\",\n          \"name\": \"Agora-RTC-TextureView\",\n          \"class\": \"io.agora.rtc.uni.AgoraRtcTextureView\"\n        }\n      ]\n    },\n...\n  ]\n}    \n```\n\n#### iOS\n\n* 在 **HBuilder-Hello/HBuilder-uniPlugin-Info.plist** 中添加\n```\n...\n\t\u003ckey\u003edcloud_uniplugins\u003c/key\u003e\n\t\u003carray\u003e\t\n        \u003cdict\u003e\n            \u003ckey\u003eplugins\u003c/key\u003e\n            \u003carray\u003e\n                \u003cdict\u003e\n                    \u003ckey\u003eclass\u003c/key\u003e\n                    \u003cstring\u003eAgoraRtcEngineModule\u003c/string\u003e\n                    \u003ckey\u003ename\u003c/key\u003e\n                    \u003cstring\u003eAgora-RTC-EngineModule\u003c/string\u003e\n                    \u003ckey\u003etype\u003c/key\u003e\n                    \u003cstring\u003emodule\u003c/string\u003e\n                \u003c/dict\u003e\n                \u003cdict\u003e\n                    \u003ckey\u003eclass\u003c/key\u003e\n                    \u003cstring\u003eAgoraRtcChannelModule\u003c/string\u003e\n                    \u003ckey\u003ename\u003c/key\u003e\n                    \u003cstring\u003eAgora-RTC-ChannelModule\u003c/string\u003e\n                    \u003ckey\u003etype\u003c/key\u003e\n                    \u003cstring\u003emodule\u003c/string\u003e\n                \u003c/dict\u003e\n                \u003cdict\u003e\n                    \u003ckey\u003eclass\u003c/key\u003e\n                    \u003cstring\u003eAgoraRtcSurfaceView\u003c/string\u003e\n                    \u003ckey\u003ename\u003c/key\u003e\n                    \u003cstring\u003eAgora-RTC-SurfaceView\u003c/string\u003e\n                    \u003ckey\u003etype\u003c/key\u003e\n                    \u003cstring\u003ecomponent\u003c/string\u003e\n                \u003c/dict\u003e\n                \u003cdict\u003e\n                    \u003ckey\u003eclass\u003c/key\u003e\n                    \u003cstring\u003eAgoraRtcTextureView\u003c/string\u003e\n                    \u003ckey\u003ename\u003c/key\u003e\n                    \u003cstring\u003eAgora-RTC-TextureView\u003c/string\u003e\n                    \u003ckey\u003etype\u003c/key\u003e\n                    \u003cstring\u003ecomponent\u003c/string\u003e\n                \u003c/dict\u003e\n            \u003c/array\u003e\n        \u003c/dict\u003e\n...\n\t\u003c/array\u003e\n...\n```\n\n## 如何使用\n\n```javascript\n// 指向插件JS源码在你的工程中的相对路径，比如\nimport RtcEngine from '../../components/Agora-RTC-JS/index';\nRtcEngine.create('你的AppID').then((engine) =\u003e {\n  console.log('init success');\n});\n```\n\n**插件绝大部分 API 都使用 Promise 包装，为保证调用时序，请使用 await 关键字**\n\n## 常见错误\n\n### building for ios simulator, but the embedded framework 'xxx.framework' was built for ios + ios simulator.\n\n在 Xcode 的 **Build Settings** 中搜索 **Validate Workspace** 并设置为 No\n\n### AppKey问题\n\n请参考 [官网文档](https://nativesupport.dcloud.net.cn/AppDocs/README?id=appkey)\n\n## API文档\n\n* [uni-app API](https://docs.agora.io/cn/Interactive%20Broadcast/API%20Reference/react_native/index.html)\n* [Android API](https://docs.agora.io/cn/Interactive%20Broadcast/API%20Reference/java/index.html)\n* [iOS API](https://docs.agora.io/cn/Interactive%20Broadcast/API%20Reference/oc/docs/headers/Agora-Objective-C-API-Overview.html)\n\n## 资源\n\n* 完整的 [API Doc](https://docs.agora.io/cn/) 在开发者中心\n* [反馈问题](https://github.com/AgoraIO-Community/Agora-Uniapp-SDK/issues)\n* [uni-app 原生插件](https://nativesupport.dcloud.net.cn/NativePlugin/README)\n\n## 开源许可\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagoraio-extensions%2Fagora-uniapp-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagoraio-extensions%2Fagora-uniapp-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagoraio-extensions%2Fagora-uniapp-sdk/lists"}