omikit-plugin 3.3.29 → 4.0.2
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 +994 -1217
- package/android/build.gradle +22 -72
- package/android/gradle.properties +4 -4
- package/android/src/main/java/com/omikitplugin/FLLocalCameraModule.kt +1 -1
- package/android/src/main/java/com/omikitplugin/FLRemoteCameraModule.kt +1 -1
- package/android/src/main/java/com/omikitplugin/OmikitPluginModule.kt +326 -356
- package/android/src/main/java/com/omikitplugin/constants/constant.kt +2 -1
- package/ios/CallProcess/CallManager.swift +45 -35
- package/ios/Constant/Constant.swift +1 -0
- package/ios/Library/OmikitPlugin.m +75 -1
- package/ios/Library/OmikitPlugin.swift +199 -16
- package/ios/OmikitPlugin-Protocol.h +161 -0
- package/lib/commonjs/NativeOmikitPlugin.js +9 -0
- package/lib/commonjs/NativeOmikitPlugin.js.map +1 -0
- package/lib/commonjs/index.js +11 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/omi_audio_type.js +20 -0
- package/lib/commonjs/omi_audio_type.js.map +1 -0
- package/lib/commonjs/omi_local_camera.js +18 -2
- package/lib/commonjs/omi_local_camera.js.map +1 -1
- package/lib/commonjs/omi_remote_camera.js +18 -2
- package/lib/commonjs/omi_remote_camera.js.map +1 -1
- package/lib/commonjs/omi_start_call_status.js +30 -0
- package/lib/commonjs/omi_start_call_status.js.map +1 -1
- package/lib/commonjs/omikit.js +125 -14
- package/lib/commonjs/omikit.js.map +1 -1
- package/lib/module/NativeOmikitPlugin.js +3 -0
- package/lib/module/NativeOmikitPlugin.js.map +1 -0
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/omi_audio_type.js +14 -0
- package/lib/module/omi_audio_type.js.map +1 -0
- package/lib/module/omi_local_camera.js +19 -2
- package/lib/module/omi_local_camera.js.map +1 -1
- package/lib/module/omi_remote_camera.js +19 -2
- package/lib/module/omi_remote_camera.js.map +1 -1
- package/lib/module/omi_start_call_status.js +30 -0
- package/lib/module/omi_start_call_status.js.map +1 -1
- package/lib/module/omikit.js +119 -15
- package/lib/module/omikit.js.map +1 -1
- package/omikit-plugin.podspec +26 -24
- package/package.json +11 -2
- package/src/NativeOmikitPlugin.ts +160 -0
- package/src/index.tsx +2 -1
- package/src/omi_audio_type.tsx +9 -0
- package/src/omi_local_camera.tsx +17 -3
- package/src/omi_remote_camera.tsx +17 -3
- package/src/omi_start_call_status.tsx +29 -10
- package/src/omikit.tsx +118 -28
- package/src/types/index.d.ts +111 -11
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["OmiAudioType"],"sourceRoot":"../../src","sources":["omi_audio_type.tsx"],"mappings":"AAAA;AACA;AACA;AACA,WAAYA,YAAY,0BAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EACJ;EADRA,YAAY,CAAZA,YAAY;EAEJ;EAFRA,YAAY,CAAZA,YAAY;EAGJ;EAHRA,YAAY,CAAZA,YAAY,oCAIJ;EAAA,OAJRA,YAAY;AAAA","ignoreList":[]}
|
|
@@ -1,7 +1,24 @@
|
|
|
1
1
|
import { NativeModules, requireNativeComponent } from 'react-native';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
|
|
3
|
+
// Safe lazy loading — requireNativeComponent can throw in bridgeless mode
|
|
4
|
+
// if the native view is not registered for Fabric
|
|
5
|
+
let _localCameraView = null;
|
|
6
|
+
const getLocalCameraView = () => {
|
|
7
|
+
if (!_localCameraView) {
|
|
8
|
+
_localCameraView = requireNativeComponent('FLLocalCameraView');
|
|
9
|
+
}
|
|
10
|
+
return _localCameraView;
|
|
11
|
+
};
|
|
12
|
+
export const OmiLocalCameraView = new Proxy({}, {
|
|
13
|
+
get(_target, prop) {
|
|
14
|
+
return getLocalCameraView()[prop];
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
// Module name separated from ViewManager name to avoid name collision
|
|
19
|
+
const FLLocalCamera = NativeModules.FLLocalCameraModule || NativeModules.FLLocalCameraView;
|
|
4
20
|
export function refreshLocalCamera() {
|
|
21
|
+
if (!FLLocalCamera) return Promise.resolve(false);
|
|
5
22
|
return FLLocalCamera.refresh();
|
|
6
23
|
}
|
|
7
24
|
//# sourceMappingURL=omi_local_camera.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","requireNativeComponent","
|
|
1
|
+
{"version":3,"names":["NativeModules","requireNativeComponent","_localCameraView","getLocalCameraView","OmiLocalCameraView","Proxy","get","_target","prop","FLLocalCamera","FLLocalCameraModule","FLLocalCameraView","refreshLocalCamera","Promise","resolve","refresh"],"sourceRoot":"../../src","sources":["omi_local_camera.tsx"],"mappings":"AACA,SAASA,aAAa,EAAEC,sBAAsB,QAAmB,cAAc;;AAE/E;AACA;AACA,IAAIC,gBAAiD,GAAG,IAAI;AAC5D,MAAMC,kBAAkB,GAAGA,CAAA,KAAgC;EACzD,IAAI,CAACD,gBAAgB,EAAE;IACrBA,gBAAgB,GAAGD,sBAAsB,CAAC,mBAAmB,CAAC;EAChE;EACA,OAAOC,gBAAgB;AACzB,CAAC;AAED,OAAO,MAAME,kBAAkB,GAAG,IAAIC,KAAK,CAAC,CAAC,CAAC,EAA8B;EAC1EC,GAAGA,CAACC,OAAO,EAAEC,IAAI,EAAE;IACjB,OAAQL,kBAAkB,CAAC,CAAC,CAASK,IAAI,CAAC;EAC5C;AACF,CAAC,CAAC;;AAEF;AACA,MAAMC,aAAa,GAAGT,aAAa,CAACU,mBAAmB,IAAIV,aAAa,CAACW,iBAAiB;AAC1F,OAAO,SAASC,kBAAkBA,CAAA,EAAqB;EACrD,IAAI,CAACH,aAAa,EAAE,OAAOI,OAAO,CAACC,OAAO,CAAC,KAAK,CAAC;EACjD,OAAOL,aAAa,CAACM,OAAO,CAAC,CAAC;AAChC","ignoreList":[]}
|
|
@@ -1,7 +1,24 @@
|
|
|
1
1
|
import { NativeModules, requireNativeComponent } from 'react-native';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
|
|
3
|
+
// Safe lazy loading — requireNativeComponent can throw in bridgeless mode
|
|
4
|
+
// if the native view is not registered for Fabric
|
|
5
|
+
let _remoteCameraView = null;
|
|
6
|
+
const getRemoteCameraView = () => {
|
|
7
|
+
if (!_remoteCameraView) {
|
|
8
|
+
_remoteCameraView = requireNativeComponent('FLRemoteCameraView');
|
|
9
|
+
}
|
|
10
|
+
return _remoteCameraView;
|
|
11
|
+
};
|
|
12
|
+
export const OmiRemoteCameraView = new Proxy({}, {
|
|
13
|
+
get(_target, prop) {
|
|
14
|
+
return getRemoteCameraView()[prop];
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
// Module name separated from ViewManager name to avoid name collision
|
|
19
|
+
const FLRemoteCamera = NativeModules.FLRemoteCameraModule || NativeModules.FLRemoteCameraView;
|
|
4
20
|
export function refreshRemoteCamera() {
|
|
21
|
+
if (!FLRemoteCamera) return Promise.resolve(false);
|
|
5
22
|
return FLRemoteCamera.refresh();
|
|
6
23
|
}
|
|
7
24
|
//# sourceMappingURL=omi_remote_camera.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","requireNativeComponent","
|
|
1
|
+
{"version":3,"names":["NativeModules","requireNativeComponent","_remoteCameraView","getRemoteCameraView","OmiRemoteCameraView","Proxy","get","_target","prop","FLRemoteCamera","FLRemoteCameraModule","FLRemoteCameraView","refreshRemoteCamera","Promise","resolve","refresh"],"sourceRoot":"../../src","sources":["omi_remote_camera.tsx"],"mappings":"AACA,SAASA,aAAa,EAAEC,sBAAsB,QAAmB,cAAc;;AAE/E;AACA;AACA,IAAIC,iBAAkD,GAAG,IAAI;AAC7D,MAAMC,mBAAmB,GAAGA,CAAA,KAAgC;EAC1D,IAAI,CAACD,iBAAiB,EAAE;IACtBA,iBAAiB,GAAGD,sBAAsB,CAAC,oBAAoB,CAAC;EAClE;EACA,OAAOC,iBAAiB;AAC1B,CAAC;AAED,OAAO,MAAME,mBAAmB,GAAG,IAAIC,KAAK,CAAC,CAAC,CAAC,EAA8B;EAC3EC,GAAGA,CAACC,OAAO,EAAEC,IAAI,EAAE;IACjB,OAAQL,mBAAmB,CAAC,CAAC,CAASK,IAAI,CAAC;EAC7C;AACF,CAAC,CAAC;;AAEF;AACA,MAAMC,cAAc,GAAGT,aAAa,CAACU,oBAAoB,IAAIV,aAAa,CAACW,kBAAkB;AAC7F,OAAO,SAASC,mBAAmBA,CAAA,EAAqB;EACtD,IAAI,CAACH,cAAc,EAAE,OAAOI,OAAO,CAACC,OAAO,CAAC,KAAK,CAAC;EAClD,OAAOL,cAAc,CAACM,OAAO,CAAC,CAAC;AACjC","ignoreList":[]}
|
|
@@ -1,14 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Status codes returned by startCall() function
|
|
3
|
+
* Use these to handle different call initiation results
|
|
4
|
+
*/
|
|
1
5
|
export let OmiStartCallStatus = /*#__PURE__*/function (OmiStartCallStatus) {
|
|
6
|
+
// Validation errors (0-3)
|
|
2
7
|
OmiStartCallStatus[OmiStartCallStatus["invalidUuid"] = 0] = "invalidUuid";
|
|
8
|
+
// Invalid user UUID
|
|
3
9
|
OmiStartCallStatus[OmiStartCallStatus["invalidPhoneNumber"] = 1] = "invalidPhoneNumber";
|
|
10
|
+
// Invalid phone number format
|
|
4
11
|
OmiStartCallStatus[OmiStartCallStatus["samePhoneNumber"] = 2] = "samePhoneNumber";
|
|
12
|
+
// Cannot call same phone number
|
|
5
13
|
OmiStartCallStatus[OmiStartCallStatus["maxRetry"] = 3] = "maxRetry";
|
|
14
|
+
// Maximum retry attempts reached
|
|
15
|
+
// Permission errors (4, 450-452)
|
|
6
16
|
OmiStartCallStatus[OmiStartCallStatus["permissionDenied"] = 4] = "permissionDenied";
|
|
17
|
+
// Microphone/Camera permission denied
|
|
18
|
+
OmiStartCallStatus[OmiStartCallStatus["permissionMicrophone"] = 450] = "permissionMicrophone";
|
|
19
|
+
// Microphone permission required (Android 15+)
|
|
20
|
+
OmiStartCallStatus[OmiStartCallStatus["permissionCamera"] = 451] = "permissionCamera";
|
|
21
|
+
// Camera permission required (Android 15+)
|
|
22
|
+
OmiStartCallStatus[OmiStartCallStatus["permissionOverlay"] = 452] = "permissionOverlay";
|
|
23
|
+
// System alert window permission required (Android 15+)
|
|
24
|
+
// Call errors (5-7)
|
|
7
25
|
OmiStartCallStatus[OmiStartCallStatus["couldNotFindEndpoint"] = 5] = "couldNotFindEndpoint";
|
|
26
|
+
// Could not find endpoint
|
|
8
27
|
OmiStartCallStatus[OmiStartCallStatus["accountRegisterFailed"] = 6] = "accountRegisterFailed";
|
|
28
|
+
// Account registration failed
|
|
9
29
|
OmiStartCallStatus[OmiStartCallStatus["startCallFailed"] = 7] = "startCallFailed";
|
|
30
|
+
// Start call failed
|
|
31
|
+
// Success statuses (8, 407)
|
|
10
32
|
OmiStartCallStatus[OmiStartCallStatus["startCallSuccess"] = 8] = "startCallSuccess";
|
|
33
|
+
// Call initiated successfully (Android)
|
|
34
|
+
OmiStartCallStatus[OmiStartCallStatus["startCallSuccessIOS"] = 407] = "startCallSuccessIOS";
|
|
35
|
+
// Call initiated successfully (iOS)
|
|
36
|
+
// Other errors (9+)
|
|
11
37
|
OmiStartCallStatus[OmiStartCallStatus["haveAnotherCall"] = 9] = "haveAnotherCall";
|
|
38
|
+
// Already have another call in progress
|
|
39
|
+
OmiStartCallStatus[OmiStartCallStatus["accountTurnOffNumberInternal"] = 10] = "accountTurnOffNumberInternal";
|
|
40
|
+
// Internal number has been deactivated
|
|
41
|
+
OmiStartCallStatus[OmiStartCallStatus["noNetwork"] = 11] = "noNetwork"; // No network connection available
|
|
12
42
|
return OmiStartCallStatus;
|
|
13
43
|
}({});
|
|
14
44
|
//# sourceMappingURL=omi_start_call_status.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["OmiStartCallStatus"],"sourceRoot":"../../src","sources":["omi_start_call_status.tsx"],"mappings":"AAAA,WAAYA,kBAAkB,0BAAlBA,kBAAkB;
|
|
1
|
+
{"version":3,"names":["OmiStartCallStatus"],"sourceRoot":"../../src","sources":["omi_start_call_status.tsx"],"mappings":"AAAA;AACA;AACA;AACA;AACA,WAAYA,kBAAkB,0BAAlBA,kBAAkB;EAC5B;EADUA,kBAAkB,CAAlBA,kBAAkB;EAEE;EAFpBA,kBAAkB,CAAlBA,kBAAkB;EAGE;EAHpBA,kBAAkB,CAAlBA,kBAAkB;EAIE;EAJpBA,kBAAkB,CAAlBA,kBAAkB;EAKE;EAE9B;EAPUA,kBAAkB,CAAlBA,kBAAkB;EAQE;EARpBA,kBAAkB,CAAlBA,kBAAkB;EASE;EATpBA,kBAAkB,CAAlBA,kBAAkB;EAUE;EAVpBA,kBAAkB,CAAlBA,kBAAkB;EAWE;EAE9B;EAbUA,kBAAkB,CAAlBA,kBAAkB;EAcE;EAdpBA,kBAAkB,CAAlBA,kBAAkB;EAeE;EAfpBA,kBAAkB,CAAlBA,kBAAkB;EAgBE;EAE9B;EAlBUA,kBAAkB,CAAlBA,kBAAkB;EAmBE;EAnBpBA,kBAAkB,CAAlBA,kBAAkB;EAoBE;EAE9B;EAtBUA,kBAAkB,CAAlBA,kBAAkB;EAuBE;EAvBpBA,kBAAkB,CAAlBA,kBAAkB;EAwBO;EAxBzBA,kBAAkB,CAAlBA,kBAAkB,mCAyBE;EAAA,OAzBpBA,kBAAkB;AAAA","ignoreList":[]}
|
package/lib/module/omikit.js
CHANGED
|
@@ -1,18 +1,51 @@
|
|
|
1
|
-
import { NativeModules, Platform, NativeEventEmitter, DeviceEventEmitter } from 'react-native';
|
|
1
|
+
import { NativeModules, Platform, NativeEventEmitter, DeviceEventEmitter, TurboModuleRegistry } from 'react-native';
|
|
2
2
|
const LINKING_ERROR = `The package 'omikit-plugin' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
|
|
3
3
|
ios: "- You have run 'pod install'\n",
|
|
4
4
|
default: ''
|
|
5
5
|
}) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
|
|
6
6
|
|
|
7
|
-
//
|
|
8
|
-
const
|
|
9
|
-
|
|
7
|
+
// Resolve native module: TurboModule (New Arch) → NativeModules (Old Arch) → null
|
|
8
|
+
const resolvedModule = (() => {
|
|
9
|
+
try {
|
|
10
|
+
// Try TurboModule first (New Architecture / bridgeless mode)
|
|
11
|
+
const turboModule = TurboModuleRegistry.get('OmikitPlugin');
|
|
12
|
+
if (turboModule) return turboModule;
|
|
13
|
+
} catch (_) {}
|
|
14
|
+
|
|
15
|
+
// Fallback to NativeModules (Old Architecture / bridge mode)
|
|
16
|
+
if (NativeModules.OmikitPlugin) {
|
|
17
|
+
return NativeModules.OmikitPlugin;
|
|
18
|
+
}
|
|
19
|
+
return null;
|
|
20
|
+
})();
|
|
21
|
+
|
|
22
|
+
// Wrap in Proxy that throws LINKING_ERROR only when SDK methods are actually called
|
|
23
|
+
const OmikitPlugin = resolvedModule || new Proxy({}, {
|
|
24
|
+
get(_target, prop) {
|
|
25
|
+
if (prop === 'addListener' || prop === 'removeListeners') {
|
|
26
|
+
return () => {};
|
|
27
|
+
}
|
|
10
28
|
throw new Error(LINKING_ERROR);
|
|
11
29
|
}
|
|
12
30
|
});
|
|
13
31
|
|
|
14
|
-
//
|
|
15
|
-
const omiEmitter =
|
|
32
|
+
// Setup omiEmitter — safe for Old Arch, New Arch, and bridgeless mode
|
|
33
|
+
const omiEmitter = (() => {
|
|
34
|
+
if (Platform.OS !== 'ios') {
|
|
35
|
+
return DeviceEventEmitter;
|
|
36
|
+
}
|
|
37
|
+
try {
|
|
38
|
+
// Best case: NativeEventEmitter with resolved native module
|
|
39
|
+
if (resolvedModule) {
|
|
40
|
+
return new NativeEventEmitter(resolvedModule);
|
|
41
|
+
}
|
|
42
|
+
// New Arch without interop: NativeEventEmitter without module arg (RN 0.74+)
|
|
43
|
+
return new NativeEventEmitter();
|
|
44
|
+
} catch (_) {
|
|
45
|
+
// Last resort fallback
|
|
46
|
+
return DeviceEventEmitter;
|
|
47
|
+
}
|
|
48
|
+
})();
|
|
16
49
|
|
|
17
50
|
/**
|
|
18
51
|
* Starts the Omikit services.
|
|
@@ -32,14 +65,18 @@ export function configPushNotification(data) {
|
|
|
32
65
|
}
|
|
33
66
|
|
|
34
67
|
/**
|
|
35
|
-
* Retrieves the initial call details when start call
|
|
68
|
+
* Retrieves the initial call details when start call
|
|
36
69
|
* @returns {Promise<any>} A promise containing the initial call details.
|
|
37
70
|
*/
|
|
38
71
|
export function getInitialCall() {
|
|
39
72
|
if (Platform.OS == "ios") {
|
|
40
|
-
return OmikitPlugin.getInitialCall(
|
|
73
|
+
return OmikitPlugin.getInitialCall({
|
|
74
|
+
counter: 0
|
|
75
|
+
});
|
|
41
76
|
} else {
|
|
42
|
-
return OmikitPlugin.getInitialCall(
|
|
77
|
+
return OmikitPlugin.getInitialCall({
|
|
78
|
+
counter: 4
|
|
79
|
+
});
|
|
43
80
|
}
|
|
44
81
|
}
|
|
45
82
|
|
|
@@ -64,7 +101,7 @@ export function initCallWithApiKey(data) {
|
|
|
64
101
|
/**
|
|
65
102
|
* Starts a new call with the given data.
|
|
66
103
|
* @param {any} data - Call configuration data.
|
|
67
|
-
* @returns {Promise<
|
|
104
|
+
* @returns {Promise<any>} A promise that resolves with call details if successful.
|
|
68
105
|
*/
|
|
69
106
|
export function startCall(data) {
|
|
70
107
|
return OmikitPlugin.startCall(data);
|
|
@@ -97,7 +134,7 @@ export function endCall() {
|
|
|
97
134
|
|
|
98
135
|
/**
|
|
99
136
|
* Toggles the mute status of the microphone.
|
|
100
|
-
* @returns {Promise<boolean>} A promise that resolves to `true` if the microphone is muted, `false` otherwise.
|
|
137
|
+
* @returns {Promise<boolean | null>} A promise that resolves to `true` if the microphone is muted, `false` otherwise, or `null` if unavailable.
|
|
101
138
|
*/
|
|
102
139
|
export function toggleMute() {
|
|
103
140
|
return OmikitPlugin.toggleMute();
|
|
@@ -113,7 +150,7 @@ export function toggleSpeaker() {
|
|
|
113
150
|
|
|
114
151
|
/**
|
|
115
152
|
* Toggles the hold call.
|
|
116
|
-
* @returns {Promise<
|
|
153
|
+
* @returns {Promise<void>} A promise that resolves when hold call is toggled.
|
|
117
154
|
*/
|
|
118
155
|
export function toggleHold() {
|
|
119
156
|
return OmikitPlugin.toggleHold();
|
|
@@ -269,7 +306,9 @@ export function hideSystemNotificationOnly() {
|
|
|
269
306
|
return OmikitPlugin.hideSystemNotificationOnly();
|
|
270
307
|
}
|
|
271
308
|
export function hideSystemNotificationAndUnregister(reason) {
|
|
272
|
-
return OmikitPlugin.hideSystemNotificationAndUnregister(
|
|
309
|
+
return OmikitPlugin.hideSystemNotificationAndUnregister({
|
|
310
|
+
reason
|
|
311
|
+
});
|
|
273
312
|
}
|
|
274
313
|
export const OmiCallEvent = {
|
|
275
314
|
onCallStateChanged: 'CALL_STATE_CHANGED',
|
|
@@ -323,7 +362,9 @@ export function checkAndRequestPermissions(isVideo = false) {
|
|
|
323
362
|
if (Platform.OS !== 'android') {
|
|
324
363
|
return Promise.resolve(true);
|
|
325
364
|
}
|
|
326
|
-
return OmikitPlugin.checkAndRequestPermissions(
|
|
365
|
+
return OmikitPlugin.checkAndRequestPermissions({
|
|
366
|
+
isVideo
|
|
367
|
+
});
|
|
327
368
|
}
|
|
328
369
|
|
|
329
370
|
/**
|
|
@@ -347,6 +388,69 @@ export function requestPermissionsByCodes(codes) {
|
|
|
347
388
|
if (Platform.OS !== 'android') {
|
|
348
389
|
return Promise.resolve(true);
|
|
349
390
|
}
|
|
350
|
-
return OmikitPlugin.requestPermissionsByCodes(
|
|
391
|
+
return OmikitPlugin.requestPermissionsByCodes({
|
|
392
|
+
codes
|
|
393
|
+
});
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
// MARK: - Getter Functions
|
|
397
|
+
|
|
398
|
+
/**
|
|
399
|
+
* Retrieves user info by phone number.
|
|
400
|
+
* @param {string} phone - The phone number to look up.
|
|
401
|
+
* @returns {Promise<any>} User info object or null.
|
|
402
|
+
*/
|
|
403
|
+
export function getUserInfo(phone) {
|
|
404
|
+
return OmikitPlugin.getUserInfo({
|
|
405
|
+
phone
|
|
406
|
+
});
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
/**
|
|
410
|
+
* Retrieves the project ID from OmiClient.
|
|
411
|
+
* @returns {Promise<string | null>} The project ID or null.
|
|
412
|
+
*/
|
|
413
|
+
export function getProjectId() {
|
|
414
|
+
return OmikitPlugin.getProjectId();
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
/**
|
|
418
|
+
* Retrieves SIP connection info (user@realm).
|
|
419
|
+
* @returns {Promise<string | null>} SIP info string or null.
|
|
420
|
+
*/
|
|
421
|
+
export function getSipInfo() {
|
|
422
|
+
return OmikitPlugin.getSipInfo();
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
/**
|
|
426
|
+
* Retrieves the app ID from OmiClient.
|
|
427
|
+
* @returns {Promise<string | null>} The app ID or null.
|
|
428
|
+
*/
|
|
429
|
+
export function getAppId() {
|
|
430
|
+
return OmikitPlugin.getAppId();
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
/**
|
|
434
|
+
* Retrieves the device ID from OmiClient.
|
|
435
|
+
* @returns {Promise<string | null>} The device ID or null.
|
|
436
|
+
*/
|
|
437
|
+
export function getDeviceId() {
|
|
438
|
+
return OmikitPlugin.getDeviceId();
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
/**
|
|
442
|
+
* Retrieves the FCM token from OmiClient.
|
|
443
|
+
* @returns {Promise<string | null>} The FCM token or null.
|
|
444
|
+
*/
|
|
445
|
+
export function getFcmToken() {
|
|
446
|
+
return OmikitPlugin.getFcmToken();
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
/**
|
|
450
|
+
* Retrieves the VoIP token (iOS only, Android returns null).
|
|
451
|
+
* @returns {Promise<string | null>} The VoIP token or null.
|
|
452
|
+
*/
|
|
453
|
+
export function getVoipToken() {
|
|
454
|
+
return OmikitPlugin.getVoipToken();
|
|
351
455
|
}
|
|
352
456
|
//# sourceMappingURL=omikit.js.map
|
package/lib/module/omikit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","Platform","NativeEventEmitter","DeviceEventEmitter","LINKING_ERROR","select","ios","default","OmikitPlugin","Proxy","
|
|
1
|
+
{"version":3,"names":["NativeModules","Platform","NativeEventEmitter","DeviceEventEmitter","TurboModuleRegistry","LINKING_ERROR","select","ios","default","resolvedModule","turboModule","get","_","OmikitPlugin","Proxy","_target","prop","Error","omiEmitter","OS","startServices","configPushNotification","data","getInitialCall","counter","initCallWithUserPassword","initCallWithApiKey","startCall","startCallWithUuid","joinCall","endCall","toggleMute","toggleSpeaker","toggleHold","onHold","sendDTMF","switchOmiCamera","toggleOmiVideo","logout","registerVideoEvent","removeVideoEvent","getCurrentUser","getGuestUser","systemAlertWindow","openSystemAlertSetting","getAudio","setAudio","getCurrentAudio","transferCall","rejectCall","dropCall","hideSystemNotificationSafely","hideSystemNotificationOnly","hideSystemNotificationAndUnregister","reason","OmiCallEvent","onCallStateChanged","onSpeaker","onMuted","onRemoteVideoReady","onClickMissedCall","onSwitchboardAnswer","onCallQuality","onAudioChange","onRequestPermissionAndroid","checkCredentials","registerWithOptions","checkPermissionStatus","Promise","resolve","checkAndRequestPermissions","isVideo","requestSystemAlertWindowPermission","requestPermissionsByCodes","codes","getUserInfo","phone","getProjectId","getSipInfo","getAppId","getDeviceId","getFcmToken","getVoipToken"],"sourceRoot":"../../src","sources":["omikit.tsx"],"mappings":"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","ignoreList":[]}
|
package/omikit-plugin.podspec
CHANGED
|
@@ -14,49 +14,51 @@ Pod::Spec.new do |s|
|
|
|
14
14
|
s.platforms = { :ios => "13.0" }
|
|
15
15
|
s.source = { :git => "https://github.com/VIHATTeam/OMICALL-React-Native-SDK.git", :tag => "#{s.version}" }
|
|
16
16
|
|
|
17
|
-
#
|
|
17
|
+
# Source files configuration
|
|
18
18
|
s.source_files = "ios/**/*.{h,m,mm,swift}"
|
|
19
19
|
s.public_header_files = "ios/**/*.h"
|
|
20
20
|
|
|
21
|
-
#
|
|
21
|
+
# Swift support
|
|
22
22
|
s.swift_versions = ["5.0"]
|
|
23
23
|
|
|
24
|
-
#
|
|
24
|
+
# Module configuration for Swift bridging
|
|
25
25
|
s.static_framework = true
|
|
26
|
-
s.pod_target_xcconfig = {
|
|
27
|
-
"DEFINES_MODULE" => "YES",
|
|
28
|
-
"SWIFT_OPTIMIZATION_LEVEL" => "-Onone",
|
|
29
|
-
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" => "arm64"
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
# Xác định module name
|
|
33
26
|
s.module_name = "OmikitPlugin"
|
|
27
|
+
s.requires_arc = true
|
|
34
28
|
|
|
35
|
-
#
|
|
29
|
+
# Dependencies
|
|
36
30
|
s.dependency "React-Core"
|
|
37
|
-
|
|
38
|
-
s.dependency "OmiKit", "1.10.11"
|
|
39
|
-
|
|
31
|
+
s.dependency "OmiKit", "1.10.34"
|
|
40
32
|
|
|
41
|
-
|
|
33
|
+
# Base build settings (for both Old and New Architecture)
|
|
34
|
+
base_xcconfig = {
|
|
35
|
+
"DEFINES_MODULE" => "YES",
|
|
36
|
+
# Note: arm64 simulator excluded due to OmiKit binary compatibility
|
|
37
|
+
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" => "arm64"
|
|
38
|
+
}
|
|
42
39
|
|
|
43
|
-
#
|
|
40
|
+
# New Architecture (TurboModule/Fabric) support
|
|
44
41
|
if ENV['RCT_NEW_ARCH_ENABLED'] == '1'
|
|
45
42
|
s.compiler_flags = folly_compiler_flags + " -DRCT_NEW_ARCH_ENABLED=1"
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
"CLANG_CXX_LANGUAGE_STANDARD" => "c++17"
|
|
50
|
-
}
|
|
51
|
-
s.pod_target_xcconfig = {
|
|
43
|
+
|
|
44
|
+
# Merge base config with New Architecture config
|
|
45
|
+
new_arch_xcconfig = base_xcconfig.merge({
|
|
52
46
|
"HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\"",
|
|
53
47
|
"OTHER_CPLUSPLUSFLAGS" => folly_compiler_flags,
|
|
54
|
-
"CLANG_CXX_LANGUAGE_STANDARD" => "c++
|
|
55
|
-
}
|
|
48
|
+
"CLANG_CXX_LANGUAGE_STANDARD" => "c++20"
|
|
49
|
+
})
|
|
50
|
+
|
|
51
|
+
s.xcconfig = new_arch_xcconfig
|
|
52
|
+
s.pod_target_xcconfig = new_arch_xcconfig
|
|
53
|
+
|
|
54
|
+
# New Architecture dependencies
|
|
56
55
|
s.dependency "React-Codegen"
|
|
57
56
|
s.dependency "RCT-Folly"
|
|
58
57
|
s.dependency "RCTRequired"
|
|
59
58
|
s.dependency "RCTTypeSafety"
|
|
60
59
|
s.dependency "ReactCommon/turbomodule/core"
|
|
60
|
+
else
|
|
61
|
+
# Old Architecture - use base config only
|
|
62
|
+
s.pod_target_xcconfig = base_xcconfig
|
|
61
63
|
end
|
|
62
64
|
end
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "omikit-plugin",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.2",
|
|
4
4
|
"description": "Omikit Plugin by ViHAT",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
|
@@ -73,7 +73,16 @@
|
|
|
73
73
|
},
|
|
74
74
|
"peerDependencies": {
|
|
75
75
|
"react": "*",
|
|
76
|
-
"react-native": "
|
|
76
|
+
"react-native": ">=0.74.0"
|
|
77
|
+
},
|
|
78
|
+
"codegenConfig": {
|
|
79
|
+
"name": "RNOmikitPluginSpec",
|
|
80
|
+
"type": "all",
|
|
81
|
+
"jsSrcsDir": "src",
|
|
82
|
+
"android": {
|
|
83
|
+
"javaPackageName": "com.omikitplugin"
|
|
84
|
+
},
|
|
85
|
+
"ios": {}
|
|
77
86
|
},
|
|
78
87
|
"engines": {
|
|
79
88
|
"node": ">= 16.0.0"
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import type { TurboModule } from 'react-native';
|
|
2
|
+
import { TurboModuleRegistry } from 'react-native';
|
|
3
|
+
|
|
4
|
+
export interface Spec extends TurboModule {
|
|
5
|
+
// Registration & Authentication (2 methods)
|
|
6
|
+
initCallWithUserPassword(data: {
|
|
7
|
+
userName: string;
|
|
8
|
+
password: string;
|
|
9
|
+
realm: string;
|
|
10
|
+
host?: string;
|
|
11
|
+
isVideo: boolean;
|
|
12
|
+
fcmToken: string;
|
|
13
|
+
projectId?: string;
|
|
14
|
+
isSkipDevices?: boolean;
|
|
15
|
+
}): Promise<boolean>;
|
|
16
|
+
|
|
17
|
+
initCallWithApiKey(data: {
|
|
18
|
+
fullName: string;
|
|
19
|
+
usrUuid: string;
|
|
20
|
+
apiKey: string;
|
|
21
|
+
isVideo: boolean;
|
|
22
|
+
phone: string;
|
|
23
|
+
fcmToken: string;
|
|
24
|
+
projectId?: string;
|
|
25
|
+
}): Promise<boolean>;
|
|
26
|
+
|
|
27
|
+
// Call Control (10 methods)
|
|
28
|
+
startServices(): Promise<boolean>;
|
|
29
|
+
|
|
30
|
+
startCall(data: {
|
|
31
|
+
phoneNumber: string;
|
|
32
|
+
isVideo: boolean;
|
|
33
|
+
}): Promise<{
|
|
34
|
+
status: number;
|
|
35
|
+
message: string;
|
|
36
|
+
_id: string;
|
|
37
|
+
}>;
|
|
38
|
+
|
|
39
|
+
startCallWithUuid(data: {
|
|
40
|
+
usrUuid: string;
|
|
41
|
+
isVideo: boolean;
|
|
42
|
+
}): Promise<boolean>;
|
|
43
|
+
|
|
44
|
+
joinCall(): Promise<boolean>;
|
|
45
|
+
endCall(): Promise<boolean>;
|
|
46
|
+
rejectCall(): Promise<boolean>;
|
|
47
|
+
dropCall(): Promise<boolean>;
|
|
48
|
+
|
|
49
|
+
transferCall(data: {
|
|
50
|
+
phoneNumber: string;
|
|
51
|
+
}): Promise<boolean>;
|
|
52
|
+
|
|
53
|
+
getInitialCall(data: {
|
|
54
|
+
counter: number;
|
|
55
|
+
}): Promise<any>;
|
|
56
|
+
|
|
57
|
+
// Media Control (11 methods)
|
|
58
|
+
toggleMute(): Promise<boolean | null>;
|
|
59
|
+
toggleHold(): Promise<void>;
|
|
60
|
+
|
|
61
|
+
onHold(data: {
|
|
62
|
+
holdStatus: boolean;
|
|
63
|
+
}): Promise<boolean>;
|
|
64
|
+
|
|
65
|
+
toggleSpeaker(): Promise<boolean>;
|
|
66
|
+
toggleOmiVideo(): Promise<boolean>;
|
|
67
|
+
switchOmiCamera(): Promise<boolean>;
|
|
68
|
+
registerVideoEvent(): Promise<boolean>;
|
|
69
|
+
removeVideoEvent(): Promise<boolean>;
|
|
70
|
+
|
|
71
|
+
sendDTMF(data: {
|
|
72
|
+
character: string;
|
|
73
|
+
}): Promise<boolean>;
|
|
74
|
+
|
|
75
|
+
getAudio(): Promise<any>;
|
|
76
|
+
getCurrentAudio(): Promise<any>;
|
|
77
|
+
|
|
78
|
+
setAudio(data: {
|
|
79
|
+
portType: number;
|
|
80
|
+
}): Promise<void>;
|
|
81
|
+
|
|
82
|
+
// User & Info (3 methods)
|
|
83
|
+
getCurrentUser(): Promise<Object | null>;
|
|
84
|
+
getGuestUser(): Promise<Object | null>;
|
|
85
|
+
|
|
86
|
+
getUserInfo(data: {
|
|
87
|
+
phone: string;
|
|
88
|
+
}): Promise<any>;
|
|
89
|
+
|
|
90
|
+
// Notifications (4 methods)
|
|
91
|
+
configPushNotification(data: Object): Promise<any>;
|
|
92
|
+
hideSystemNotificationSafely(): Promise<boolean>;
|
|
93
|
+
hideSystemNotificationOnly(): Promise<boolean>;
|
|
94
|
+
|
|
95
|
+
hideSystemNotificationAndUnregister(data: {
|
|
96
|
+
reason: string;
|
|
97
|
+
}): Promise<boolean>;
|
|
98
|
+
|
|
99
|
+
// Permissions (6 methods)
|
|
100
|
+
checkAndRequestPermissions(data: {
|
|
101
|
+
isVideo: boolean;
|
|
102
|
+
}): Promise<boolean>;
|
|
103
|
+
|
|
104
|
+
checkPermissionStatus(): Promise<any>;
|
|
105
|
+
|
|
106
|
+
requestPermissionsByCodes(data: {
|
|
107
|
+
codes: number[];
|
|
108
|
+
}): Promise<boolean>;
|
|
109
|
+
|
|
110
|
+
systemAlertWindow(): Promise<boolean>;
|
|
111
|
+
requestSystemAlertWindowPermission(): Promise<boolean>;
|
|
112
|
+
openSystemAlertSetting(): Promise<void>;
|
|
113
|
+
|
|
114
|
+
// Advanced Features (4 methods)
|
|
115
|
+
checkCredentials(data: Object): Promise<{
|
|
116
|
+
success: boolean;
|
|
117
|
+
statusCode: number;
|
|
118
|
+
message: string;
|
|
119
|
+
}>;
|
|
120
|
+
|
|
121
|
+
registerWithOptions(data: Object): Promise<{
|
|
122
|
+
success: boolean;
|
|
123
|
+
statusCode: number;
|
|
124
|
+
message: string;
|
|
125
|
+
}>;
|
|
126
|
+
|
|
127
|
+
getKeepAliveStatus(): Promise<any>;
|
|
128
|
+
triggerKeepAlivePing(): Promise<boolean>;
|
|
129
|
+
|
|
130
|
+
// Logout
|
|
131
|
+
logout(): Promise<boolean>;
|
|
132
|
+
|
|
133
|
+
// Getter Functions (6 methods)
|
|
134
|
+
getProjectId(): Promise<string | null>;
|
|
135
|
+
getSipInfo(): Promise<string | null>;
|
|
136
|
+
getAppId(): Promise<string | null>;
|
|
137
|
+
getDeviceId(): Promise<string | null>;
|
|
138
|
+
getFcmToken(): Promise<string | null>;
|
|
139
|
+
getVoipToken(): Promise<string | null>;
|
|
140
|
+
|
|
141
|
+
// Event emitter methods (required for bridgeless mode)
|
|
142
|
+
addListener(eventName: string): void;
|
|
143
|
+
removeListeners(count: number): void;
|
|
144
|
+
|
|
145
|
+
// Constants
|
|
146
|
+
getConstants(): {
|
|
147
|
+
CALL_STATE_CHANGED: string;
|
|
148
|
+
MUTED: string;
|
|
149
|
+
HOLD: string;
|
|
150
|
+
SPEAKER: string;
|
|
151
|
+
REMOTE_VIDEO_READY: string;
|
|
152
|
+
CLICK_MISSED_CALL: string;
|
|
153
|
+
SWITCHBOARD_ANSWER: string;
|
|
154
|
+
CALL_QUALITY: string;
|
|
155
|
+
AUDIO_CHANGE: string;
|
|
156
|
+
REQUEST_PERMISSION: string;
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
export default TurboModuleRegistry.get<Spec>('OmikitPlugin') as Spec | null;
|
package/src/index.tsx
CHANGED