Xamarin.Agora.Full.Android 2.3.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Xamarin.Agora.Full.Android --version 2.3.0                
NuGet\Install-Package Xamarin.Agora.Full.Android -Version 2.3.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Xamarin.Agora.Full.Android" Version="2.3.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Xamarin.Agora.Full.Android --version 2.3.0                
#r "nuget: Xamarin.Agora.Full.Android, 2.3.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Xamarin.Agora.Full.Android as a Cake Addin
#addin nuget:?package=Xamarin.Agora.Full.Android&version=2.3.0

// Install Xamarin.Agora.Full.Android as a Cake Tool
#tool nuget:?package=Xamarin.Agora.Full.Android&version=2.3.0                

Xamarin bindings to the native Android Agora.io Full SDK.

Product Compatible and additional computed target framework versions.
.NET net6.0-android was computed.  net7.0-android was computed.  net8.0-android was computed. 
MonoAndroid monoandroid is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Xamarin.Agora.Full.Android:

Package Downloads
Xamarin.Agora.Full.Forms

Agora Xamarin SDK for Xamarin.Forms. Supports iOS, Android and MacOS

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
3.7.1 5,492 9/15/2022
3.7.1-beta1 800 8/9/2022
3.6.0-beta1 1,378 12/23/2021
3.5.1 9,964 12/1/2021
3.5.1-beta1 404 11/19/2021
3.5.0.3 9,626 9/10/2021
3.5.0.2 3,374 8/16/2021
3.5.0.1 648 8/16/2021
3.5.0 1,111 7/25/2021
3.4.6 650 7/25/2021
3.4.5 1,843 6/30/2021
3.4.3 635 6/30/2021
3.4.2 2,452 5/27/2021
3.4.1 2,245 4/23/2021
3.4.0 730 4/20/2021
3.3.2 2,543 3/31/2021
3.3.1 1,082 3/9/2021
3.3.0 1,062 2/26/2021
3.2.1 4,191 1/4/2021
3.1.3-beta1 472 10/14/2020
3.1.2 6,283 9/23/2020
3.1.2-beta1 462 9/18/2020
3.1.1-beta2 457 9/1/2020
3.1.1-beta1 542 8/31/2020
3.0.1.1 2,997 6/26/2020
3.0.1 1,247 6/2/2020
3.0.1-beta1 460 6/2/2020
3.0.0.2 1,222 5/20/2020
3.0.0.2-beta1 598 4/29/2020
3.0.0-beta3 3,426 3/25/2020
3.0.0-beta2 534 3/25/2020
3.0.0-beta1 839 3/5/2020
2.9.4 2,688 2/24/2020
2.9.4-beta 603 2/17/2020
2.9.2.1-beta1 549 12/12/2019
2.9.2 3,416 10/25/2019
2.9.2-beta1 539 10/23/2019
2.9.1 1,368 10/9/2019
2.9.1-beta1 11,395 10/2/2019
2.9.0.1 1,648 8/18/2019
2.8.1 1,494 7/21/2019
2.4.1.1 789 7/20/2019
2.4.1.1-beta1 573 7/4/2019
2.4.0.1 3,527 4/5/2019
2.3.4-beta1 563 4/4/2019
2.3.3 2,159 1/31/2019
2.3.3-beta1 644 1/31/2019
2.3.1 2,445 10/30/2018
2.3.0 1,343 9/4/2018
2.2.3 1,301 7/10/2018
2.2.2 1,308 6/22/2018
2.2.1 1,220 6/1/2018
2.2.0 1,197 5/21/2018
2.2.0-beta1 937 5/21/2018
2.1.3 1,328 4/23/2018
2.1.2 1,203 4/10/2018
2.1.1 1,444 3/19/2018
2.1.1-beta1 3,796 1/22/2018
2.1.0 1,183 3/8/2018
2.0.2 1,236 12/15/2017
2.0.2-beta1 922 12/15/2017
1.14.0 1,131 10/24/2017
1.14.0-beta1 830 10/24/2017
1.13.1.1-beta1 936 9/29/2017
1.13.1 1,072 9/29/2017
1.13.1-beta1 799 9/29/2017
1.13.0 1,152 9/13/2017
1.13.0-beta1 815 9/12/2017
1.12.0 1,179 8/18/2017
1.12.0-beta1 791 8/18/2017
1.11.1.1 1,238 7/12/2017
1.11.1.1-beta1 858 7/12/2017
1.11.0.1 1,163 6/16/2017
1.11.0.1-beta1 897 6/16/2017
1.10.1.1 1,241 5/25/2017
1.10.1.1-beta1 869 5/25/2017
1.9.1.2 1,191 5/22/2017
1.9.1.1-beta1 1,091 4/13/2017
1.9.0.1-beta1 968 3/7/2017
1.8.1.1 1,299 3/14/2017
1.8.1.1-beta1 1,193 2/13/2017
1.8.0.3 1,265 1/10/2017
1.8.0.1 1,159 1/5/2017
1.8.0 1,385 1/5/2017

v2.3.0 (Released Aug 31st, 2018)
Before Reading
To support scenarios with video rotation and enable better quality for custom video source, this release deprecates the setVideoProfile interface and uses setVideoEncoderConfiguration instead to set the video encoding configurations. You can still use setVideoProfile, but Agora recommends using setVideoEncoderConfiguration to set the video profile because:

During a live broadcast, users can set the video orientation mode as adaptive, under which the SDK can transfer rotated video frames without cropping them, thus avoiding the “big headshot” or blurry images at the Player.
In scenarios involving external video source, the SDK adjusts the width and height of the output video frames on basis of the inputting video frames, avoiding unnecessary cropping and thereby renderering more image frames at the Player.
From v2.3.0, the LiveTranscoding Class was relocated from the io.agora.live Package to the io.agora.rtc.live package.

A spelling mistake was corrected in API constants.java in v2.3.0.

Before:
public static final int SOFEWARE_ENCODER = 1;
After:
public static final int SOFTWARE_ENCODER = 1;
The security keys are improved and updated in v2.1.0. If you are using an Agora SDK version below v2.1.0 and wish to migrate to the latest version, see Token Migration Guide.

New Features
1. Fallback options for a live broadcast under unreliable network conditions
The audio and video quality of a live broadcast will deteriorate under unreliable network conditions. To improve the efficiency of a live broadcast, the setLocalPublishFallbackOption and setRemoteSubscribeFallbackOption interfaces are added. These interfaces allow the SDK to automatically disable the video stream when the network condition cannot support both audio and video, and enable the video when the network conditions improve. onLocalPublishFallbackToAudioOnly or onRemoteSubscribeFallbackToAudioOnly is triggered when the stream falls back to audio-only or when the stream switches back to the video.

2. Notifies the user that the Token will expire in 30 seconds
The SDK returns the onTokenPrivilegeWillExpire callback 30 seconds before a Token expires to notify the app to renew it. When this callback is received, you need to generate a new Token on your server and call renewToken to pass the newly-generated Token to the SDK.

3. Returns user-specific upstream and downstream statistics, including the bitrate, frame rate, packet loss rate and time delay
The onRemoteAudioTransportStats and onRemoteVideoTransportStats callbacks are added to provide user-specific upstream and downstream statistics, including the bitrate, frame rate, and packet loss rate. During a call or a live broadcast, these callbacks are triggered every two seconds after the user receives audio/video packets from a remote user. The callbacks include the user ID, audio bitrate at the receiver, packet loss rate, and time delay (ms).

4. Sets the video encoder configurations
To support scenarios with video rotation and enable better quality for custom video source, this release deprecates the setVideoProfile interface and uses setVideoEncoderConfiguration instead to set the video encoding configurations. You can still use setVideoProfile, but Agora recommends using setVideoEncoderConfiguration to set the video profile because:

During a live broadcast, users can set the video orientation mode as adaptive, under which the SDK can transfer rotated video frames without cropping them, thus avoiding the “big headshot” or blurry images at the Player.
In scenarios involving external video source, the SDK adjusts the width and height of the output video frames on basis of the inputting video frames, avoiding unnecessary cropping and thereby renderering more image frames at the Player.
The VideoEncoderConfiguration class provides a set of configurable video parameters, including the dimension, frame rate, bitrate, and orientation. For more information on the API, see descriptions in Set the Video Encoder Configuration.

6. Adds support for background image settings in setLiveTranscoding
The backgroundImage parameter is added to the setLiveTranscoding method allowing you to set the background image in the combined video of a live broadcast.

Improvements
Improved the quality for one-on-one voice/video scenarios with optimized latency and smoothness, especially for areas like Southeast Asia, South America, Africa and Middle East.
Improved the audio encoder efficiency in a live broadcast to reduce user traffic while ensuring the call quality.
Improved the audio quality during a call or a live broadcast using the deep-learning algorithm.
Issues Fixed
Increased memory usage when multiple delegated hosts broadcast in the channel.
Occasional crashes on some Android devices.
The remote view does not display on some devices.
The local video cannot be enabled on some Android devices.
Occasional ghost images.
Occasional green line at the bottom of the video when a user switches from low stream to high stream in the communication mode.
Occassional crashes after interoperating with devices of other platforms from some Android devices.
Excessive increase in memory usage associated with a host when he/she frequently joins and leaves a channel of multiple delegated hosts.
Occasional black screens on some Android devices.
Occasional issue that the remote user cannot hear the host when the host swithces to AUDIENCE and then back to BROADCASTER.
Occasional issue that settings to the background image of live transcoding do not take effect.
Occasional issue that some devices have video height and width swapped in communication mode.
Occasional failure to respond to the destroy method after a user enables video and joins a channel.
Occasional crashes on the Android devices when the remote users frequently join and leave the channel.
Black screen due to failure to render the remote video on some Android devices.
The audience cannot adjust the channel volume on some special occasions.
Occasional issue that applications do not respond on some Android devices.
Occasional crashes on some Android devices when switching video resolution in a live broadcast.
A delegated host cannot see the video of the other hosts in the channel on some Android devices.
The bitrates cannot reach the target values on some Android devices when a user frequently joins and leaves the communication channel with different video profiles.
Occasional failure to capture video of the delegated host when the hosts and the audience frequently change roles.
Occasional failure to capture videos or publish streams on some Android devices when a user frequently joins and leaves a communication channel with different video profiles.
Occasional crashes when calling the setCameraFocusPositionInPreview method on some devices.
Occasional failure to enable the camera during communication on some Android devices.
Video freezes and stream publishing hangs on some Android devices a while after a user joins a communication or live broadcast channel.
Occasional crashes when one of the two broadcasters mutes or disables the local audio while playing the background music.
A user cannot join a communication channel after frequently changing his/her video encoder profiles.
Occasional crashes on some devices when preloading the sound effects.
Failure to render videos of lower resolutions on some Android devices.
Occasional issue that an Android client can still interoperate in a communication channel when removed from the dashboard.
Video resolution inconsistency between the encoder end and the decoder end in the live broadcast mode.
Failure to enable the hardware encoder on some Android devices.
Occasional video freeze in the communication or live broadcast mode.
Occasional crashes when calling the muteRemoteVideoStream method after joinning the channel.
Fixed occasional video freeze on some Android devices when switching from the communication mode to the live broadcast mode.
Occasional crashes on some Android devices when frequently turning on and off the flashlight during a live broadcast.
The host cannot receive the A/V stream of the delegated host on some Android devices.
Occasional crashes on some Android devices when setting the video encoder profile of an external video source during a live broadcast.
Incorrect video orientation on some Android devices when setting the video profile of an external video source during a live broadcast.
Occasional issue on some Android devices that the video fallback option does not take effect in the case of weak network.
Occasional crashes on some Android devices when a user frequently changes the Token.
Occasional failure to split the screen on some Android devices.
The CDN audience on some Android devices cannot see the video of the host.
Occasional video freezes when tswitching from multiple hosts to one single host.
Occasional interoperability failures between the SIP devices and the SDK.
Occasional issue on Mi 8 that the local video cannot be seen locally or remotely.
Occasional issue on some Android devices that the users cannot see each other.
Occasional echoes when using a specific audio card.
Occasional video delay on some Android devices.
Occaional crashes on some Android devices when transmitting the video streams.
API Changes
To improve user experience, Agora has cleaned up and made the following changes to its APIs:

To avoid adding too many users with the same UID into the CDN publishing channel, the following API is deleted in v2.3.0, and the type of the return value of addUser is changed from void to int.

setUser
The following APIs are deleted and no longer supported in v2.3.0. Agora provides the Recording SDK for better recording services. For more information on the Recoding SDK, see Release Notes for Agora Recording SDK.

startRecordingService
stopRecordingService
refreshRecordingServiceStatus
The following deprecated APIs are deleted and no longer supported from v2.3.0:

monitorConnectionEvent
monitorBluetoothHeadsetEvent
monitorHeadsetEvent
setPreferHeadset
switchView
setSpeakerphoneVolume
Backwards Compatibility Breaking Changes
None.

Known Issues
None.

origin: https://docs.agora.io/en/2.4/product/Video/Product%20Overview/release_android_video