Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Z
Zoom_SDK
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Sai Sebastian
Zoom_SDK
Commits
f712ca8f
Commit
f712ca8f
authored
Nov 11, 2022
by
Sai Sebastian
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.techware.co.in/sai/Zoom_SDK
parents
ebbf4aea
c0cafc3b
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
424 additions
and
425 deletions
+424
-425
unzip_zoom_sdk.dart
bin/unzip_zoom_sdk.dart
+2
-2
SwiftFlutterZoomSdkPlugin.swift
ios/Classes/SwiftFlutterZoomSdkPlugin.swift
+422
-423
MobileRTC
...xcframework/ios-arm64_armv7/MobileRTC.framework/MobileRTC
+0
-0
No files found.
bin/unzip_zoom_sdk.dart
View file @
f712ca8f
...
@@ -49,7 +49,7 @@ Future<void> checkAndDownloadSDK(String location) async {
...
@@ -49,7 +49,7 @@ Future<void> checkAndDownloadSDK(String location) async {
if
(!
exists
)
{
if
(!
exists
)
{
await
downloadFile
(
await
downloadFile
(
Uri
.
parse
(
'https://
www.dropbox.com/s/a5vfh2m543t15k8/MobileRTC?dl=1
'
),
Uri
.
parse
(
'https://
drive.google.com/uc?export=download&id=1PVPXEOUD4cjS_gy5cnWAQkqQA1mza0hh
'
),
iosSDKFile
);
iosSDKFile
);
}
}
...
@@ -59,7 +59,7 @@ Future<void> checkAndDownloadSDK(String location) async {
...
@@ -59,7 +59,7 @@ Future<void> checkAndDownloadSDK(String location) async {
if
(!
exists
)
{
if
(!
exists
)
{
await
downloadFile
(
await
downloadFile
(
Uri
.
parse
(
'https://
www.dropbox.com/s/alk03qxiolurxf8/MobileRTC?dl=1
'
),
Uri
.
parse
(
'https://
drive.google.com/uc?export=download&id=1F4Yg4fqjf9wkYUkLtNEUorjd5CUb7_Pp
'
),
iosSimulateSDKFile
);
iosSimulateSDKFile
);
}
}
...
...
ios/Classes/SwiftFlutterZoomSdkPlugin.swift
View file @
f712ca8f
...
@@ -2,426 +2,425 @@ import Flutter
...
@@ -2,426 +2,425 @@ import Flutter
import
UIKit
import
UIKit
import
MobileRTC
import
MobileRTC
publicclass
SwiftFlutterZoomSdkPlugin
:
NSObject
,
FlutterPlugin
,
FlutterStreamHandler
,
MobileRTCMeetingServiceDelegate
{
public
class
SwiftFlutterZoomSdkPlugin
:
NSObject
,
FlutterPlugin
,
FlutterStreamHandler
,
MobileRTCMeetingServiceDelegate
{
var
authenticationDelegate
:
AuthenticationDelegate
var
authenticationDelegate
:
AuthenticationDelegate
var
eventSink
:
FlutterEventSink
?
var
eventSink
:
FlutterEventSink
?
publicstaticfunc
register
(
with
registrar
:
FlutterPluginRegistrar
)
{
public
static
func
register
(
with
registrar
:
FlutterPluginRegistrar
)
{
let
messenger
=
registrar
.
messenger
()
let
messenger
=
registrar
.
messenger
()
let
channel
=
FlutterMethodChannel
(
name
:
"com.evilratt/zoom_sdk"
,
binaryMessenger
:
messenger
)
let
channel
=
FlutterMethodChannel
(
name
:
"com.evilratt/zoom_sdk"
,
binaryMessenger
:
messenger
)
let
instance
=
SwiftFlutterZoomSdkPlugin
()
let
instance
=
SwiftFlutterZoomSdkPlugin
()
registrar
.
addMethodCallDelegate
(
instance
,
channel
:
channel
)
registrar
.
addMethodCallDelegate
(
instance
,
channel
:
channel
)
let
eventChannel
=
FlutterEventChannel
(
name
:
"com.evilratt/zoom_sdk_event_stream"
,
binaryMessenger
:
messenger
)
let
eventChannel
=
FlutterEventChannel
(
name
:
"com.evilratt/zoom_sdk_event_stream"
,
binaryMessenger
:
messenger
)
eventChannel
.
setStreamHandler
(
instance
)
eventChannel
.
setStreamHandler
(
instance
)
}
}
overrideinit
(){
override
init
(){
authenticationDelegate
=
AuthenticationDelegate
()
authenticationDelegate
=
AuthenticationDelegate
()
}
}
publicfunc
handle
(
_
call
:
FlutterMethodCall
,
result
:
@escaping
FlutterResult
)
{
public
func
handle
(
_
call
:
FlutterMethodCall
,
result
:
@escaping
FlutterResult
)
{
switch
call
.
method
{
switch
call
.
method
{
case
"init"
:
case
"init"
:
self
.
initZoom
(
call
:
call
,
result
:
result
)
self
.
initZoom
(
call
:
call
,
result
:
result
)
case
"login"
:
case
"login"
:
self
.
login
(
call
:
call
,
result
:
result
)
self
.
login
(
call
:
call
,
result
:
result
)
case
"join"
:
case
"join"
:
self
.
joinMeeting
(
call
:
call
,
result
:
result
)
self
.
joinMeeting
(
call
:
call
,
result
:
result
)
case
"startNormal"
:
case
"startNormal"
:
self
.
startMeetingNormal
(
call
:
call
,
result
:
result
)
self
.
startMeetingNormal
(
call
:
call
,
result
:
result
)
case
"meeting_status"
:
case
"meeting_status"
:
self
.
meetingStatus
(
call
:
call
,
result
:
result
)
self
.
meetingStatus
(
call
:
call
,
result
:
result
)
case
"meeting_details"
:
case
"meeting_details"
:
self
.
meetingDetails
(
call
:
call
,
result
:
result
)
self
.
meetingDetails
(
call
:
call
,
result
:
result
)
default
:
default
:
result
(
FlutterMethodNotImplemented
)
result
(
FlutterMethodNotImplemented
)
}
}
}
}
publicfunc
onMethodCall
(
call
:
FlutterMethodCall
,
result
:
@escaping
FlutterResult
)
{
public
func
onMethodCall
(
call
:
FlutterMethodCall
,
result
:
@escaping
FlutterResult
)
{
switch
call
.
method
{
switch
call
.
method
{
case
"init"
:
case
"init"
:
self
.
initZoom
(
call
:
call
,
result
:
result
)
self
.
initZoom
(
call
:
call
,
result
:
result
)
case
"login"
:
case
"login"
:
self
.
login
(
call
:
call
,
result
:
result
)
self
.
login
(
call
:
call
,
result
:
result
)
case
"join"
:
case
"join"
:
self
.
joinMeeting
(
call
:
call
,
result
:
result
)
self
.
joinMeeting
(
call
:
call
,
result
:
result
)
case
"start"
:
case
"start"
:
self
.
startMeetingNormal
(
call
:
call
,
result
:
result
)
self
.
startMeetingNormal
(
call
:
call
,
result
:
result
)
case
"meeting_status"
:
case
"meeting_status"
:
self
.
meetingStatus
(
call
:
call
,
result
:
result
)
self
.
meetingStatus
(
call
:
call
,
result
:
result
)
case
"meeting_details"
:
case
"meeting_details"
:
self
.
meetingDetails
(
call
:
call
,
result
:
result
)
self
.
meetingDetails
(
call
:
call
,
result
:
result
)
default
:
default
:
result
(
FlutterMethodNotImplemented
)
result
(
FlutterMethodNotImplemented
)
}
}
}
}
//Initializing the Zoom SDK for iOS
//Initializing the Zoom SDK for iOS
publicfunc
initZoom
(
call
:
FlutterMethodCall
,
result
:
@escaping
FlutterResult
)
{
public
func
initZoom
(
call
:
FlutterMethodCall
,
result
:
@escaping
FlutterResult
)
{
let
pluginBundle
=
Bundle
(
for
:
type
(
of
:
self
))
let
pluginBundle
=
Bundle
(
for
:
type
(
of
:
self
))
let
pluginBundlePath
=
pluginBundle
.
bundlePath
let
pluginBundlePath
=
pluginBundle
.
bundlePath
let
arguments
=
call
.
arguments
as!
Dictionary
<
String
,
String
>
let
arguments
=
call
.
arguments
as!
Dictionary
<
String
,
String
>
let
context
=
MobileRTCSDKInitContext
()
let
context
=
MobileRTCSDKInitContext
()
context
.
domain
=
arguments
[
"domain"
]
!
context
.
domain
=
arguments
[
"domain"
]
!
context
.
enableLog
=
true
context
.
enableLog
=
true
context
.
bundleResPath
=
pluginBundlePath
context
.
bundleResPath
=
pluginBundlePath
MobileRTC
.
shared
()
.
initialize
(
context
)
MobileRTC
.
shared
()
.
initialize
(
context
)
let
auth
=
MobileRTC
.
shared
()
.
getAuthService
()
let
auth
=
MobileRTC
.
shared
()
.
getAuthService
()
auth
?
.
delegate
=
self
.
authenticationDelegate
.
onAuth
(
result
)
auth
?
.
delegate
=
self
.
authenticationDelegate
.
onAuth
(
result
)
iflet
appKey
=
arguments
[
"appKey"
]
{
if
let
appKey
=
arguments
[
"appKey"
]
{
auth
?
.
clientKey
=
appKey
auth
?
.
clientKey
=
appKey
}
}
iflet
appSecret
=
arguments
[
"appSecret"
]
{
if
let
appSecret
=
arguments
[
"appSecret"
]
{
auth
?
.
clientSecret
=
appSecret
auth
?
.
clientSecret
=
appSecret
}
}
auth
?
.
sdkAuth
()
auth
?
.
sdkAuth
()
}
}
//Perform start meeting function with logging in to the zoom account
//Perform start meeting function with logging in to the zoom account
publicfunc
login
(
call
:
FlutterMethodCall
,
result
:
@escaping
FlutterResult
)
{
public
func
login
(
call
:
FlutterMethodCall
,
result
:
@escaping
FlutterResult
)
{
let
authService
=
MobileRTC
.
shared
()
.
getAuthService
()
let
authService
=
MobileRTC
.
shared
()
.
getAuthService
()
if
((
authService
?
.
isLoggedIn
())
==
true
)
{
if
((
authService
?
.
isLoggedIn
())
==
true
)
{
self
.
startMeeting
(
call
:
call
,
result
:
result
);
self
.
startMeeting
(
call
:
call
,
result
:
result
);
}
else
{
}
else
{
let
arguments
=
call
.
arguments
as!
Dictionary
<
String
,
String
?
>
let
arguments
=
call
.
arguments
as!
Dictionary
<
String
,
String
?
>
// authService?
authService
?
.
login
(
withEmail
:
arguments
[
"userId"
]
!!
,
password
:
arguments
[
"userPassword"
]
!!
,
rememberMe
:
false
)
// .login(withEmail: arguments["userId"]!!, password: arguments["userPassword"]!!, rememberMe: false)
if
((
authService
?
.
isLoggedIn
())
==
true
)
{
if
((
authService
?
.
isLoggedIn
())
==
true
)
{
self
.
startMeeting
(
call
:
call
,
result
:
result
);
self
.
startMeeting
(
call
:
call
,
result
:
result
);
}
}
}
}
}
}
//Perform start meeting function with logging in to the zoom account (Only for passed meeting id)
//Perform start meeting function with logging in to the zoom account (Only for passed meeting id)
public
func
startMeetingNormal
(
call
:
FlutterMethodCall
,
result
:
@escaping
FlutterResult
)
{
publicfunc
startMeetingNormal
(
call
:
FlutterMethodCall
,
result
:
@escaping
FlutterResult
)
{
let
authService
=
MobileRTC
.
shared
()
.
getAuthService
()
let
authService
=
MobileRTC
.
shared
()
.
getAuthService
()
if
((
authService
?
.
isLoggedIn
())
==
true
)
{
if
((
authService
?
.
isLoggedIn
())
==
true
)
{
self
.
startMeetingNormalInternal
(
call
:
call
,
result
:
result
);
self
.
startMeetingNormalInternal
(
call
:
call
,
result
:
result
);
}
else
{
}
else
{
let
arguments
=
call
.
arguments
as!
Dictionary
<
String
,
String
?
>
let
arguments
=
call
.
arguments
as!
Dictionary
<
String
,
String
?
>
authService
?
.
login
(
withEmail
:
arguments
[
"userId"
]
!!
,
password
:
arguments
[
"userPassword"
]
!!
,
rememberMe
:
false
)
// authService?.login(withEmail: arguments["userId"]!!, password: arguments["userPassword"]!!, rememberMe: false)
if
((
authService
?
.
isLoggedIn
())
==
true
)
{
if
((
authService
?
.
isLoggedIn
())
==
true
)
{
self
.
startMeetingNormalInternal
(
call
:
call
,
result
:
result
);
self
.
startMeetingNormalInternal
(
call
:
call
,
result
:
result
);
}
}
}
}
}
}
//Listen to meeting status on joinning and starting the mmeting
//Listen to meeting status on joinning and starting the mmeting
public
func
meetingStatus
(
call
:
FlutterMethodCall
,
result
:
FlutterResult
)
{
publicfunc
meetingStatus
(
call
:
FlutterMethodCall
,
result
:
FlutterResult
)
{
let
meetingService
=
MobileRTC
.
shared
()
.
getMeetingService
()
let
meetingService
=
MobileRTC
.
shared
()
.
getMeetingService
()
if
meetingService
!=
nil
{
if
meetingService
!=
nil
{
let
meetingState
=
meetingService
?
.
getMeetingState
()
let
meetingState
=
meetingService
?
.
getMeetingState
()
result
(
getStateMessage
(
meetingState
))
result
(
getStateMessage
(
meetingState
))
}
else
{
}
else
{
result
([
"MEETING_STATUS_UNKNOWN"
,
""
])
result
([
"MEETING_STATUS_UNKNOWN"
,
""
])
}
}
}
}
//Get Meeting Details Programmatically after Starting the Meeting
//Get Meeting Details Programmatically after Starting the Meeting
public
func
meetingDetails
(
call
:
FlutterMethodCall
,
result
:
FlutterResult
)
{
publicfunc
meetingDetails
(
call
:
FlutterMethodCall
,
result
:
FlutterResult
)
{
let
meetingService
=
MobileRTC
.
shared
()
.
getMeetingService
()
let
meetingService
=
MobileRTC
.
shared
()
.
getMeetingService
()
if
meetingService
!=
nil
{
if
meetingService
!=
nil
{
let
meetingPassword
=
MobileRTCInviteHelper
.
sharedInstance
()
.
rawMeetingPassword
let
meetingPassword
=
MobileRTCInviteHelper
.
sharedInstance
()
.
rawMeetingPassword
let
meetingNumber
=
MobileRTCInviteHelper
.
sharedInstance
()
.
ongoingMeetingNumber
let
meetingNumber
=
MobileRTCInviteHelper
.
sharedInstance
()
.
ongoingMeetingNumber
result
([
meetingNumber
,
meetingPassword
])
result
([
meetingNumber
,
meetingPassword
])
}
else
{
}
else
{
result
([
"MEETING_STATUS_UNKNOWN"
,
"No status available"
])
result
([
"MEETING_STATUS_UNKNOWN"
,
"No status available"
])
}
}
}
}
//Join Meeting with passed Meeting ID and Passcode
//Join Meeting with passed Meeting ID and Passcode
public
func
joinMeeting
(
call
:
FlutterMethodCall
,
result
:
FlutterResult
)
{
publicfunc
joinMeeting
(
call
:
FlutterMethodCall
,
result
:
FlutterResult
)
{
let
meetingService
=
MobileRTC
.
shared
()
.
getMeetingService
()
let
meetingService
=
MobileRTC
.
shared
()
.
getMeetingService
()
let
meetingSettings
=
MobileRTC
.
shared
()
.
getMeetingSettings
()
let
meetingSettings
=
MobileRTC
.
shared
()
.
getMeetingSettings
()
if
(
meetingService
!=
nil
)
{
if
(
meetingService
!=
nil
)
{
let
arguments
=
call
.
arguments
as!
Dictionary
<
String
,
String
?
>
let
arguments
=
call
.
arguments
as!
Dictionary
<
String
,
String
?
>
//Setting up meeting settings for zoom sdk
//Setting up meeting settings for zoom sdk
meetingSettings
?
.
disableDriveMode
(
parseBoolean
(
data
:
arguments
[
"disableDrive"
]
!
,
defaultValue
:
false
))
meetingSettings
?
.
disableDriveMode
(
parseBoolean
(
data
:
arguments
[
"disableDrive"
]
!
,
defaultValue
:
false
))
meetingSettings
?
.
disableCall
(
in
:
parseBoolean
(
data
:
arguments
[
"disableDialIn"
]
!
,
defaultValue
:
false
))
meetingSettings
?
.
disableCall
(
in
:
parseBoolean
(
data
:
arguments
[
"disableDialIn"
]
!
,
defaultValue
:
false
))
meetingSettings
?
.
setAutoConnectInternetAudio
(
parseBoolean
(
data
:
arguments
[
"noDisconnectAudio"
]
!
,
defaultValue
:
false
))
meetingSettings
?
.
setAutoConnectInternetAudio
(
parseBoolean
(
data
:
arguments
[
"noDisconnectAudio"
]
!
,
defaultValue
:
false
))
meetingSettings
?
.
setMuteAudioWhenJoinMeeting
(
parseBoolean
(
data
:
arguments
[
"noAudio"
]
!
,
defaultValue
:
false
))
meetingSettings
?
.
setMuteAudioWhenJoinMeeting
(
parseBoolean
(
data
:
arguments
[
"noAudio"
]
!
,
defaultValue
:
false
))
meetingSettings
?
.
meetingShareHidden
=
parseBoolean
(
data
:
arguments
[
"disableShare"
]
!
,
defaultValue
:
false
)
meetingSettings
?
.
meetingShareHidden
=
parseBoolean
(
data
:
arguments
[
"disableShare"
]
!
,
defaultValue
:
false
)
meetingSettings
?
.
meetingInviteHidden
=
parseBoolean
(
data
:
arguments
[
"disableDrive"
]
!
,
defaultValue
:
false
)
meetingSettings
?
.
meetingInviteHidden
=
parseBoolean
(
data
:
arguments
[
"disableDrive"
]
!
,
defaultValue
:
false
)
meetingSettings
?
.
meetingTitleHidden
=
parseBoolean
(
data
:
arguments
[
"disableTitlebar"
]
!
,
defaultValue
:
false
)
meetingSettings
?
.
meetingTitleHidden
=
parseBoolean
(
data
:
arguments
[
"disableTitlebar"
]
!
,
defaultValue
:
false
)
let
viewopts
=
parseBoolean
(
data
:
arguments
[
"viewOptions"
]
!
,
defaultValue
:
false
)
let
viewopts
=
parseBoolean
(
data
:
arguments
[
"viewOptions"
]
!
,
defaultValue
:
false
)
if
viewopts
{
if
viewopts
{
meetingSettings
?
.
meetingTitleHidden
=
true
meetingSettings
?
.
meetingTitleHidden
=
true
meetingSettings
?
.
meetingPasswordHidden
=
true
meetingSettings
?
.
meetingPasswordHidden
=
true
}
}
//Setting up Join Meeting parameter
//Setting up Join Meeting parameter
let
joinMeetingParameters
=
MobileRTCMeetingJoinParam
()
let
joinMeetingParameters
=
MobileRTCMeetingJoinParam
()
//Setting up Custom Join Meeting parameter
//Setting up Custom Join Meeting parameter
joinMeetingParameters
.
userName
=
arguments
[
"userId"
]
!!
joinMeetingParameters
.
userName
=
arguments
[
"userId"
]
!!
joinMeetingParameters
.
meetingNumber
=
arguments
[
"meetingId"
]
!!
joinMeetingParameters
.
meetingNumber
=
arguments
[
"meetingId"
]
!!
joinMeetingParameters
.
webinarToken
=
"6KWye9SgmDNJpLoiE_VbrnyYr51JqYznhhIW140Aymk.DQMAAAATsesehhZYelp4UEREZlJuT3FEblZ5bktPbjZnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
joinMeetingParameters
.
webinarToken
=
"6KWye9SgmDNJpLoiE_VbrnyYr51JqYznhhIW140Aymk.DQMAAAATsesehhZYelp4UEREZlJuT3FEblZ5bktPbjZnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
let
hasPassword
=
arguments
[
"meetingPassword"
]
!
!=
nil
if
hasPassword
{
let
hasPassword
=
arguments
[
"meetingPassword"
]
!
!=
nil
joinMeetingParameters
.
password
=
arguments
[
"meetingPassword"
]
!!
if
hasPassword
{
}
joinMeetingParameters
.
password
=
arguments
[
"meetingPassword"
]
!!
}
//Joining the meeting and storing the response
//Joining the meeting and storing the response
let
response
=
meetingService
?
.
joinMeeting
(
with
:
joinMeetingParameters
)
let
response
=
meetingService
?
.
joinMeeting
(
with
:
joinMeetingParameters
)
if
let
response
=
response
{
iflet
response
=
response
{
print
(
"Got response from join:
\(
response
)
"
)
print
(
"Got response from join:
\(
response
)
"
)
}
}
result
(
true
)
result
(
true
)
}
else
{
}
else
{
result
(
false
)
result
(
false
)
}
}
}
}
// Basic Start Meeting Function called on startMeeting triggered via login function
// Basic Start Meeting Function called on startMeeting triggered via login function
public
func
startMeeting
(
call
:
FlutterMethodCall
,
result
:
FlutterResult
)
{
publicfunc
startMeeting
(
call
:
FlutterMethodCall
,
result
:
FlutterResult
)
{
let
meetingService
=
MobileRTC
.
shared
()
.
getMeetingService
()
let
meetingService
=
MobileRTC
.
shared
()
.
getMeetingService
()
let
meetingSettings
=
MobileRTC
.
shared
()
.
getMeetingSettings
()
let
meetingSettings
=
MobileRTC
.
shared
()
.
getMeetingSettings
()
let
authService
=
MobileRTC
.
shared
()
.
getAuthService
()
let
authService
=
MobileRTC
.
shared
()
.
getAuthService
()
if
meetingService
!=
nil
{
if
meetingService
!=
nil
{
if
((
authService
?
.
isLoggedIn
())
==
true
)
{
if
((
authService
?
.
isLoggedIn
())
==
true
)
{
let
arguments
=
call
.
arguments
as!
Dictionary
<
String
,
String
?
>
let
arguments
=
call
.
arguments
as!
Dictionary
<
String
,
String
?
>
//Setting up meeting settings for zoom sdk
//Setting up meeting settings for zoom sdk
meetingSettings
?
.
disableDriveMode
(
parseBoolean
(
data
:
arguments
[
"disableDrive"
]
!
,
defaultValue
:
false
))
meetingSettings
?
.
disableDriveMode
(
parseBoolean
(
data
:
arguments
[
"disableDrive"
]
!
,
defaultValue
:
false
))
meetingSettings
?
.
disableCall
(
in
:
parseBoolean
(
data
:
arguments
[
"disableDialIn"
]
!
,
defaultValue
:
false
))
meetingSettings
?
.
disableCall
(
in
:
parseBoolean
(
data
:
arguments
[
"disableDialIn"
]
!
,
defaultValue
:
false
))
meetingSettings
?
.
setAutoConnectInternetAudio
(
parseBoolean
(
data
:
arguments
[
"noDisconnectAudio"
]
!
,
defaultValue
:
false
))
meetingSettings
?
.
setAutoConnectInternetAudio
(
parseBoolean
(
data
:
arguments
[
"noDisconnectAudio"
]
!
,
defaultValue
:
false
))
meetingSettings
?
.
setMuteAudioWhenJoinMeeting
(
parseBoolean
(
data
:
arguments
[
"noAudio"
]
!
,
defaultValue
:
false
))
meetingSettings
?
.
setMuteAudioWhenJoinMeeting
(
parseBoolean
(
data
:
arguments
[
"noAudio"
]
!
,
defaultValue
:
false
))
meetingSettings
?
.
meetingShareHidden
=
parseBoolean
(
data
:
arguments
[
"disableShare"
]
!
,
defaultValue
:
false
)
meetingSettings
?
.
meetingShareHidden
=
parseBoolean
(
data
:
arguments
[
"disableShare"
]
!
,
defaultValue
:
false
)
meetingSettings
?
.
meetingInviteHidden
=
parseBoolean
(
data
:
arguments
[
"disableDrive"
]
!
,
defaultValue
:
false
)
meetingSettings
?
.
meetingInviteHidden
=
parseBoolean
(
data
:
arguments
[
"disableDrive"
]
!
,
defaultValue
:
false
)
let
viewopts
=
parseBoolean
(
data
:
arguments
[
"viewOptions"
]
!
,
defaultValue
:
false
)
let
viewopts
=
parseBoolean
(
data
:
arguments
[
"viewOptions"
]
!
,
defaultValue
:
false
)
if
viewopts
{
if
viewopts
{
meetingSettings
?
.
meetingTitleHidden
=
true
meetingSettings
?
.
meetingTitleHidden
=
true
meetingSettings
?
.
meetingPasswordHidden
=
true
meetingSettings
?
.
meetingPasswordHidden
=
true
}
}
//Setting up Start Meeting parameter
//Setting up Start Meeting parameter
let
startMeetingParameters
=
MobileRTCMeetingStartParam4LoginlUser
()
let
startMeetingParameters
=
MobileRTCMeetingStartParam4LoginlUser
()
//Starting the meeting and storing the response
//Starting the meeting and storing the response
let
response
=
meetingService
?
.
startMeeting
(
with
:
startMeetingParameters
)
let
response
=
meetingService
?
.
startMeeting
(
with
:
startMeetingParameters
)
if
let
response
=
response
{
iflet
response
=
response
{
print
(
"Got response from start:
\(
response
)
"
)
print
(
"Got response from start:
\(
response
)
"
)
}
}
result
([
"MEETING SUCCESS"
,
"200"
])
result
([
"MEETING SUCCESS"
,
"200"
])
}
else
{
}
else
{
result
([
"LOGIN REQUIRED"
,
"001"
])
result
([
"LOGIN REQUIRED"
,
"001"
])
}
}
}
else
{
}
else
{
result
([
"SDK ERROR"
,
"001"
])
result
([
"SDK ERROR"
,
"001"
])
}
}
}
}
// Meeting ID passed Start Meeting Function called on startMeetingNormal triggered via startMeetingNormal function
// Meeting ID passed Start Meeting Function called on startMeetingNormal triggered via startMeetingNormal function
public
func
startMeetingNormalInternal
(
call
:
FlutterMethodCall
,
result
:
FlutterResult
)
{
publicfunc
startMeetingNormalInternal
(
call
:
FlutterMethodCall
,
result
:
FlutterResult
)
{
let
meetingService
=
MobileRTC
.
shared
()
.
getMeetingService
()
let
meetingService
=
MobileRTC
.
shared
()
.
getMeetingService
()
let
meetingSettings
=
MobileRTC
.
shared
()
.
getMeetingSettings
()
let
meetingSettings
=
MobileRTC
.
shared
()
.
getMeetingSettings
()
let
authService
=
MobileRTC
.
shared
()
.
getAuthService
()
let
authService
=
MobileRTC
.
shared
()
.
getAuthService
()
if
meetingService
!=
nil
{
if
meetingService
!=
nil
{
if
((
authService
?
.
isLoggedIn
())
==
true
)
{
if
((
authService
?
.
isLoggedIn
())
==
true
)
{
let
arguments
=
call
.
arguments
as!
Dictionary
<
String
,
String
?
>
let
arguments
=
call
.
arguments
as!
Dictionary
<
String
,
String
?
>
//Setting up meeting settings for zoom sdk
//Setting up meeting settings for zoom sdk
meetingSettings
?
.
disableDriveMode
(
parseBoolean
(
data
:
arguments
[
"disableDrive"
]
!
,
defaultValue
:
false
))
meetingSettings
?
.
disableDriveMode
(
parseBoolean
(
data
:
arguments
[
"disableDrive"
]
!
,
defaultValue
:
false
))
meetingSettings
?
.
disableCall
(
in
:
parseBoolean
(
data
:
arguments
[
"disableDialIn"
]
!
,
defaultValue
:
false
))
meetingSettings
?
.
disableCall
(
in
:
parseBoolean
(
data
:
arguments
[
"disableDialIn"
]
!
,
defaultValue
:
false
))
meetingSettings
?
.
setAutoConnectInternetAudio
(
parseBoolean
(
data
:
arguments
[
"noDisconnectAudio"
]
!
,
defaultValue
:
false
))
meetingSettings
?
.
setAutoConnectInternetAudio
(
parseBoolean
(
data
:
arguments
[
"noDisconnectAudio"
]
!
,
defaultValue
:
false
))
meetingSettings
?
.
setMuteAudioWhenJoinMeeting
(
parseBoolean
(
data
:
arguments
[
"noAudio"
]
!
,
defaultValue
:
false
))
meetingSettings
?
.
setMuteAudioWhenJoinMeeting
(
parseBoolean
(
data
:
arguments
[
"noAudio"
]
!
,
defaultValue
:
false
))
meetingSettings
?
.
meetingShareHidden
=
parseBoolean
(
data
:
arguments
[
"disableShare"
]
!
,
defaultValue
:
false
)
meetingSettings
?
.
meetingShareHidden
=
parseBoolean
(
data
:
arguments
[
"disableShare"
]
!
,
defaultValue
:
false
)
meetingSettings
?
.
meetingInviteHidden
=
parseBoolean
(
data
:
arguments
[
"disableDrive"
]
!
,
defaultValue
:
false
)
meetingSettings
?
.
meetingInviteHidden
=
parseBoolean
(
data
:
arguments
[
"disableDrive"
]
!
,
defaultValue
:
false
)
let
viewopts
=
parseBoolean
(
data
:
arguments
[
"viewOptions"
]
!
,
defaultValue
:
false
)
let
viewopts
=
parseBoolean
(
data
:
arguments
[
"viewOptions"
]
!
,
defaultValue
:
false
)
if
viewopts
{
if
viewopts
{
meetingSettings
?
.
meetingTitleHidden
=
true
meetingSettings
?
.
meetingTitleHidden
=
true
meetingSettings
?
.
meetingPasswordHidden
=
true
meetingSettings
?
.
meetingPasswordHidden
=
true
}
}
//Setting up Start Meeting parameter
//Setting up Start Meeting parameter
let
startMeetingParameters
=
MobileRTCMeetingStartParam4LoginlUser
()
let
startMeetingParameters
=
MobileRTCMeetingStartParam4LoginlUser
()
//Passing custom Meeting ID for start meeting
//Passing custom Meeting ID for start meeting
startMeetingParameters
.
meetingNumber
=
arguments
[
"meetingId"
]
!!
startMeetingParameters
.
meetingNumber
=
arguments
[
"meetingId"
]
!!
//Starting the meeting and storing the response
//Starting the meeting and storing the response
let
response
=
meetingService
?
.
startMeeting
(
with
:
startMeetingParameters
)
let
response
=
meetingService
?
.
startMeeting
(
with
:
startMeetingParameters
)
if
let
response
=
response
{
iflet
response
=
response
{
print
(
"Got response from start:
\(
response
)
"
)
print
(
"Got response from start:
\(
response
)
"
)
}
}
result
([
"MEETING SUCCESS"
,
"200"
])
result
([
"MEETING SUCCESS"
,
"200"
])
}
else
{
}
else
{
result
([
"LOGIN REQUIRED"
,
"001"
])
result
([
"LOGIN REQUIRED"
,
"001"
])
}
}
}
else
{
}
else
{
result
([
"SDK ERROR"
,
"001"
])
result
([
"SDK ERROR"
,
"001"
])
}
}
}
}
//Helper Function for parsing string to boolean value
//Helper Function for parsing string to boolean value
private
func
parseBoolean
(
data
:
String
?,
defaultValue
:
Bool
)
->
Bool
{
privatefunc
parseBoolean
(
data
:
String
?,
defaultValue
:
Bool
)
->
Bool
{
var
result
:
Bool
var
result
:
Bool
if
let
unwrappeData
=
data
{
iflet
unwrappeData
=
data
{
result
=
NSString
(
string
:
unwrappeData
)
.
boolValue
result
=
NSString
(
string
:
unwrappeData
)
.
boolValue
}
else
{
}
else
{
result
=
defaultValue
result
=
defaultValue
}
}
return
result
return
result
}
}
//Helper Function for parsing string to int value
//Helper Function for parsing string to int value
private
func
parseInt
(
data
:
String
?,
defaultValue
:
Int
)
->
Int
{
privatefunc
parseInt
(
data
:
String
?,
defaultValue
:
Int
)
->
Int
{
var
result
:
Int
var
result
:
Int
if
let
unwrappeData
=
data
{
iflet
unwrappeData
=
data
{
result
=
NSString
(
string
:
unwrappeData
)
.
integerValue
result
=
NSString
(
string
:
unwrappeData
)
.
integerValue
}
else
{
}
else
{
result
=
defaultValue
result
=
defaultValue
}
}
return
result
return
result
}
}
public
func
onMeetingError
(
_
error
:
MobileRTCMeetError
,
message
:
String
?)
{
publicfunc
onMeetingError
(
_
error
:
MobileRTCMeetError
,
message
:
String
?)
{
}
}
public
func
getMeetErrorMessage
(
_
errorCode
:
MobileRTCMeetError
)
->
String
{
publicfunc
getMeetErrorMessage
(
_
errorCode
:
MobileRTCMeetError
)
->
String
{
let
message
=
""
let
message
=
""
return
message
return
message
}
}
public
func
onMeetingStateChange
(
_
state
:
MobileRTCMeetingState
)
{
publicfunc
onMeetingStateChange
(
_
state
:
MobileRTCMeetingState
)
{
guard
let
eventSink
=
eventSink
else
{
guardlet
eventSink
=
eventSink
else
{
return
return
}
}
eventSink
(
getStateMessage
(
state
))
eventSink
(
getStateMessage
(
state
))
}
}
//Listen to initializing sdk events
//Listen to initializing sdk events
public
func
onListen
(
withArguments
arguments
:
Any
?,
eventSink
events
:
@escaping
FlutterEventSink
)
->
FlutterError
?
{
publicfunc
onListen
(
withArguments
arguments
:
Any
?,
eventSink
events
:
@escaping
FlutterEventSink
)
->
FlutterError
?
{
self
.
eventSink
=
events
self
.
eventSink
=
events
let
meetingService
=
MobileRTC
.
shared
()
.
getMeetingService
()
let
meetingService
=
MobileRTC
.
shared
()
.
getMeetingService
()
if
meetingService
==
nil
{
if
meetingService
==
nil
{
return
FlutterError
(
code
:
"Zoom SDK error"
,
message
:
"ZoomSDK is not initialized"
,
details
:
nil
)
return
FlutterError
(
code
:
"Zoom SDK error"
,
message
:
"ZoomSDK is not initialized"
,
details
:
nil
)
}
}
meetingService
?
.
delegate
=
self
meetingService
?
.
delegate
=
self
return
nil
returnnil
}
}
public
func
onCancel
(
withArguments
arguments
:
Any
?)
->
FlutterError
?
{
publicfunc
onCancel
(
withArguments
arguments
:
Any
?)
->
FlutterError
?
{
eventSink
=
nil
eventSink
=
nil
return
nil
returnnil
}
}
//Get Meeting Status message with proper codes
//Get Meeting Status message with proper codes
private
func
getStateMessage
(
_
state
:
MobileRTCMeetingState
?)
->
[
String
]
{
privatefunc
getStateMessage
(
_
state
:
MobileRTCMeetingState
?)
->
[
String
]
{
var
message
:
[
String
]
var
message
:
[
String
]
switch
state
{
switch
state
{
case
.
idle
:
case
.
idle
:
message
=
[
"MEETING_STATUS_IDLE"
,
"No meeting is running"
]
message
=
[
"MEETING_STATUS_IDLE"
,
"No meeting is running"
]
break
break
case
.
connecting
:
case
.
connecting
:
message
=
[
"MEETING_STATUS_CONNECTING"
,
"Connect to the meeting server"
]
message
=
[
"MEETING_STATUS_CONNECTING"
,
"Connect to the meeting server"
]
break
break
case
.
inMeeting
:
case
.
inMeeting
:
message
=
[
"MEETING_STATUS_INMEETING"
,
"Meeting is ready and in process"
]
message
=
[
"MEETING_STATUS_INMEETING"
,
"Meeting is ready and in process"
]
break
break
case
.
webinarPromote
:
case
.
webinarPromote
:
message
=
[
"MEETING_STATUS_WEBINAR_PROMOTE"
,
"Upgrade the attendees to panelist in webinar"
]
message
=
[
"MEETING_STATUS_WEBINAR_PROMOTE"
,
"Upgrade the attendees to panelist in webinar"
]
break
break
case
.
webinarDePromote
:
case
.
webinarDePromote
:
message
=
[
"MEETING_STATUS_WEBINAR_DEPROMOTE"
,
"Demote the attendees from the panelist"
]
message
=
[
"MEETING_STATUS_WEBINAR_DEPROMOTE"
,
"Demote the attendees from the panelist"
]
break
break
case
.
disconnecting
:
case
.
disconnecting
:
message
=
[
"MEETING_STATUS_DISCONNECTING"
,
"Disconnect the meeting server, leave meeting status"
]
message
=
[
"MEETING_STATUS_DISCONNECTING"
,
"Disconnect the meeting server, leave meeting status"
]
break
;
break
;
case
.
ended
:
case
.
ended
:
message
=
[
"MEETING_STATUS_ENDED"
,
"Meeting ends"
]
message
=
[
"MEETING_STATUS_ENDED"
,
"Meeting ends"
]
break
;
break
;
case
.
failed
:
case
.
failed
:
message
=
[
"MEETING_STATUS_FAILED"
,
"Failed to connect the meeting server"
]
message
=
[
"MEETING_STATUS_FAILED"
,
"Failed to connect the meeting server"
]
break
;
break
;
case
.
reconnecting
:
case
.
reconnecting
:
message
=
[
"MEETING_STATUS_RECONNECTING"
,
"Reconnecting meeting server status"
]
message
=
[
"MEETING_STATUS_RECONNECTING"
,
"Reconnecting meeting server status"
]
break
;
break
;
case
.
waitingForHost
:
case
.
waitingForHost
:
message
=
[
"MEETING_STATUS_WAITINGFORHOST"
,
"Waiting for the host to start the meeting"
]
message
=
[
"MEETING_STATUS_WAITINGFORHOST"
,
"Waiting for the host to start the meeting"
]
break
;
break
;
case
.
inWaitingRoom
:
case
.
inWaitingRoom
:
message
=
[
"MEETING_STATUS_IN_WAITING_ROOM"
,
"Participants who join the meeting before the start are in the waiting room"
]
message
=
[
"MEETING_STATUS_IN_WAITING_ROOM"
,
"Participants who join the meeting before the start are in the waiting room"
]
break
;
break
;
default
:
default
:
message
=
[
"MEETING_STATUS_UNKNOWN"
,
"'(state?.rawValue ?? 9999)'"
]
message
=
[
"MEETING_STATUS_UNKNOWN"
,
"'(state?.rawValue ?? 9999)'"
]
}
}
return
message
return
message
}
}
}
}
//Zoom SDK Authentication Listner
//Zoom SDK Authentication Listner
public
class
AuthenticationDelegate
:
NSObject
,
MobileRTCAuthDelegate
{
publicclass
AuthenticationDelegate
:
NSObject
,
MobileRTCAuthDelegate
{
private
var
result
:
FlutterResult
?
privatevar
result
:
FlutterResult
?
//Zoom SDK Authentication Listner - On Auth get result
//Zoom SDK Authentication Listner - On Auth get result
public
func
onAuth
(
_
result
:
FlutterResult
?)
->
AuthenticationDelegate
{
publicfunc
onAuth
(
_
result
:
FlutterResult
?)
->
AuthenticationDelegate
{
self
.
result
=
result
self
.
result
=
result
return
self
returnself
}
}
//Zoom SDK Authentication Listner - On MobileRTCAuth get result
//Zoom SDK Authentication Listner - On MobileRTCAuth get result
public
func
onMobileRTCAuthReturn
(
_
returnValue
:
MobileRTCAuthError
)
{
publicfunc
onMobileRTCAuthReturn
(
_
returnValue
:
MobileRTCAuthError
)
{
if
returnValue
==
.
success
{
if
returnValue
==
.
success
{
self
.
result
?([
0
,
0
])
self
.
result
?([
0
,
0
])
}
else
{
}
else
{
self
.
result
?([
1
,
0
])
self
.
result
?([
1
,
0
])
}
}
self
.
result
=
nil
self
.
result
=
nil
}
}
//Zoom SDK Authentication Listner - On onMobileRTCLoginReturn get status
//Zoom SDK Authentication Listner - On onMobileRTCLoginReturn get status
public
func
onMobileRTCLoginReturn
(
_
returnValue
:
Int
){
publicfunc
onMobileRTCLoginReturn
(
_
returnValue
:
Int
){
}
}
//Zoom SDK Authentication Listner - On onMobileRTCLogoutReturn get message
//Zoom SDK Authentication Listner - On onMobileRTCLogoutReturn get message
public
func
onMobileRTCLogoutReturn
(
_
returnValue
:
Int
)
{
publicfunc
onMobileRTCLogoutReturn
(
_
returnValue
:
Int
)
{
}
}
//Zoom SDK Authentication Listner - On getAuthErrorMessage get message
//Zoom SDK Authentication Listner - On getAuthErrorMessage get message
public
func
getAuthErrorMessage
(
_
errorCode
:
MobileRTCAuthError
)
->
String
{
publicfunc
getAuthErrorMessage
(
_
errorCode
:
MobileRTCAuthError
)
->
String
{
let
message
=
""
let
message
=
""
return
message
return
message
}
}
}
}
ios/MobileRTC.xcframework/ios-arm64_armv7/MobileRTC.framework/MobileRTC
deleted
100644 → 0
View file @
ebbf4aea
File deleted
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment