Send emoji reactions
The code on this page works with either the default UI or the custom UI.
The code on this page works with either the default UI or the custom UI.
Send and receive emoji reactions and feedback with the SDK through the ZoomSDKReactionController.
if let reactionCtrl = ZoomSDK.shared().getMeetingService()?.getReactionController() {
}
ZoomSDKReactionController *reactionCtrl = [[[ZoomSDK sharedSDK] getMeetingService] ZoomSDKReactionController *reactionCtrl = [[[ZoomSDK sharedSDK] getMeetingService] getReactionController];
if (reactionCtrl) {
}
To send reactions, first check that reactions are supported in the current meeting. Then, use sendEmojiReaction.
if reactionCtrl.isEmojiReactionEnabled() {
reactionCtrl.send(ZoomSDKEmojiReactionType_Clap)
}
if (reactionCtrl.isEmojiReactionEnabled) {
[reactionCtrl sendEmojiReaction: ZoomSDKEmojiReactionType_Clap];
}
Supported emojis and feedback
The ZoomSDKEmojiReactionType enum currently supports only these unicode emojis.
ZoomSDKEmojiReactionType_ClapZoomSDKEmojiReactionType_ThumbsupZoomSDKEmojiReactionType_HeartZoomSDKEmojiReactionType_JoyZoomSDKEmojiReactionType_OpenmouthZoomSDKEmojiReactionType_Tada
Emoji feedback is also supported, but is done through a separate method.
reactionCtrl.send(ZoomSDKEmojiFeedbackType_Yes)
[reactionCtrl sendEmojiFeedback:ZoomSDKEmojiFeedbackType_Yes];
These feedback types are supported.
ZoomSDKEmojiFeedbackType_YesZoomSDKEmojiFeedbackType_NoZoomSDKEmojiFeedbackType_SpeedUpZoomSDKEmojiFeedbackType_SlowDownZoomSDKEmojiFeedbackType_Away
Get reaction and feedback updates
To get updates related to emoji reaction and feedback, implement the ZoomSDKReactionControllerDelegate protocol and set the delegate in ZoomSDKReactionController.
if let reactionCtrl = ZoomSDK.shared().getMeetingService()?.getReactionController() {
reactionCtrl.delegate = self
}
extension ViewController: ZoomSDKReactionControllerDelegate {
func onEmojiReactionReceived(_ userid: UInt32, reactionType type: ZoomSDKEmojiReactionType, reactionSkinTone skinTone: ZoomSDKEmojiReactionSkinTone) {
}
func onEmojiReactionReceived(inWebinar type: ZoomSDKEmojiReactionType) {
}
func onEmojiFeedbackReceived(_ userid: UInt32, emojiFeedbackType type: ZoomSDKEmojiFeedbackType) {
}
func onEmojiFeedbackCanceled(_ userid: UInt32) {
}
}
// In your .h file
@interface ZMSDKTestWindow : NSWindowController <ZoomSDKReactionControllerDelegate> {
}
// In your .m file
ZoomSDKReactionController *reactionCtrl = [[[ZoomSDK sharedSDK] getMeetingService] getReactionController];
if (!reactionCtrl) {
reactionCtrl.delegate = self;
}
}
- (void) onEmojiReactionReceivedInWebinar:(ZoomSDKEmojiReactionType)type {
}
- (void) onEmojiReactionReceived:(unsigned int)userid reactionType:(ZoomSDKEmojiReactionType)type reactionSkinTone:(ZoomSDKEmojiReactionSkinTone)skinTone {
}
- (void) onEmojiFeedbackReceived:(unsigned int)userid emojiFeedbackType:(ZoomSDKEmojiFeedbackType)type {
}
- (void) onEmojiFeedbackCanceled:(unsigned int)userid {
}
These callbacks are triggered when any participant sends a reaction or feedback in a meeting with the user ID of the participant who sent or canceled the reaction or feedback. Additionally, there is a dedicated callback for when reactions are sent by webinar attendees anonymously.