Xamarin.Agora.Full.iOS 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.iOS --version 2.3.0
NuGet\Install-Package Xamarin.Agora.Full.iOS -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.iOS" 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.iOS --version 2.3.0
#r "nuget: Xamarin.Agora.Full.iOS, 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.iOS as a Cake Addin
#addin nuget:?package=Xamarin.Agora.Full.iOS&version=2.3.0

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

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

Product Compatible and additional computed target framework versions.
Xamarin.iOS xamarinios10 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.iOS:

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 6,045 9/15/2022
3.7.1-beta1 5,431 8/9/2022
3.6.0-beta1 4,883 12/23/2021
3.5.1 5,767 12/22/2021
3.5.1-beta1 2,246 11/19/2021
3.5.0.3 14,831 9/10/2021
3.5.0.2 5,523 8/16/2021
3.5.0.1 2,789 8/16/2021
3.5.0 3,097 7/25/2021
3.4.6 2,811 7/25/2021
3.4.5 2,614 6/30/2021
3.4.4 2,593 6/30/2021
3.4.2 2,864 5/27/2021
3.4.1 4,139 4/23/2021
3.4.0 2,711 4/21/2021
3.3.2 2,878 3/31/2021
3.3.1 2,607 3/12/2021
3.3.0 3,351 2/26/2021
3.2.1 2,831 1/4/2021
3.1.3-beta14 1,720 9/28/2020
3.1.2 4,561 9/26/2020
3.1.2-beta1 1,840 9/24/2020
3.1.1-beta2 1,731 9/1/2020
3.1.1-beta1 2,156 8/31/2020
3.0.1.3-beta2 1,992 6/26/2020
3.0.1.3-beta1 3,473 6/9/2020
3.0.1.2 2,818 6/9/2020
3.0.1.1 2,534 6/8/2020
3.0.1 2,826 6/2/2020
3.0.1-beta1 2,657 6/2/2020
3.0.0.2 2,969 5/20/2020
3.0.0.2-beta1 2,679 4/29/2020
3.0.0-beta2 2,638 3/27/2020
3.0.0-beta1 2,594 3/5/2020
2.9.3.1 3,683 2/24/2020
2.9.1 4,063 10/9/2019
2.9.1-beta1 15,239 10/2/2019
2.9.0.1 3,122 8/18/2019
2.8.0 6,421 7/21/2019
2.4.1.1 2,507 7/20/2019
2.4.1.1-beta1 2,018 7/4/2019
2.4.0.1 6,273 4/5/2019
2.4.0-beta2 1,800 4/4/2019
2.4.0-beta1 1,974 4/4/2019
2.3.3 3,940 1/31/2019
2.3.3-beta1 2,256 1/31/2019
2.3.1 4,633 10/25/2018
2.3.0 3,173 9/4/2018
2.2.3 3,487 7/10/2018
2.2.2 3,872 6/22/2018
2.2.2-beta3 2,358 6/25/2018
2.2.1 3,076 6/1/2018
2.2.0 3,092 5/21/2018
2.2.0-beta1 2,488 5/21/2018
2.1.3 2,126 4/23/2018
2.1.2.2 1,929 4/12/2018
2.1.2 2,154 4/10/2018
2.1.1 2,082 3/19/2018
2.1.0.2 2,110 3/9/2018
2.1.0 1,929 3/8/2018
2.0.3 2,012 12/18/2017
2.0.2.2 1,800 12/18/2017
2.0.2 2,112 12/15/2017
1.14.0 2,175 10/24/2017
1.13.1 2,075 9/29/2017
1.13.0 1,948 9/13/2017
1.13.0-beta1 1,644 9/12/2017
1.12.0 2,044 8/18/2017
1.12.0-beta1 1,586 8/18/2017
1.11.1.1 2,134 7/12/2017
1.11.1.1-beta1 1,620 7/12/2017
1.11.0.1 2,082 6/16/2017
1.11.0.1-beta1 1,354 6/16/2017
1.10.0.1 1,781 5/25/2017
1.10.0.1-beta1 1,312 5/25/2017
1.10.0-beta2 1,558 5/25/2017
1.9.1.2 1,673 5/22/2017
1.9.1.1-beta1 1,664 4/13/2017
1.9.0.1-beta2 2,008 3/7/2017
1.9.0.1-beta1 1,485 3/7/2017
1.8.3.1 2,094 3/14/2017
1.8.3.1-beta1 1,751 2/13/2017
1.8.0.6-beta3 1,417 2/3/2017
1.8.0.6-beta2 1,557 1/30/2017
1.8.0.5 1,778 1/14/2017
1.8.0.5-beta1 1,447 1/27/2017
1.8.0.4 1,725 1/10/2017
1.8.0.3 1,762 1/10/2017
1.8.0.2 1,932 1/9/2017
1.8.0.1 1,762 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.
An Accelerate.framework library was added to the SDK in v2.3.0, which is capable of large-scale mathemetical computations and image calculations, optimzed for high performance.
The security keys are improved and updated in v2.1.0. If you are using an Agora SDK version earlier than 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 setRemoteSubscribFallbackOption 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. didLocalPublishFallbackToAudioOnly or didRemoteSubscribeFallbackToAudioOnly 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 tokenPrivilegeWillExpire 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 audioTransportStatsOfUid and videoTransportStatsOfUid 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 SDK’s Control over an Audio Session
The SDK and app both have control over the audio session. However, the app may restrict the SDK’s control over an audio session and allow another app or a third-party component to control it by using the setAudioSessionOperationRestriction method. You can implement different levels of control by choosing the corresponding restriction. You can call this method before or after joining the channel.

5. 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 AgoraVideoEncoderConfiguration 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 video renderer crashes when the app switches to the background on some iOS devices.
Occasional app crashes on some iOS devices.
The remote view does not display on some devices.
Occasional black screens on some iOS 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.
Crashes after publishing streams from some iOS devices.
Occasional crashes on some iOS devices.
Crash when a user frequently mutes and resumes all sound effects on some iOS devices.
Excessive increase in memory usage associated with a host when he/she frequently joins and leaves a channel of multiple delegated hosts.
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 issue on some iOS devices that a user fails to hear any sound after returnning to the channel from a system phone call.
The audience cannot adjust the channel volume on some special occasions.
Occasional crashes when a user frequently joins and leaves the channel.
Occasional crashes when frequently setting the video encoder profile on some iOS devices.
Occasional issue on iOS devices that videos from a remote user in a communication channel cannot be seen.
Occasional failure to capture video of the delegated host when the hosts and the audience frequently change roles.
Occasional issue on some iOS devices that a Web user can subscribe to the low video stream even when the iOS device does not have the dual-stream mode enabled.
Occasional crashes when calling the setCameraFocusPositionInPreview method on some devices.
Occasional crashes when one of the two broadcasters mutes or disables the local audio while playing the background music.
Occasional crashes on the iOS device when the device interoperates with the web and when a Web user frequently joins and leaves a channel.
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.
Video resolution inconsistency between the encoder end and the decoder end in the live broadcast mode.
Occasional video freeze in the communication or live broadcast mode.
Occasional crashes when calling the muteRemoteVideoStream method after joinning the channel.
Occasional issue that some iOS devices can still receive the video fallback-specific callbacks even when the video fallback option is not enabled.
Incorrect video orientation on some iOS devices when setting the video profile of an external video source during a live broadcast.
An iOS issue that the bitrates cannot reach the target values when manually setting the video profile.
Occasional failure to interoperate between an iOS and a macOS device.
Occasional crashes on some iOS devices when a user leaves the live broadcast channel while playing music using a third-party application.
Occasional crashes on some iOS devices when leaving the channel.
An iOS issue that when a host has injected a stream to a broadcast channel other hosts can still inject a second stream to the channel.
Occasional crashes on some iOS devices when the user frequently turns on and off the camera.
Occasional video freezes when tswitching from multiple hosts to one single host.
Occasional interoperability failures between the SIP devices and the SDK.
Occasional echoes when using a specific audio card.
Occasional video delay on some iOS devices.
The video window size jumps from small to big on some iOS devices.
Image blurs on some iOS devices when the camera vibrates.
Failure to adjust the volume on some iOS devices.
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 APIs are added in v2.3.0:

addUser
removeUser
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:

switchView
setSpeakerphoneVolume
Backwards Compatibility Breaking Changes
None.

Known Issues
None.

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