omikit-plugin 3.1.5 → 3.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -361,7 +361,7 @@ We support 2 environments. So you need set correct key in Appdelegate.
|
|
|
361
361
|
- Create OmiKit: OmiKit need userName, password, realm, host to init enviroment. ViHAT Group will provide informations for you. Please contact for my sale:
|
|
362
362
|
|
|
363
363
|
```
|
|
364
|
-
import {
|
|
364
|
+
import { initCallWithUserPassword } from 'omikit-plugin';
|
|
365
365
|
|
|
366
366
|
const loginInfo = {
|
|
367
367
|
userName: userName, //string
|
|
@@ -369,9 +369,9 @@ We support 2 environments. So you need set correct key in Appdelegate.
|
|
|
369
369
|
realm: realm, //string
|
|
370
370
|
isVideo: isVideo, //boolean: true/false
|
|
371
371
|
host: host, //string
|
|
372
|
-
|
|
372
|
+
fcmToken: fcmToken, //string
|
|
373
373
|
};
|
|
374
|
-
const result = await
|
|
374
|
+
const result = await initCallWithUserPassword(loginInfo);
|
|
375
375
|
//result is true then user login successfully.
|
|
376
376
|
```
|
|
377
377
|
|
|
@@ -184,7 +184,7 @@ class OmikitPluginModule(reactContext: ReactApplicationContext?) :
|
|
|
184
184
|
|
|
185
185
|
private fun messageCall(type: Int): String {
|
|
186
186
|
return when (type) {
|
|
187
|
-
//
|
|
187
|
+
// 0 -> "INVALID_UUID"
|
|
188
188
|
// 1 -> "INVALID_PHONE_NUMBER"
|
|
189
189
|
// 2 -> "SAME_PHONE_NUMBER_WITH_PHONE_REGISTER"
|
|
190
190
|
// 3 -> "MAX_RETRY"
|
|
@@ -196,14 +196,14 @@ class OmikitPluginModule(reactContext: ReactApplicationContext?) :
|
|
|
196
196
|
// 8 -> "START_CALL_SUCCESS"
|
|
197
197
|
// 9 -> "HAVE_ANOTHER_CALL"
|
|
198
198
|
200 -> "START_CALL_SUCCESS"
|
|
199
|
-
400 -> "
|
|
199
|
+
400 -> "ALREADY_IN_CALL"
|
|
200
200
|
401 -> "INVALID_UUID"
|
|
201
201
|
402 -> "INVALID_PHONE_NUMBER"
|
|
202
202
|
403 -> "CAN_NOT_CALL_YOURSELF"
|
|
203
203
|
404 -> "SWITCHBOARD_NOT_CONNECTED"
|
|
204
204
|
405 -> "PERMISSION_DENIED"
|
|
205
205
|
406 -> "PERMISSION_DENIED"
|
|
206
|
-
407 -> "
|
|
206
|
+
407 -> "SWITCHBOARD_REGISTERING"
|
|
207
207
|
else -> "HAVE_ANOTHER_CALL"
|
|
208
208
|
}
|
|
209
209
|
}
|
|
@@ -290,10 +290,12 @@ class OmikitPluginModule(reactContext: ReactApplicationContext?) :
|
|
|
290
290
|
val host = data.getString("host")
|
|
291
291
|
val isVideo = data.getBoolean("isVideo")
|
|
292
292
|
val firebaseToken = data.getString("fcmToken") as String
|
|
293
|
-
|
|
293
|
+
|
|
294
|
+
Log.d("dataOmi", "INIT_CALL_USER_PASSWORD $userName -- $password --$realm --$isVideo -- $host")
|
|
295
|
+
|
|
294
296
|
withContext(Dispatchers.Default) {
|
|
295
297
|
try {
|
|
296
|
-
if (userName != null && password != null && realm != null
|
|
298
|
+
if (userName != null && password != null && realm != null) {
|
|
297
299
|
OmiClient.register(userName, password, realm , isVideo ?: true, firebaseToken, host)
|
|
298
300
|
}
|
|
299
301
|
} catch (_: Throwable) {
|
|
@@ -380,26 +382,23 @@ class OmikitPluginModule(reactContext: ReactApplicationContext?) :
|
|
|
380
382
|
if (audio == PackageManager.PERMISSION_GRANTED) {
|
|
381
383
|
currentActivity?.runOnUiThread {
|
|
382
384
|
val phoneNumber = data.getString("phoneNumber") as String
|
|
383
|
-
val isVideo = data.getBoolean("isVideo")
|
|
385
|
+
val isVideo = data.getBoolean("isVideo") ?: false ;
|
|
384
386
|
val startCallResult = OmiClient.getInstance(reactApplicationContext!!).startCall(phoneNumber, isVideo)
|
|
385
|
-
Log.d("dataOmi", "startCall ==>> ${startCallResult} ")
|
|
386
|
-
Log.d("dataOmi", "startCall2 ==>> ${startCallResult.value} ")
|
|
387
387
|
var statusCalltemp = startCallResult.value as Int;
|
|
388
388
|
if(startCallResult.value == 200 ){
|
|
389
389
|
statusCalltemp = 8
|
|
390
390
|
}
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
Log.d("OMISDK", "=>> ON START CALL => $map")
|
|
391
|
+
map.putInt("status", statusCalltemp)
|
|
392
|
+
map.putString("_id", "")
|
|
393
|
+
map.putString("message", messageCall(startCallResult.value) as String)
|
|
395
394
|
promise.resolve(map)
|
|
396
395
|
}
|
|
397
396
|
} else {
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
397
|
+
map.putInt("status", 4)
|
|
398
|
+
map.putString("_id", "")
|
|
399
|
+
map.putString("message", messageCall(406) as String)
|
|
400
|
+
Log.d("OMISDK", "=>> ON START CALL FAIL BECAUSE NEED PERMISSION => $map")
|
|
401
|
+
promise.resolve(map)
|
|
403
402
|
}
|
|
404
403
|
}
|
|
405
404
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//
|
|
1
|
+
//
|
|
2
2
|
// CallUtils.swift
|
|
3
3
|
// OMICall Contact Center
|
|
4
4
|
//
|
|
@@ -38,14 +38,21 @@ class CallManager {
|
|
|
38
38
|
return currentCall
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
-
func transferCall(_ phoneNumber: String){
|
|
41
|
+
func transferCall(_ phoneNumber: String)-> Bool {
|
|
42
|
+
var result = false;
|
|
42
43
|
do {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
if let callInfo = self.omiLib.getCurrentConfirmCall() {
|
|
45
|
+
dump(callInfo)
|
|
46
|
+
if callInfo.callState != .disconnected {
|
|
47
|
+
callInfo.blindTransferCall(withNumber: phoneNumber);
|
|
48
|
+
result = true
|
|
49
|
+
}
|
|
50
|
+
}
|
|
46
51
|
} catch let error {
|
|
47
52
|
print("ERROR_WHEN_TRANSFER_CALL_IOS: ", error)
|
|
48
53
|
}
|
|
54
|
+
print("calllZiii 2 ==> \(result)")
|
|
55
|
+
return result
|
|
49
56
|
}
|
|
50
57
|
|
|
51
58
|
|
|
@@ -79,6 +86,43 @@ class CallManager {
|
|
|
79
86
|
}
|
|
80
87
|
}
|
|
81
88
|
|
|
89
|
+
func convertDictionaryToJson(dictionary: [String: Any]) -> String? {
|
|
90
|
+
do {
|
|
91
|
+
let jsonData = try JSONSerialization.data(withJSONObject: dictionary, options: [])
|
|
92
|
+
if let jsonString = String(data: jsonData, encoding: .utf8) {
|
|
93
|
+
return jsonString
|
|
94
|
+
}
|
|
95
|
+
} catch {
|
|
96
|
+
print("Error converting dictionary to JSON: \(error.localizedDescription)")
|
|
97
|
+
}
|
|
98
|
+
return nil
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
private func messageCall(type: Int) -> String {
|
|
102
|
+
switch(type){
|
|
103
|
+
case 0:
|
|
104
|
+
return "INVALID_UUID"
|
|
105
|
+
case 1:
|
|
106
|
+
return "INVALID_PHONE_NUMBER"
|
|
107
|
+
case 2:
|
|
108
|
+
return "SAME_PHONE_NUMBER_WITH_PHONE_REGISTER"
|
|
109
|
+
case 3:
|
|
110
|
+
return "MAX_RETRY"
|
|
111
|
+
case 4:
|
|
112
|
+
return "PERMISSION_DENIED"
|
|
113
|
+
case 5:
|
|
114
|
+
return "COULD_NOT_FIND_END_POINT"
|
|
115
|
+
case 6:
|
|
116
|
+
return "REGISTER_ACCOUNT_FAIL"
|
|
117
|
+
case 7:
|
|
118
|
+
return "START_CALL_FAIL"
|
|
119
|
+
case 9:
|
|
120
|
+
return "HAVE_ANOTHER_CALL"
|
|
121
|
+
default:
|
|
122
|
+
return "START_CALL_SUCCESS"
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
82
126
|
private func requestPermission(isVideo: Bool) {
|
|
83
127
|
AVCaptureDevice.requestAccess(for: .audio) { _ in
|
|
84
128
|
// print("request audio")
|
|
@@ -112,7 +156,7 @@ class CallManager {
|
|
|
112
156
|
requestPermission(isVideo: isVideo)
|
|
113
157
|
return true
|
|
114
158
|
}
|
|
115
|
-
|
|
159
|
+
|
|
116
160
|
func showMissedCall() {
|
|
117
161
|
OmiClient.setMissedCall { call in
|
|
118
162
|
UNUserNotificationCenter.current().getNotificationSettings { settings in
|
|
@@ -280,7 +324,7 @@ class CallManager {
|
|
|
280
324
|
guestPhone = call.callerNumber ?? ""
|
|
281
325
|
break
|
|
282
326
|
case OMICallState.disconnected.rawValue:
|
|
283
|
-
tempCallInfo = getCallInfo(call: call)
|
|
327
|
+
tempCallInfo = getCallInfo(call: call)
|
|
284
328
|
if (videoManager != nil) {
|
|
285
329
|
videoManager = nil
|
|
286
330
|
}
|
|
@@ -321,29 +365,58 @@ class CallManager {
|
|
|
321
365
|
|
|
322
366
|
|
|
323
367
|
/// Start call
|
|
324
|
-
func startCall(_ phoneNumber: String, isVideo: Bool, completion: @escaping (_ :
|
|
368
|
+
func startCall(_ phoneNumber: String, isVideo: Bool, completion: @escaping (_ : String) -> Void) {
|
|
325
369
|
let secondsSinceCurrentTime = lastTimeCall.timeIntervalSinceNow
|
|
326
370
|
guestPhone = phoneNumber
|
|
327
371
|
OmiClient.startCall(phoneNumber, isVideo: isVideo) { status in
|
|
328
372
|
DispatchQueue.main.async {
|
|
329
|
-
|
|
373
|
+
let callCurrent = self.omiLib.getCurrentCall()
|
|
374
|
+
var dataToSend: [String: Any] = [
|
|
375
|
+
"status": status.rawValue,
|
|
376
|
+
"_id": "",
|
|
377
|
+
"message": self.messageCall(type: status.rawValue)
|
|
378
|
+
]
|
|
379
|
+
if(callCurrent != nil){
|
|
380
|
+
dataToSend["_id"] = String(describing: OmiCallModel(omiCall: callCurrent!).uuid)
|
|
381
|
+
}
|
|
382
|
+
if let jsonString = self.convertDictionaryToJson(dictionary: dataToSend) {
|
|
383
|
+
completion(jsonString)
|
|
384
|
+
} else {
|
|
385
|
+
completion("Conversion to JSON failed")
|
|
386
|
+
}
|
|
387
|
+
return
|
|
330
388
|
}
|
|
331
389
|
}
|
|
332
390
|
}
|
|
333
391
|
|
|
334
392
|
/// Start call
|
|
335
|
-
func startCallWithUuid(_ uuid: String, isVideo: Bool, completion: @escaping (_ :
|
|
393
|
+
func startCallWithUuid(_ uuid: String, isVideo: Bool, completion: @escaping (_ : String) -> Void) {
|
|
336
394
|
let phoneNumber = OmiClient.getPhone(uuid)
|
|
337
395
|
if let phone = phoneNumber {
|
|
338
396
|
guestPhone = phoneNumber ?? ""
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
397
|
+
DispatchQueue.main.async {
|
|
398
|
+
OmiClient.startCall(phone, isVideo: isVideo) { statusCall in
|
|
399
|
+
let callCurrent = self.omiLib.getCurrentCall()
|
|
400
|
+
// completion(status.rawValue)
|
|
401
|
+
var dataToSend: [String: Any] = [
|
|
402
|
+
"status": statusCall.rawValue,
|
|
403
|
+
"_id": "",
|
|
404
|
+
"message": self.messageCall(type: statusCall.rawValue)
|
|
405
|
+
]
|
|
406
|
+
if(callCurrent != nil){
|
|
407
|
+
dataToSend["_id"] = String(describing: OmiCallModel(omiCall: callCurrent!).uuid)
|
|
408
|
+
}
|
|
409
|
+
if let jsonString = self.convertDictionaryToJson(dictionary: dataToSend) {
|
|
410
|
+
completion(jsonString)
|
|
411
|
+
} else {
|
|
412
|
+
completion("Conversion to JSON failed")
|
|
413
|
+
}
|
|
414
|
+
return
|
|
415
|
+
|
|
342
416
|
}
|
|
343
417
|
}
|
|
344
418
|
return
|
|
345
419
|
}
|
|
346
|
-
completion(OMIStartCallStatus.invalidUuid.rawValue)
|
|
347
420
|
}
|
|
348
421
|
|
|
349
422
|
func endAvailableCall() -> [String: Any] {
|
package/omikit-plugin.podspec
CHANGED
|
@@ -12,7 +12,7 @@ Pod::Spec.new do |s|
|
|
|
12
12
|
s.authors = package["author"]
|
|
13
13
|
|
|
14
14
|
s.platforms = { :ios => "11.0" }
|
|
15
|
-
s.source = { :git => "https://github.com/
|
|
15
|
+
s.source = { :git => "https://github.com/VIHATTeam/OMICALL-React-Native-SDK.git", :tag => "#{s.version}" }
|
|
16
16
|
|
|
17
17
|
s.source_files = "ios/**/*.{h,m,mm,swift}"
|
|
18
18
|
|
|
@@ -32,5 +32,5 @@ Pod::Spec.new do |s|
|
|
|
32
32
|
s.dependency "RCTTypeSafety"
|
|
33
33
|
s.dependency "ReactCommon/turbomodule/core"
|
|
34
34
|
end
|
|
35
|
-
s.dependency "OmiKit", '1.5.
|
|
36
|
-
end
|
|
35
|
+
s.dependency "OmiKit", '1.5.84'
|
|
36
|
+
end
|