Skip to content

AgoraIO-Extensions/Electron-SDK

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Folders and files

NameName
Last commit message
Last commit date
Mar 14, 2023
Dec 13, 2023
Dec 13, 2023
Feb 1, 2024
May 25, 2023
Jun 16, 2022
Jan 26, 2024
Jan 10, 2024
Jan 26, 2024
Dec 20, 2022
May 25, 2023
May 25, 2023
Nov 23, 2023
May 25, 2023
Dec 13, 2023
Dec 13, 2023
Mar 30, 2023
May 25, 2023
May 25, 2023
May 25, 2023
Feb 1, 2024
Dec 20, 2022
Dec 20, 2022
Jun 13, 2022
Oct 24, 2023
May 25, 2023
May 25, 2023
May 25, 2023
Feb 1, 2024
May 25, 2023
Nov 23, 2023
Oct 12, 2023

Repository files navigation

NOTE: These sdk and samples only for the Agora Video 4.x APIs. For examples using previous releases please see the following branches:

Agora RTC SDK for Electron

Platform npm npm License License

✨ Features

  • πŸ“¦ Newly designed middle-tier API and Native C++ SDK.
  • πŸ›‘ Written in TypeScript with predictable static types.

πŸ–₯ Environment Support

  • 🌈 Support macOS x86-64 and arm64 (Electron 11+)
  • βš™οΈ Support Windows ia32 and x64
  • Electron: 4.x ~ latest
Chrome
macOS
Safari
Windows
Electron
Electron
x86 | arm64 ia32 | x64 4.0.0 ~ Latest

πŸ“¦ Install

In newest version you can define installation configuration in package.json (or .npmrc, while package.json has a higher priority), usually you can just provide "prebuilt", and "arch".

// package.json
{
  ...
  "agora_electron": {
    "prebuilt": true,
    "arch": "x64"
  }
  ...
}


// .npmrc
agora_electron_sdk_pre_built=true // defalut value is true
agora_electron_sdk_arch=x64 // only support windows:

Properties detail:

  • prebuilt whether to automatically download prebuilt NodeJS C++ Addon or build locally(which need to provide development env)
  • arch: If not set, the script will automatically choose the arch. only support windows
  • platform darwin or win32
## Automatic platform and architecture selection
npm install agora-electron-sdk

or

## or select 32 bit architecture on Windows
npm install --agora_electron_sdk_arch=ia32

## or select 64 bit architecture on Windows
npm install --agora_electron_sdk_arch=x64

πŸ”¨ Usage

import createAgoraRtcEngine from "agora-electron-sdk";

const rtcEngine = createAgoraRtcEngine();
rtcEngine.initialize({appId: "<your agora app id>"});

When using without electron-webpack

When using directly within a web electron project with custom webpack configuration, you may see errors when compiling. It's because you have not properly configured loader for node addon. A convenient way to skip the compile process is to set externals property of your webpack config to {"agora-electron-sdk": "commonjs2 agora-electron-sdk"}

πŸ”— Links

  • Document - Official document

  • Demo - A quick start demo based on React and this repo

  • Changelog - Attention to newest information

  • Release Notes - Attention to newest information

⌨️ Development

Build From Source Code

You will need to build Agora RTC Electron SDK from source if you want to work on a new feature/bug fix, try out the latest features which are not released yet, or maintain your own fork with patches that cannot be merged to the core.

Prerequisites

Windows

  • Python 2.7
  • Visual Studio Code C++ Desktop Develop Framework

MacOS

  • Python 2.7
  • XCode

Clone locally:

$ git clone git@github.com:AgoraIO-Extensions/Electron-SDK.git
$ cd Electron-SDK
$ npm install #or yarn

# build macOS
$ npm install --agora_electron_sdk_pre_built=false

# build  32 bit architecture on Windows
$ npm install --agora_electron_sdk_pre_built=false  --agora_electron_sdk_arch=ia32

# build  64 bit architecture on Windows
$ npm install --agora_electron_sdk_pre_built=false  --agora_electron_sdk_arch=x64

🀝 Contributing PRs Welcome

Read our contributing guide and let's build a better antd together. :)

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature)
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request