SDK ver 1.13.0
SDK can utilize the outbound video URL as a parameter
SDK processes the outbound video URL and initiates a call to the agent.
SDK can utilize the scheduled video URL as a parameter
The SDK processes the scheduled video URL and directs the visitor to the ‘waiting room’ until the scheduled start time when the agent will join.
The VeVisitorVideoCall function of the SDK can be utilized to make custom implementations for escalation or schedule scenarios. If users receive a special VeVisitorVideoCall URL, it can be directed towards the associated agent with VeVisitorVideoCall(Url:String) and the SDK will call the associated Agent.
Example:
val veVisitorUrl="https://videome.leadsecure.com/ve/aBcDef" val video = VideoEngager(this,sett, VideoEngager.Engine.generic) if(video.Connect(VideoEngager.CallType.video)) { video.onEventListener = listener video.VeVisitorVideoCall(veVisitorUrl) }else Toast.makeText(this, "Error from connection", Toast.LENGTH_SHORT).show() |
SDK ver 1.14.0
SDK can request Genesys Cloud schedule meetings (schedule callback)
We provide several methods by which to request scheduled meetings with the Genesys Cloud Agent. The implementation can be seen in GC_Activity.kt class in ClickListener of the buttonschedule element.
Examples:
Create scheduled meeting at specific date/time
val meetingDateTime = Calendar.getInstance() meetingDateTime.set(2022, 7, 15, 7, 0) //Meeting request at 15.07.2022 07:00 val video = VideoEngager(this, sett, VideoEngager.Engine.genesys) video.onEventListener = listener val scheduleCallbackAnswer = object : Answer() { override fun onSuccessResult(result: Result) { // this section displays information about meeting // please look at ScheduleResultActivity.kt for examples of how to proceed with the meeting result } } video.VeVisitorCreateScheduleMeeting(meetingDateTime.time,true, scheduleCallbackAnswer) |
Create scheduled meeting as soon as possible
val video = VideoEngager(this, sett, VideoEngager.Engine.genesys) video.onEventListener = listener val scheduleCallbackAnswer = object : Answer() { override fun onSuccessResult(result: Result) { // this section displays information about meeting // please look at ScheduleResultActivity.kt for examples how to proceed with meeting result } } video.VeVisitorCreateScheduleMeeting(null, true, scheduleCallbackAnswer) |
Read scheduled meeting info:
To verify the status of the meeting, the meeting information must be read.This operation requires utilization of the callId from the requested Result:
val callId = "abcfef-asdv-122sasdsd-fasfd" val video = VideoEngager(this@GC_Activity, sett, VideoEngager.Engine.genesys) video.onEventListener = listener val scheduleCallbackAnswer = object : Answer() { override fun onSuccessResult(result: Result) { // this section displays information about meeting // please look at ScheduleResultActivity.kt for examples how to proceed with meeting result } } video.VeVisitorGetScheduleMeeting(callId, scheduleCallbackAnswer) |
Delete the scheduled meeting info: This operation requires the callId from the requested Result.
val callId = "abcfef-asdv-122sasdsd-fasfd" val video = VideoEngager(this@GC_Activity, sett, VideoEngager.Engine.genesys) video.onEventListener = listener val scheduleCallbackAnswer = object : Answer() { override fun onSuccessResult(result: Result) { // on successful deletion this will be handled with a Result with null values } } video.VeVisitorGetScheduleMeeting(callId, scheduleCallbackAnswer) |
SDK ver 1.15.1
-
Added outbound screen sharing
-
Added recording indicator and privacy message
-
Fixed SDK initialization bug
-
Fixed animations
SDK ver 1.15.5
-
fixed screen share for outbound call
-
fixed read Ice servers from Brokerage
-
fixed file transfer receiving file bug
-
fixed screen share bug
-
fixed recording message multiple times shown bug
-
fixed schedule callback bug
SDK ver 1.16.0
-
Availability support - with this feature customer can request schedule meeting based on availability and free time slot of the agent
Checking availability support
video.VeChackAgentAvailability(object:Availability(){ override fun onCalendarSettingsResult(calendarSettings: AvailabilityCalendarSettings) { video.Disconnect() if(calendarSettings.showAvailability){ // availability is enabled .. you can continue with requesting of timeslots }else{ Toast.makeText(this@GCActivity, "Agent do not support Availability", Toast.LENGTH_SHORT).show() } } }) |
Loading timeslots
val video = VideoEngager(this@AvailabilityActivity, settings, VideoEngager.Engine.genesys) // load available time slots into views,adapters etc… |
-
Fix Availability to use latest availability properties (CalendarSettings)
-
Added possibility to Pause/Resume outbound screen share stream from host Application during call
findViewById<Button>(R.id.button_pause_screen_share).setOnClickListener { VideoEngager.VeForcePauseScreenShare(this@GCActivity) } findViewById<Button>(R.id.button_resume_screen_share).setOnClickListener { VideoEngager.VeForceResumeScreenShare(this@GCActivity) } |
-
Added VeRegisterScreenSharePolicies global method with possibility to add custom ViewIds list for restriction and flag to stop screen share when app is minimized
//setup screenshare restriction policies VideoEngager.VeRegisterScreenSharePolicies(this, mutableListOf(R.id.<myRestrictedViewId>), true) |
-
Added "restricted access" image shown to the agent on paused screen share
Comments
0 comments
Please sign in to leave a comment.