-
Notifications
You must be signed in to change notification settings - Fork 28
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
## Goal This PR aims to restructure and align our docs with the decided video docs structure. ## Good to know This is an initial docs creation and it still lacks a lot of content that will be written in the future. Don't be surprised seeing todo's here and there.
- Loading branch information
1 parent
b6306c0
commit 6577045
Showing
67 changed files
with
764 additions
and
129 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
18 changes: 18 additions & 0 deletions
18
...ages/react-native-sdk/docusaurus/docs/reactnative/01-basics/02-introduction.mdx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
--- | ||
slug: / | ||
id: 02-introduction | ||
title: Introduction | ||
--- | ||
|
||
The [Stream Video React Native SDK](https://github.com/GetStream/stream-video-js) enables you to easily build any type of Video and Audio call experiences in your React Native apps. | ||
|
||
> **Note**: The fastest way to get started with the SDK is by trying the [React Native Video Tutorial](01-tutorial.mdx). You'll learn everything about setting up the SDK and starting a video call with other people there. | ||
The **Basics** section provides an overview of the SDK, explains the basic concepts, and shows you how to get started with building video features. | ||
|
||
The **Reference** section contains information about core our core modules: | ||
- **Call** section describes the `Call` class, this object represents the active call the user is part of. | ||
- **StreamVideoClient** section describes the `StreamVideoClient` class, which is the main entry point to the SDK. It provides methods to create and manage calls. | ||
- **Hooks** section describes the ready-to-use React hooks provided by the React Bindings SDK. This layer severs as sugar syntax on top of the underlying `StreamVideoClient`, `stateStore`, media devices, and `Call` object and provides a more React-like experience. | ||
- **Components** section describes the ready-to-use React Native components provided by the SDK, we showcase building blocks to help you build your application. | ||
- **Interfaces** section describes the UI Components props. |
26 changes: 26 additions & 0 deletions
26
...ages/react-native-sdk/docusaurus/docs/reactnative/01-basics/03-installation.mdx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
--- | ||
id: 03-installation | ||
title: Installation | ||
--- | ||
|
||
## Dependencies | ||
|
||
All Stream JS libraries are available from the NPM Registery. | ||
|
||
Before you add Stream dependencies, update your repositories in the `package.json` file to include these following dependencies: | ||
|
||
[//]: # (todo: add dependencies) | ||
|
||
### Push Notifications | ||
|
||
Follow this [guide](05-advanced/02-push-notification/01-overview.mdx) | ||
|
||
## Versioning | ||
|
||
Our Stream Video JS libraries do **not** follow semantic versioning. | ||
|
||
We increase the minor version whenever breaking changes are introduced. Patch releases only contain smaller fixes and improvements. | ||
|
||
You can keep track of all the changes in the Stream Video JS libraries via the [GitHub releases page](https://github.com/GetStream/stream-video-js/releases), and you can also find the release notes of all past releases in our CHANGELOG (TODO create one) file. These will always highlight breaking changes. | ||
|
||
We also maintain a separate document, DEPRECATIONS (TODO - create), which lists deprecated constructs in the SDK, with their expected time of further deprecations and eventual removal. |
7 changes: 7 additions & 0 deletions
7
...ative-sdk/docusaurus/docs/reactnative/01-basics/04-choosing-the-correct-sdk.mdx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
--- | ||
id: 04-choosing-the-correct-sdk | ||
title: Choosing The Right SDK | ||
--- | ||
|
||
// TODO - using our RN UI components over client js in combination with react bindings packages. | ||
|
24 changes: 24 additions & 0 deletions
24
...-native-sdk/docusaurus/docs/reactnative/01-basics/05-default-call-launchers.mdx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
--- | ||
id: 05-default-call-launchers | ||
title: Using Default Call Launchers | ||
--- | ||
|
||
When receiving push notifications and socket events, our [Call Engine](../02-guides/03-call-engine.mdx) processes the data and prepares different states for you to consume. | ||
|
||
Most commonly, this state can be used to show Incoming and Outgoing call UI. But you can also show persistent notification banners and similar features to your users, to notify them of the call state. | ||
|
||
Let's see how to implement them. | ||
|
||
[//]: # (TODO: write guide) | ||
|
||
This is all you need to fully implement our default behavior, which allows for a quick and easy integration of Video calling in your apps. There are several things that are automatically integrated now: | ||
|
||
* When you **receive ringing calls**, you'll show incoming call UI and its actions. | ||
* When you **create a ringing call**, you'll show outgoing call UI and its actions. | ||
* Whenever there's a started call state (Incoming, Outgoing, Active), you'll show a persistent notification that allows the call to **work in the background**. | ||
* If you trigger the notification action, you'll leave/cancel the call. | ||
|
||
Feel free to continue exploring our guides for further integration. If you're using our default input from this guide, check out the following: | ||
|
||
* [Push notification guide](../05-advanced/02-push-notifications.mdx) - It pairs well with default inputs, because it further automates the notification handling. | ||
* [Deep linking guide](../05-advanced/01-deeplinking.mdx) - Similar to push notifications, deep linking is another way to immediately start a call from an event, like clicking on a call link. |
6 changes: 6 additions & 0 deletions
6
...tive-sdk/docusaurus/docs/reactnative/01-basics/06-configuring-call-defaults.mdx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
--- | ||
id: 06-configuring-call-defaults.mdx | ||
title: Configuring Call Defaults | ||
--- | ||
|
||
### Stay tuned for more information on this topic! |
16 changes: 16 additions & 0 deletions
16
...ative-sdk/docusaurus/docs/reactnative/01-basics/07-ui-customization-options.mdx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
--- | ||
id: 07-ui-customization-options | ||
title: UI Customization Options | ||
--- | ||
|
||
## UI Customization Options | ||
|
||
// TODO - cover ways we can customize | ||
|
||
// Theme customization | ||
|
||
// Using Screen level Components | ||
|
||
// Using Building Blocks and ViewModel | ||
|
||
// Using the LLC/ViewModel and building custom UI |
6 changes: 6 additions & 0 deletions
6
...ative-sdk/docusaurus/docs/reactnative/01-basics/08-server-side-integrations.mdx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
--- | ||
id: 08-server-side-integrations | ||
title: Server Side Integration | ||
--- | ||
// TODO mention things like GDPR | ||
// Things like token generation using client SDKs and similar |
7 changes: 7 additions & 0 deletions
7
...ges/react-native-sdk/docusaurus/docs/reactnative/01-basics/09-release-notes.mdx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
--- | ||
id: 009-release-notes | ||
title: Release Notes | ||
--- | ||
## Release Notes | ||
|
||
// TODO - common major release notes, useful for people who don't read GH's changelog |
3 changes: 3 additions & 0 deletions
3
packages/react-native-sdk/docusaurus/docs/reactnative/01-basics/_category_.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{ | ||
"label": "Basics" | ||
} |
13 changes: 13 additions & 0 deletions
13
...es/react-native-sdk/docusaurus/docs/reactnative/02-guides/01-authentication.mdx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
--- | ||
id: 01-authentication | ||
title: Authenticating Your Users | ||
--- | ||
|
||
## Authenticating Your Users | ||
|
||
|
||
// TODO - mention tokenization, server side stuff | ||
|
||
// TODO - mention anon users | ||
|
||
// TODO - mention real users and their data, extra data and so on |
41 changes: 41 additions & 0 deletions
41
...es/react-native-sdk/docusaurus/docs/reactnative/02-guides/02-call-lifecycle.mdx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
--- | ||
id: 02-call-lifecycle | ||
title: Call Lifecycle | ||
--- | ||
|
||
When building your app with **Stream Video**, it's important to understand how the **lifecycle** of your app connects to our client and the Calls you join. | ||
|
||
There are two main components that you need to initialize at various points in your app lifecycle: | ||
|
||
* **StreamVideoClient** - The main client which lets you perform CRUD operations with calls. | ||
* **Call** - The call object which handles just one specific call when the user joins as a participant. | ||
|
||
Based on your app, you should initialize these at the latest possible time, when the users really need them, since they might not have to use any of the clients unless they want to engage in video calls. | ||
|
||
As a high-level overview, you can see the timeline of these three lifecycle scopes in the following diagram. | ||
|
||
[//]: # (TODO: add relevant arch. chart diagram) | ||
|
||
|
||
Let's see when it's best to initialize and dispose of these clients. | ||
|
||
### StreamVideo | ||
|
||
The `StreamVideoClient` **requires an authenticated user** to be created and worked with. | ||
|
||
If your application has steps where the user doesn't have to be authenticated, like anonymous browsing, exploring the app after installing, but before creating an account, or similar, then we **don't recommend** initializing the `StreamVideo` client right away. | ||
|
||
But as soon as your user is authenticated, you can look into creating the client. | ||
|
||
Since the instance contains all the operations to access existing calls, as well as create new ones, it's useful to keep it around when your users have access to different call features of your app. | ||
|
||
**Some of these include**: | ||
|
||
* Browsing a list of calls | ||
* Creating new calls or inviting people to existing | ||
* Ringing a group in chat-based applications or features | ||
* Generating call URLs for invites | ||
|
||
Additionally, the instance creates a Web Socket connection that listens to events like `CallCreated`, which you can use to show incoming call UI to your users or trigger custom business logic. | ||
|
||
If your app relies on such events at its core, we recommend to initialize it **as soon as your user is authenticated**. Once you do that, make sure to **keep it in a high level component**, like the an application context, or any other state management lib. of your choice. |
6 changes: 6 additions & 0 deletions
6
packages/react-native-sdk/docusaurus/docs/reactnative/02-guides/03-call-engine.mdx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
--- | ||
id: 03-call-engine | ||
title: Call Engine | ||
--- | ||
|
||
### Stay tuned for more information on this topic! |
Oops, something went wrong.