The Agora SDK supports multiple platforms with different implementations of the API methods. The following table lists the core API methods on Android, iOS/macOS, the Web, and Windows to help you quickly understand the differences.

Core Method Android iOS/macOS Web Windows
Initialize create sharedEngineWithAppId AgoraRTC.createClient
Client.init
createAgoraRtcEngine
initialize
Set the Channel Profile setChannelProfile setChannelProfile AgoraRTC.createClient[1] setChannelProfile
Set the Client Role setClientRole setClientRole N/A[2] setClientRole
Join a Channel joinChannel joinChannelByToken Client.join joinChannel
Leave a Channel leaveChannel leaveChannel Client.leave leaveChannel
Renew the Token renewToken renewToken Client.renewToken renewToken
Enable Interoperability enableWebSdkInteroperability enableWebSdkInteroperability N/A[3] enableWebSdkInteroperability
Destroy an Instance destroy destroy N/A release

[1] The Agora Web SDK sets the channel profile by calling the ClientConfig method in AgoraRTC.createClient, see ClientConfig.

[2] The Agora Web SDK does not have a method to set the client role, but you can use the Client.publish, Client.unpublish, and Client.subscribe methods to switch roles between the host and audience, see Switch the Client Role.

[3] To communicate with other platforms, set the mode parameter as live in ClientConfig for the Web SDK.