# Send emoji reactions

<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->

> 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 `IEmojiReactionController`.

```cpp
IEmojiReactionController* emojiReactionController = meetingService->GetMeetingEmojiReactionController()→→→val emojiReactionController = ZoomSDK.getInstance().inMeetingService.emojiReactionController;
```

To send reactions, first check that reactions are supported in the current meeting.
Then, use `SendEmojiReaction`.

```cpp
if (emojiReactionController->IsEmojiReactionEnabled()){
    emojiReactionController->SendEmojiReaction(SDKEmojiReactionType_Clap);
}
```

The `SDKEmojiReactionType` enum does not support all unicode emojis. These are the available values.

-   `SDKEmojiReactionType_Clap`
-   `SDKEmojiReactionType_Thumbsup`
-   `SDKEmojiReactionType_Heart`
-   `SDKEmojiReactionType_Joy`
-   `SDKEmojiReactionType_Openmouth`
-   `SDKEmojiReactionType_Tada`

Emoji feedback is also supported, but is done through a separate method.

```cpp
emojiReactionController->SendEmojiFeedback(SDKEmojiFeedbackType_Yes);
```

These feedback types are supported.

-   `SDKEmojiFeedbackType_Yes`
-   `SDKEmojiFeedbackType_No`
-   `SDKEmojiFeedbackType_SpeedUp`
-   `SDKEmojiFeedbackType_SlowDown`
-   `SDKEmojiFeedbackType_Away`

To get updates related to emoji reaction and feedback, implement the `IEmojiReactionControllerEvent` i
nterface and pass it into the `IEmojiReactionController` using the `SetEvent` method.

```cpp
void OnEmojiReactionReceived(unsigned int sender_id, SDKEmojiReactionType type) {

  // Received emoji reaction from user with sender_id of type type

}

void OnEmojiReactionReceivedInWebinar(SDKEmojiReactionType type) {

  // Received emoji reaction of type type in webinar

}

void OnEmojiFeedbackReceived(unsigned int sender_id, SDKEmojiFeedbackType type) {

  // Received emoji feedback from user with sender_id of type type

}

void OnEmojiFeedbackCanceled(unsigned int sender_id) {
    // Emoji cancelled by user with id sender_id
}

emojiReactionController->SetEvent(event);
```

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.

---
