Agora SDK supports multiple platforms, but the implementations of the APIs are not exactly the same across platforms. The table below lists the core APIs on Android, iOS/macOS, Web, and Windows to help you quickly understand the differences.

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

[1] Agora Web SDK sets the channel profile by ClientConfig in AgoraRTC.createClient , see ClientConfig for details.

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

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