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

Remove platform query #10

Open
wants to merge 10 commits into
base: main
Choose a base branch
from
8 changes: 4 additions & 4 deletions account-and-billing/billing_account.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ You have a paid account if you have registered with Agora and done any of the fo
- You have recently made a payment.
- Signed a contract with Agora.

Agora provides each paid account with [10,000 charge-free minutes per month](../../help/account-and-billing/billing_free). In addition, there is a 30-day grace period for any outstanding billing amount after a fee deduction.
Agora provides each paid account with [10,000 charge-free minutes per month](/help/account-and-billing/billing_free). In addition, there is a 30-day grace period for any outstanding billing amount after a fee deduction.

### Billing

Expand All @@ -46,7 +46,7 @@ If you have any questions, contact [[email protected]](mailto:[email protected]).

On the sixth day of each month, Agora Console automatically deducts the fee for the previous month and notifies you by email.

If your account balance is negative after the deduction, Agora sends you an email, reminding you to [top up your account](../../video-calling/reference/manage-agora-account#billing-center) at your earliest convenience to avoid account suspension.
If your account balance is negative after the deduction, Agora sends you an email, reminding you to [top up your account](/video-calling/reference/manage-agora-account#billing-center) at your earliest convenience to avoid account suspension.

### Account suspension

Expand All @@ -62,7 +62,7 @@ You have a free account if you have registered with Agora and _not_ done any of
- You have recently made a payment.
- Signed a contract with Agora.

With a free Agora account, you have [10,000 charge-free minutes per month](../../help/account-and-billing/billing_free).
With a free Agora account, you have [10,000 charge-free minutes per month](/help/account-and-billing/billing_free).

### Billing

Expand All @@ -79,7 +79,7 @@ On the sixth day of each month, Agora Console automatically deducts the fee for
- The services are free of charge, and Agora does not deduct any fee when you meet both of the following requirements:
- Your monthly total service minutes of Agora Video SDK do not exceed 10,000 charge-free minutes; and
- You do not use any other charged Agora services or products.
- If you have any outstanding billing amount, then Agora sends you an email, reminding you to [top up your account](../../video-calling/reference/manage-agora-account#billing-center) at your earliest convenience.
- If you have any outstanding billing amount, then Agora sends you an email, reminding you to [top up your account](/video-calling/reference/manage-agora-account#billing-center) at your earliest convenience.

### Account suspension

Expand Down
2 changes: 1 addition & 1 deletion account-and-billing/billing_basis.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -47,4 +47,4 @@ Agora calculates service minutes **by the number of users**, which is easier and

## Reference

[Billing for Real-time Communication](../../video-calling/reference/billing-policies)
[Billing for Real-time Communication](/video-calling/reference/billing-policies)
2 changes: 1 addition & 1 deletion general-product-inquiry/agora_class_state.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -57,4 +57,4 @@ In the Flexible Classroom client, you can specify the starting time and duration

The state of the classroom is automatically started at the specified start time and automatically ended after the specified duration elapses.

In addition, you can change the classroom state by calling the [RESTful API](../../flexible-classroom/reference/classroom-api/).
In addition, you can change the classroom state by calling the [RESTful API](/flexible-classroom/reference/classroom-api/).
2 changes: 1 addition & 1 deletion general-product-inquiry/agora_product.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Agora is a Platform as a Service (PaaS) provider that enables real-time communic
- [Interactive Whiteboard](/interactive-whiteboard/overview/product-overview)
- [Analytics](/agora-analytics/overview/product-overview)
- [Cloud Recording](/cloud-recording/overview/product-overview)
- [On-premise Recording](/on-premise-recording/overview/product-overview)
- [On-Premise Recording](/on-premise-recording/overview/product-overview)
- [Server Gateway](/server-gateway/overview/product-overview)
- [Flexible classroom](/flexible-classroom/overview/product-overview)
- [Media Push](/media-push/overview/product-overview)
Expand Down
2 changes: 1 addition & 1 deletion general-product-inquiry/audio_format.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ If you use the SDK v3.6.2 or later and have integrated the full-format audio dec
| -------------------------------- | ---------------- | ---------------------------- | ------------------------------------------------------------------------- | -------------------------------------------------- |
| Android, iOS, macOS, and Windows | Local and online | Single-track and multi-track | 3GP, AAC, AMR, ASF, AVI, FLAC, M4A, M4V, MOV, MP3, MP4, TS, Ogg, WAV, WMA | AAC, ARM, FALC, MP2, MP3, PCM, Vorbis, WMAV2, OPUS |

For the extension library name for each platform, see [Reduce App Size](../integration-issues/reduce_app_size_rtc).
For the extension library name for each platform, see <Link to="/help/integration-issues/reduce_app_size_rtc">Reduce App Size</Link>.

## Considerations

Expand Down
8 changes: 4 additions & 4 deletions general-product-inquiry/browser_support.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ export const toc = [{}];

<div class="alert note">
This page only applies to the Agora Web SDK 3.x. If you use the Web SDK 4.x, see{' '}
<a href="/en/video-calling/reference/supported-platforms#platform=Web">Web SDK Compatibility</a>.
<Link to="/video-calling/reference/supported-platforms">Web SDK Compatibility</Link>.

</div>

Expand Down Expand Up @@ -47,15 +47,15 @@ Other browser support on desktop:
The browser support on mobile devices heavily depends on the capabilities of devices and the codec implementation of browsers.

- On Android 4.1 or later, the Web SDK supports Chrome 58 or later. Agora recommends using VP8 on Android Chrome, because whether Google Chrome for Android supports H.264 is hardware dependent and some Android devices do not support H.264.
- On iOS 11 or later, the Web SDK supports Safari or later. However, Agora does not recommend using the Web SDK on iOS Safari due to the large amount of known issues and limitations of [iOS Safari](#safari). For better user experience on iOS, try the [Agora Video SDK iOS SDK](/en/sdks?platform=ios).
- On iOS 11 or later, the Web SDK supports Safari or later. However, Agora does not recommend using the Web SDK on iOS Safari due to the large amount of known issues and limitations of [iOS Safari](#safari). For better user experience on iOS, try the <Link to= "/sdks">Agora Video SDK iOS SDK</Link>.

The support for in-app browsers on mobile devices is complicated. For details, see [Supported Platforms](../../video-calling/reference/supported-platforms).
The support for in-app browsers on mobile devices is complicated. For details, see [Supported Platforms](/video-calling/reference/supported-platforms).

## Limitation

Due to the various browser engine implementations, support for some features may vary by browser and platform. The following are known issues and limitations.

On Chrome 81 or later, Safari, and Firefox, device IDs are only available after the user has granted permissions to use the media device. See [Why can't I get device ID on Chrome 81?](../../help/integration-issues/empty_deviceId)
On Chrome 81 or later, Safari, and Firefox, device IDs are only available after the user has granted permissions to use the media device. See [Why can't I get device ID on Chrome 81?](/help/integration-issues/empty_deviceId)

### Chrome

Expand Down
2 changes: 1 addition & 1 deletion general-product-inquiry/differ_agora_cdn.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,4 @@ See the following table for details:
| Transmission Algorithm | TCP | Private algorithm for fixing packet loss and adjusting the bitrate automatically according to the current bandwidth |
| Picture-in-picture layout | Fixed | Can be adjusted dynamically |

Agora also enables the function of [publishing streams into the CDN](../../media-push/overview/product-overview) for social media sharing.
Agora also enables the function of publishing streams into the CDN for social media sharing.
6 changes: 3 additions & 3 deletions general-product-inquiry/onpremise_cloud.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ products: []

export const toc = [{}];

**Agora On-premise Recording** and **Agora Cloud Recording** are add-ons to record and save voice calls, video calls, and interactive streaming on your **Linux server** and your **cloud storage**.
**Agora On-Premise Recording** and **Agora Cloud Recording** are add-ons to record and save voice calls, video calls, and interactive streaming on your **Linux server** and your **cloud storage**.

Compared with Agora On-premise Recording, Agora Cloud Recording is more efficient and convenient as it does not require deploying powerful Linux servers, which largely reduces development and maintenance costs. You can directly start recording using RESTful APIs.
Compared with Agora On-Premise Recording, Agora Cloud Recording is more efficient and convenient as it does not require deploying powerful Linux servers, which largely reduces development and maintenance costs. You can directly start recording using RESTful APIs.

See the following table for details.

Expand All @@ -19,4 +19,4 @@ See the following table for details.
| Usability | You have to prepare the server resources and deploy the SDK on your Linux server. | You do not need to deploy the SDK on the Linux server and can directly use RESTful APIs to start recording. |
| Operation and maintenance | You need to maintain the recording service. | Agora maintains the recording service for you. |
| Scalability | You need to scale to a more powerful server depending upon the concurrent usage/recording sessions. | At your request, Agora scales up the recording service in real time. |
| Reliability | The reliability of Agora On-premise Recording depends on your implementation. | Agora Cloud Recording automatically saves files on Agora's cloud server for backup and automatically resumes recording after a system failure or other issues. |
| Reliability | The reliability of Agora On-Premise Recording depends on your implementation. | Agora Cloud Recording automatically saves files on Agora's cloud server for backup and automatically resumes recording after a system failure or other issues. |
10 changes: 5 additions & 5 deletions general-product-inquiry/platform_version.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ This page lists the supported platforms of Agora products.

## Voice and Video

The [Agora Video SDK](../../video-calling/get-started/get-started-sdk) supports iOS, Android, Windows, macOS, Unity, and Web, and allows for cross-platform connections. The following is a list of supported platforms and their versions.
The [Agora Voice and Video SDK](/api-reference) supports iOS, Android, Windows, macOS, Unity, and Web, and allows for cross-platform connections. The following is a list of supported platforms and their versions.

| Platform | Supported Version |
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
Expand All @@ -20,19 +20,19 @@ The [Agora Video SDK](../../video-calling/get-started/get-started-sdk) supports
| Windows | <p>≥ Windows 7</p><p>The Windows SDK supports the following architecture:</p><li>x86</li><li>x86-64</li> |
| macOS | <p>≥ 10.10</p><p>The macOS SDK supports the following architecture:</p><li>x86-64</li><li>arm64</li> |
| Unity | <p>≥ 2017</p><p>The Unity SDK supports the following platforms:</p><ul><li>Android (armeabi-v7a, arm64-v8a, x86)</li><li>iOS</li><li>Windows (x86, x86-64)</li><li>macOS</li></ul> |
| Web | See [Web SDK Compatibility](../../video-calling/reference/supported-platforms) |
| Web | See [Web SDK Compatibility](/video-calling/reference/supported-platforms) |
| Electron | ≥ Electron 1.8.3 |
| Flutter | ≥ Flutter 1.0.0 |
| React Native | ≥ React Native 0.59.10 |

## On-premise Recording
## On-Premise Recording

The Agora On-premise Recording SDK is integrated on your Linux server. See [prerequisites of integrating the SDK](../../on-premise-recording/get-started/integrate-sdk) for details.
The Agora On-Premise Recording SDK is integrated on your Linux server. See [prerequisites of integrating the SDK](../../on-premise-recording/get-started/integrate-sdk) for details.

## Cloud Recording

You can use RESTful APIs to enable and manage the Agora cloud recording services. See [Agora Cloud Recording RESTful API Quickstart](../../cloud-recording/reference/rest-api/rest-api-overview) for details.

## Signaling

The Agora Signaling SDK supports Android, iOS, macOS, Linux, Windows C++, and Web. See [Peer-to-peer or Channel Messaging](../../signaling/overview/product-overview) for details.
The Agora Signaling SDK supports Android, iOS, macOS, Linux, Windows C++, and Web. See [Peer-to-peer or Channel Messaging](/signaling/overview/product-overview) for details.
2 changes: 1 addition & 1 deletion general-product-inquiry/recording_concurrence.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ products: []

export const toc = [{}];

For the Agora On-premise Recording SDK, we conduct tests on the recording concurrency based on the following cloud hosting configuration:
For the Agora On-Premise Recording SDK, we conduct tests on the recording concurrency based on the following cloud hosting configuration:

- AWS: Intel(R) Xeon(R) Platinum 8124M CPU @ 3.00 GHz
- 16 Virtual Core CPU, 32 GB RAM
Expand Down
6 changes: 3 additions & 3 deletions integration-issues/call_duration.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,17 @@ During a call, a user may join and leave a Video SDK channel for multiple times,

### Use the Agora Video SDK

By design, the SDK triggers the <Link to="{{Global.API_REF_ANDROID_ROOT}}/class_irtcengineeventhandler.html#callback_irtcengineeventhandler_onrtcstats">`onRtcStats`</Link> callback after a user successfully joins a Video SDK channel. To get the duration between each channel-join and channel-leave, use the `totalDuration` parameter of the last `onRtcStats` callback triggered before the user leaves the channel. If a user joins and leaves a Video SDK channel for multiple times, you can calculate the user's call duration by adding up the values of `totalDuration`.
By design, the SDK triggers the <Link to="{{Global.API_REF_ANDROID_PREVIOUS_ROOT}}/classio_1_1agora_1_1rtc_1_1_i_rtc_engine_event_handler.html#ada7aa10b092a6de23b598a9f77d4deee">`onRtcStats`</Link> callback after a user successfully joins a Video SDK channel. To get the duration between each channel-join and channel-leave, use the `totalDuration` parameter of the last `onRtcStats` callback triggered before the user leaves the channel. If a user joins and leaves a Video SDK channel for multiple times, you can calculate the user's call duration by adding up the values of `totalDuration`.

The above callback is in Java. For other programming languages, use the following parameters to get the user's call duration:
- C++: The `duration` parameter of the `onRtcStats` callback.
- Objective-C: The `duration` parameter of the [reportRtcStats](https://api-ref.agora.io/en/video-sdk/ios/3.x/Protocols/AgoraRtcEngineDelegate.html#//api/name/rtcEngine:reportRtcStats:) callback.
- Objective-C: The `duration` parameter of the <Link to="{{GLOBAL.API_REF_IOS_PREVIOUS_ROOT}}/Protocols/AgoraRtcEngineDelegate.html#//api/name/rtcEngine:reportRtcStats:">`reportRtcStats`</Link> callback.
- Javascript: The `Duration` parameter of the `Client.getSessionStats` method.

If the connection is lost under poor network conditions, the calculated duration maybe inaccurate. Use [Agora Signaling SDK](/signaling/develop/manage-connection-states) or a different signaling system to implement a heartbeat mechanism, and get the disconnected time of the client. You can calculate the user's call duration by subtracting the disconnected time of the client from the call duration obtained from the Agora Video SDK.

### Use Agora Analytics

On the **Call Search** page of **Agora Analytics**, you can find a user's call duration in the **In-call Periods** column. See [Call Search](/agora-analytics/analyze/video-voice-sdk/call-search#search).
On the **Call Search** page of **Agora Analytics**, you can find a user's call duration in the **In-call Periods** column. See [Call Search](/agora-analytics/analyze/video-voice-sdk/call-search#use-call-search).

![](https://web-cdn.agora.io/docs-files/1592406406894)
4 changes: 2 additions & 2 deletions integration-issues/console_error_web.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@ Check your code logic and ensure that you call `Client.publish` after the `Clien

## Connect choose server timeout

Same reason and solution as [Failed to load resource](#resource).
Same reason and solution as [Failed to load resource](#failed-to-load-resource).

## DTLS failed<a name="DTLS"></a>
## DTLS <a name="DTLS"></a>

The following table lists the possible reasons and corresponding solutions:

Expand Down
6 changes: 3 additions & 3 deletions integration-issues/host_set_role.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,12 @@ The basic API call sequence is as follows:

Refer to the detailed steps for implementation:

1. The host calls v to send a peer-to-peer message that invites an audience to take on the role pf co-host.
1. The host calls <Link to="{{Global.SIG_SDK_API_ANDROID}}/classio_1_1agora_1_1rtm_1_1_rtm_channel.html#a57087adf4227a17c774ea292840148a0">`sendMessage`</Link> to send a peer-to-peer message that invites an audience to take on the role of co-host.
2. The audience receives the invitation message in the <Link to="{{Global.SIG_SDK_API_ANDROID}}/interfaceio_1_1agora_1_1rtm_1_1_rtm_client_listener.html#af760814981718fb31d88acb8251d19b6">`onMessageReceived`</Link> callback.
3. The audience calls <Link to="{{Global.API_REF_ANDROID_ROOT}}/class_irtcengine.html#api_irtcengine_setclientrole">`setClientRole`</Link> to change the user role to `CLIENT_ROLE_BROADCASTER`.
4. After successfully changing the user role, the audience receives the `onClientRoleChanged` callback, and becomes a co-host.
5. The new co-host calls <Link to="{{Global.SIG_SDK_API_ANDROID}}/classio_1_1agora_1_1rtm_1_1_rtm_client.html#a997a31e6bfe1edc9b6ef58a931ef3f23">`onMessageReceived`</Link> to notify the role change to all users in the channel.
6. The host receives the <Link to="{{Global.SIG_SDK_API_ANDROID}}/interfaceio_1_1agora_1_1rtm_1_1_rtm_channel_listener.html#a2904a1f1f78c497b9176fffb853be96f">`onAttributesUpdated`</Link>) callback, and starts co-hosting with the new co-host.
5. The new co-host calls <Link to="{{Global.SIG_SDK_API_ANDROID}}/classio_1_1agora_1_1rtm_1_1_rtm_client.html#a997a31e6bfe1edc9b6ef58a931ef3f23">`addOrUpdateChannelAttributes`</Link> to notify the role change to all users in the channel.
6. The host receives the <Link to="{{Global.SIG_SDK_API_ANDROID}}/interfaceio_1_1agora_1_1rtm_1_1_rtm_channel_listener.html#a2904a1f1f78c497b9176fffb853be96f">`onAttributesUpdated`</Link> callback, and starts co-hosting with the new co-host.

To change a co-host back to an audience, follow the same steps, except when calling `setClientRole`, set the user role as `CLIENT_ROLE_AUDIENCE`.

Expand Down
Loading