Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update README.md #557

Merged
merged 1 commit into from
Nov 24, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
96 changes: 61 additions & 35 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,53 +1,79 @@

# bbb-mobile-sdk
The bbb-mobile-sdk is a software development kit (SDK) designed for mobile applications that integrate with BigBlueButton. This SDK provides developers with a set of tools and libraries to easily build mobile apps that can interact with the features and functionalities of BBB.

## **Table of Contents**

- Features
- Code dependencies
- How to integrate with my own BBB server
- Contributing
- License

## Features
- Real-time video and audio conferencing capabilities
- View presentation and screen sharing functionality
- Recording of meetings
- Breakout rooms
- Chat and messaging functionality

Check the full list of features present in HTML5 and bbb-mobile-sdk here

## Code dependencies
Android: here

iOS: here


## How to integrate with my own BBB server
Currently, the bbb-mobile-sdk can only integrate if the server is version 2.5 / 2.6 and 2.7 (experimental). We are very excited about version 3.0, and we believe that things will get easier, but for now, we don't support this version yet.

`bbb-mobile-sdk` does not yet have all the features that BBB's HTML5 client provides, so see the equivalence table to check if it makes sense for you to integrate this project.

If you are not a mobile developer, it may take a little time to install simulators and Android SDKs, however, after the initial installation the **ONLY** thing you need to join a session is the Join link.

### Versions
`bbb-mobile-sdk` can be compared as a native HTML5 version.

$ node -v
v18.15.0
### Easy implementation
To make things easier, we provide a template that provides all the dependencies for you to develop your own version of greenlight. We plan to make this template available with BigBlueButton's Greenlight integrated in the future, but for now we leave it as a simple template.
https://github.com/mconf/bbb-mobile-template

### Manual implementation

$ npm -v
v9.5.0
If you already have a react-native application that uses the BBB version through a WebView, you can install the component using:

## For Android only:
$ java -version
openjdk version "11.0.16.1" 2022-08-12
OpenJDK Runtime Environment (build 11.0.16.1+1)
OpenJDK 64-Bit Server VM (build 11.0.16.1+1, mixed mode)
```bash
$ npm install git+https://github.com/mconf/bbb-mobile-sdk.git#v0.9.4
# Yes, we plan to make this package available via npm.
```

###
Run on android:
Install Android Studio and setup a device with google play store
Device info in android studio:
Pixel 4, API 30, android 11
Run on iOS:
Install XCode (ios only)
You probably have to build your own native modules (/ios/ and /android/ folder) of your application, and this will require you to install WebRTC modules and other native libraries that require the main application to implement. The native modules you will have to install are listed here.
___

Install eas-cli globally (with npm) to build
You can install with `npx expo`
After the initial installation you can start using like

### To install the dependencies, run:
```jsx
import BbbMobileSdk from "bbb-mobile-sdk";
```

$ npm install
Pass the joinUrl of your meeting in the jUrl prop, and what to do when the user leave the meeting to the onLeaveSession callback:

## How to run
```jsx
<BbbMobileSdk
jUrl={joinUrl}
onLeaveSession={() => navigation.replace("Home")}
/>
```

First go to settings.json and flip the flag dev to 'true'
## Contributing
We welcome contributions from the community. To contribute to the BigBlueButton Mobile SDK, follow these steps:

Android:
$ npx expo run:android

if it crashes with an error message with something like: ANDROID_SDK_ENVIRONMENT missing...
$ export ANDROID_HOME=$HOME/Android/Sdk
$ export PATH=$PATH:$ANDROID_HOME/tools
1. Fork the repository.
2. Create a new branch for your feature or bug fix.
3. Make your changes and submit a pull request.

if it results in a error with gradle:
$ cd android && ./gradlew clean

iOS:
$ npx expo run:ios
Please read our [contribution guidelines](https://github.com/mconf/bbb-mobile-sdk/blob/main/CONTRIBUTING.md) for more details.

## License

bbb-mobile-sdk is released under the [MIT License](https://github.com/mconf/bbb-mobile-sdk/blob/dev/LICENSE.md).
The `bbb-mobile-sdk` is released under the [MIT License](https://github.com/mconf/bbb-mobile-sdk/blob/dev/LICENSE.md).
Loading