Agora RTC Objective-C API Reference  Refactor
Public Member Functions
IRtcConnectionObserver Class Referenceabstract

Public Member Functions

virtual void onConnected (const TConnectionInfo &connectionInfo, CONNECTION_CHANGED_REASON_TYPE reason)=0
 
virtual void onDisconnected (const TConnectionInfo &connectionInfo, CONNECTION_CHANGED_REASON_TYPE reason)=0
 
virtual void onConnecting (const TConnectionInfo &connectionInfo, CONNECTION_CHANGED_REASON_TYPE reason)=0
 
virtual void onReconnecting (const TConnectionInfo &connectionInfo, CONNECTION_CHANGED_REASON_TYPE reason)=0
 
virtual void onConnectionLost (const TConnectionInfo &connectionInfo)=0
 
virtual void onLastmileQuality (const QUALITY_TYPE quality)=0
 
virtual void onLastmileProbeResult (const LastmileProbeResult &result)=0
 
virtual void onTokenPrivilegeWillExpire (const char *token)=0
 
virtual void onTokenPrivilegeDidExpire ()=0
 
virtual void onConnectionFailure (const TConnectionInfo &connectionInfo, CONNECTION_CHANGED_REASON_TYPE reason)=0
 
virtual void onUserJoined (user_id_t userId)=0
 
virtual void onUserLeft (user_id_t userId, USER_OFFLINE_REASON_TYPE reason)=0
 
virtual void onTransportStats (const RtcStats &stats)=0
 
virtual void onChangeRoleSuccess (CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole, const ClientRoleOptions &newRoleOptions)
 
virtual void onChangeRoleFailure (CLIENT_ROLE_CHANGE_FAILED_REASON reason, CLIENT_ROLE_TYPE currentRole)
 
virtual void onLicenseValidationFailure (LICENSE_ERROR_TYPE error)
 
virtual void onUserNetworkQuality (user_id_t userId, QUALITY_TYPE txQuality, QUALITY_TYPE rxQuality)
 
virtual void onNetworkTypeChanged (NETWORK_TYPE type)
 
virtual void onApiCallExecuted (int err, const char *api, const char *result) 1
 
virtual void onContentInspectResult (media::CONTENT_INSPECT_RESULT result)
 
virtual void onSnapshotTaken (uid_t uid, const char *filePath, int width, int height, int errCode)
 
virtual void onError (ERROR_CODE_TYPE error, const char *msg)
 
virtual void onChannelMediaRelayStateChanged (int state, int code)=0
 
virtual void onLocalUserRegistered (uid_t uid, const char *userAccount)
 
virtual void onUserAccountUpdated (uid_t uid, const char *userAccount)
 
virtual void onStreamMessageError (user_id_t userId, int streamId, int code, int missed, int cached)
 
virtual void onEncryptionError (ENCRYPTION_ERROR_TYPE errorType)
 
virtual void onUploadLogResult (const char *requestId, bool success, UPLOAD_ERROR_REASON reason)
 
virtual void onWlAccMessage (WLACC_MESSAGE_REASON reason, WLACC_SUGGEST_ACTION action, const char *wlAccMsg)
 
virtual void onWlAccStats (WlAccStats currentStats, WlAccStats averageStats)
 

Detailed Description

The IRtcConnectionObserver class, which observes the connection state of the SDK.

Constructor & Destructor Documentation

◆ ~IRtcConnectionObserver()

virtual ~IRtcConnectionObserver ( )
inlinevirtual

Member Function Documentation

◆ onConnected()

virtual void onConnected ( const TConnectionInfo connectionInfo,
CONNECTION_CHANGED_REASON_TYPE  reason 
)
pure virtual

Occurs when the connection state between the SDK and the Agora channel changes to CONNECTION_STATE_CONNECTED(3).

Parameters
connectionInfoThe information of the connection. See TConnectionInfo.
reasonThe reason of the connection state change. See CONNECTION_CHANGED_REASON_TYPE.

◆ onDisconnected()

virtual void onDisconnected ( const TConnectionInfo connectionInfo,
CONNECTION_CHANGED_REASON_TYPE  reason 
)
pure virtual

Occurs when the connection state between the SDK and the Agora channel changes to CONNECTION_STATE_DISCONNECTED(1).

Parameters
connectionInfoThe information of the connection. See TConnectionInfo.
reasonThe reason of the connection state change. See CONNECTION_CHANGED_REASON_TYPE.

◆ onConnecting()

virtual void onConnecting ( const TConnectionInfo connectionInfo,
CONNECTION_CHANGED_REASON_TYPE  reason 
)
pure virtual

Occurs when the connection state between the SDK and the Agora channel changes to CONNECTION_STATE_CONNECTING(2).

Parameters
connectionInfoThe information of the connection. See TConnectionInfo.
reasonThe reason of the connection state change. See CONNECTION_CHANGED_REASON_TYPE.

◆ onReconnecting()

virtual void onReconnecting ( const TConnectionInfo connectionInfo,
CONNECTION_CHANGED_REASON_TYPE  reason 
)
pure virtual

Occurs when the connection state between the SDK and the Agora channel changes to CONNECTION_STATE_RECONNECTING(4).

Parameters
connectionInfoThe information of the connection. See TConnectionInfo.
reasonThe reason of the connection state change. See CONNECTION_CHANGED_REASON_TYPE.

◆ onReconnected()

virtual void onReconnected ( const TConnectionInfo connectionInfo,
CONNECTION_CHANGED_REASON_TYPE  reason 
)
pure virtual

◆ onConnectionLost()

virtual void onConnectionLost ( const TConnectionInfo connectionInfo)
pure virtual

Occurs when the SDK loses connection with the Agora channel.

Parameters
connectionInfoThe information of the connection. See TConnectionInfo.

◆ onLastmileQuality()

virtual void onLastmileQuality ( const QUALITY_TYPE  quality)
pure virtual

Reports the quality of the last-mile network.

The SDK triggers this callback within two seconds after the app calls startLastmileProbeTest.

Parameters
qualityQuality of the last-mile network: QUALITY_TYPE.

◆ onLastmileProbeResult()

virtual void onLastmileProbeResult ( const LastmileProbeResult result)
pure virtual

Reports the result of the last-mile network probe test.

The SDK triggers this callback within 30 seconds after the app calls startLastmileProbeTest.

Parameters
resultThe result of the last-mile network probe test: LastmileProbeResult.

◆ onTokenPrivilegeWillExpire()

virtual void onTokenPrivilegeWillExpire ( const char *  token)
pure virtual

Occurs when the token expires in 30 seconds.

The SDK triggers this callback to remind the app to get a new token before the token privilege expires.

Upon receiving this callback, you must generate a new token on your server and call renewToken to pass the new token to the SDK.

Parameters
tokenThe pointer to the token that expires in 30 seconds.

◆ onTokenPrivilegeDidExpire()

virtual void onTokenPrivilegeDidExpire ( )
pure virtual

Occurs when the token has expired.

Upon receiving this callback, you must generate a new token on your server and call renewToken to pass the new token to the SDK.

◆ onConnectionFailure()

virtual void onConnectionFailure ( const TConnectionInfo connectionInfo,
CONNECTION_CHANGED_REASON_TYPE  reason 
)
pure virtual

Occurs when the connection state between the SDK and the Agora channel changes to CONNECTION_STATE_FAILED(5).

Parameters
connectionInfoThe connection information: TConnectionInfo.
reasonThe reason of the connection state change: CONNECTION_CHANGED_REASON_TYPE.

◆ onUserJoined()

virtual void onUserJoined ( user_id_t  userId)
pure virtual

Occurs when a remote user joins the channel.

You can get the ID of the remote user in this callback.

Parameters
userIdThe ID of the remote user who joins the channel.

◆ onUserLeft()

virtual void onUserLeft ( user_id_t  userId,
USER_OFFLINE_REASON_TYPE  reason 
)
pure virtual

Occurs when a remote user leaves the channel.

You can know why the user leaves the channel through the reason parameter.

Parameters
userIdThe ID of the user who leaves the channel.
reasonThe reason why the remote user leaves the channel: USER_OFFLINE_REASON_TYPE.

◆ onTransportStats()

virtual void onTransportStats ( const RtcStats stats)
pure virtual

Reports the transport statistics of the connection.

The SDK triggers this callback once every two seconds when the connection state is CONNECTION_STATE_CONNECTED.

Parameters
statsThe pointer to RtcStats.

◆ onChangeRoleSuccess()

virtual void onChangeRoleSuccess ( CLIENT_ROLE_TYPE  oldRole,
CLIENT_ROLE_TYPE  newRole,
const ClientRoleOptions newRoleOptions 
)
inlinevirtual

Occurs when the role of the local user changes.

Parameters
oldRoleThe previous role of the local user: CLIENT_ROLE_TYPE.
newRoleThe current role of the local user: CLIENT_ROLE_TYPE.
newRoleOptionsThe client role options of the current role of the local user: ClientRoleOptions.

◆ onChangeRoleFailure()

virtual void onChangeRoleFailure ( CLIENT_ROLE_CHANGE_FAILED_REASON  reason,
CLIENT_ROLE_TYPE  currentRole 
)
inlinevirtual

Occurs when the local user fails to change the user role.

◆ onLicenseValidationFailure()

virtual void onLicenseValidationFailure ( LICENSE_ERROR_TYPE  error)
inlinevirtual

Occurs when connection license verification fails

You can know the reason accordding to error code

Parameters
errorverify fail reason

◆ onUserNetworkQuality()

virtual void onUserNetworkQuality ( user_id_t  userId,
QUALITY_TYPE  txQuality,
QUALITY_TYPE  rxQuality 
)
inlinevirtual

Reports the network quality of each user.

The SDK triggers this callback once every two seconds to report the uplink and downlink network conditions of each user in the channel, including the local user.

Parameters
userIdThe ID of the user. If userId is empty, this callback reports the network quality of the local user.
txQualityThe uplink network quality: QUALITY_TYPE.
rxQualityThe downlink network quality: QUALITY_TYPE.

◆ onNetworkTypeChanged()

virtual void onNetworkTypeChanged ( NETWORK_TYPE  type)
inlinevirtual

Occurs when the network type is changed.

Parameters
typeThe current network type. See NETWORK_TYPE.

◆ onApiCallExecuted()

virtual void onApiCallExecuted ( int  err,
const char *  api,
const char *  result 
)
inlinevirtual

Occurs when an API method is executed.

Deprecated:
This callback is deprecated. Use other specific event callbacks instead.
Parameters
errThe error code that the SDK reports when the method call fails. If the SDK reports 0, the method call succeeds.
apiThe API method that is executed.
resultThe result of the method call.

◆ onContentInspectResult()

virtual void onContentInspectResult ( media::CONTENT_INSPECT_RESULT  result)
inlinevirtual

Reports result of Content Inspect

◆ onSnapshotTaken()

virtual void onSnapshotTaken ( uid_t  uid,
const char *  filePath,
int  width,
int  height,
int  errCode 
)
inlinevirtual

snapshot taken callback

Occurs when takeSnapshot API result is obtained

Parameters
channelchannel name
uiduser id
filePathimage is saveed file path
widthimage width
heightimage height
errCode0 is ok negative is error

◆ onError()

virtual void onError ( ERROR_CODE_TYPE  error,
const char *  msg 
)
inlinevirtual

Reports the error code and error message.

Parameters
errorThe error code: ERROR_CODE_TYPE.
msgThe error message.

◆ onChannelMediaRelayStateChanged()

virtual void onChannelMediaRelayStateChanged ( int  state,
int  code 
)
pure virtual

Occurs when the state of the channel media relay changes.

Parameters
stateThe state code:
  • RELAY_STATE_IDLE(0): The SDK is initializing.
  • RELAY_STATE_CONNECTING(1): The SDK tries to relay the media stream to the destination channel.
  • RELAY_STATE_RUNNING(2): The SDK successfully relays the media stream to the destination channel.
  • RELAY_STATE_FAILURE(3): A failure occurs. See the details in code.
codeThe error code:
  • RELAY_OK(0): The state is normal.
  • RELAY_ERROR_SERVER_ERROR_RESPONSE(1): An error occurs in the server response.
  • RELAY_ERROR_SERVER_NO_RESPONSE(2): No server response. You can call the leaveChannel method to leave the channel.
  • RELAY_ERROR_NO_RESOURCE_AVAILABLE(3): The SDK fails to access the service, probably due to limited resources of the server.
  • RELAY_ERROR_FAILED_JOIN_SRC(4): Fails to send the relay request.
  • RELAY_ERROR_FAILED_JOIN_DEST(5): Fails to accept the relay request.
  • RELAY_ERROR_FAILED_PACKET_RECEIVED_FROM_SRC(6): The server fails to receive the media stream.
  • RELAY_ERROR_FAILED_PACKET_SENT_TO_DEST(7): The server fails to send the media stream.
  • RELAY_ERROR_SERVER_CONNECTION_LOST(8): The SDK disconnects from the server due to poor network connections. You can call the leaveChannel method to leave the channel.
  • RELAY_ERROR_INTERNAL_ERROR(9): An internal error occurs in the server.
  • RELAY_ERROR_SRC_TOKEN_EXPIRED(10): The token of the source channel has expired.
  • RELAY_ERROR_DEST_TOKEN_EXPIRED(11): The token of the destination channel has expired.

◆ onLocalUserRegistered()

virtual void onLocalUserRegistered ( uid_t  uid,
const char *  userAccount 
)
inlinevirtual

Occurs when the local user successfully registers a user account by calling the joinChannelWithUserAccount method.This callback reports the user ID and user account of the local user.

Parameters
uidThe ID of the local user.
userAccountThe user account of the local user.

◆ onUserAccountUpdated()

virtual void onUserAccountUpdated ( uid_t  uid,
const char *  userAccount 
)
inlinevirtual

Technical Preview, please do not depend on this event.

◆ onStreamMessageError()

virtual void onStreamMessageError ( user_id_t  userId,
int  streamId,
int  code,
int  missed,
int  cached 
)
inlinevirtual

Reports the error that occurs when receiving data stream messages.

Parameters
userIdThe ID of the user sending the data stream.
streamIdthe ID of the sent data stream, returned in the createDataStream method.
codeThe error code.
missedThe number of lost messages.
cachedThe number of incoming cached messages when the data stream is interrupted.

◆ onEncryptionError()

virtual void onEncryptionError ( ENCRYPTION_ERROR_TYPE  errorType)
inlinevirtual

Reports the error type of encryption.

Parameters
typeSee ENCRYPTION_ERROR_TYPE.

◆ onUploadLogResult()

virtual void onUploadLogResult ( const char *  requestId,
bool  success,
UPLOAD_ERROR_REASON  reason 
)
inlinevirtual

Reports the user log upload result

Parameters
requestIdRequestId of the upload
successIs upload success
reasonReason of the upload, 0: OK, 1 Network Error, 2 Server Error.

◆ onWlAccMessage()

virtual void onWlAccMessage ( WLACC_MESSAGE_REASON  reason,
WLACC_SUGGEST_ACTION  action,
const char *  wlAccMsg 
)
inlinevirtual

Occurs when the WIFI message need be sent to the user.

Parameters
reasonThe reason of notifying the user of a message.
actionSuggest an action for the user.
wlAccMsgThe message content of notifying the user.

◆ onWlAccStats()

virtual void onWlAccStats ( WlAccStats  currentStats,
WlAccStats  averageStats 
)
inlinevirtual

Occurs when SDK statistics wifi acceleration optimization effect.

Parameters
currentStatsInstantaneous value of optimization effect.
averageStatsAverage value of cumulative optimization effect.