Introduction
The meetings polls object can be accessed using meeting.polls
. It provides
methods to create polls, vote, and more.
meeting.polls.polls
returns an array of all polls created in a meeting, where
each element is an object of type DytePollMessage
.
class DytePollMessage{
let id: String
let question: String
let anonymous: Bool
let hideVotes: Bool
let createdBy: String
let options: [DytePollOption]
}
The type DytePollMessage
is the main class for any poll in Dyte. It also
contains list of DytePollOption
which are options for a given poll. And every
DytePollOption
has list of votes inside of it. Votes are objects of class
DytePollVote
which internally has id and name of the vote.
class DytePollOption{
let text: String
let votes: [DytePollVote]
let count: Int
}
class DytePollVote{
let id: String
let name: String
}
One can easily create, vote and view polls by listening to callbacks on
meeting
object.
Listening to new polls in a meeting
To be able to receive new poll messages you need to implement a method
onPollUpdates()
method from callback DyteMeetingRoomEventsListener
. You can
subscribe to this events by calling
meeting.addMeetingEventsListener(meetingViewModel)
extension MeetingViewModel: DyteMeetingRoomEventsListener {
func onNewPoll(poll: DytePollMessage) {
// code to handle new poll
}
func onPollUpdates(pollMessages: [DytePollMessage]) {
// code to handle polls and their vote updates.
}
}