omikit-plugin 3.2.81 → 3.2.84

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.
@@ -172,6 +172,15 @@ class CallManager {
172
172
  case .notDetermined:
173
173
  break
174
174
  case .authorized, .provisional:
175
+ if call == nil {
176
+ return // No missed call to show
177
+ }
178
+
179
+ let statusAnswer = OmiClient.checkHasAnsweredCall(call.omiId ?? "")
180
+ if (statusAnswer) {
181
+ return // Do not show missed call notification if the call has been answered
182
+ }
183
+
175
184
  let user = UserDefaults.standard
176
185
  let title = user.string(forKey: "omicall/missedCallTitle") ?? ""
177
186
  let message = user.string(forKey: "omicall/prefixMissedCallMessage") ?? ""
@@ -8,5 +8,11 @@
8
8
  #ifndef OmikitPlugin_Bridging_Header_h
9
9
  #define OmikitPlugin_Bridging_Header_h
10
10
 
11
+ // ✅ Import React Native headers
12
+ #import <React/RCTBridgeModule.h>
13
+ #import <React/RCTEventEmitter.h>
14
+
15
+ // ✅ Import OmiKit framework (nếu cần thiết cho Objective-C code)
16
+ // #import <OmiKit/OmiKit.h>
11
17
 
12
18
  #endif /* OmikitPlugin_Bridging_Header_h */
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.OmiCallEvent = void 0;
7
+ exports.checkCredentials = checkCredentials;
7
8
  exports.configPushNotification = configPushNotification;
8
9
  exports.endCall = endCall;
9
10
  exports.getAudio = getAudio;
@@ -11,6 +12,9 @@ exports.getCurrentAudio = getCurrentAudio;
11
12
  exports.getCurrentUser = getCurrentUser;
12
13
  exports.getGuestUser = getGuestUser;
13
14
  exports.getInitialCall = getInitialCall;
15
+ exports.hideSystemNotificationAndUnregister = hideSystemNotificationAndUnregister;
16
+ exports.hideSystemNotificationOnly = hideSystemNotificationOnly;
17
+ exports.hideSystemNotificationSafely = hideSystemNotificationSafely;
14
18
  exports.initCallWithApiKey = initCallWithApiKey;
15
19
  exports.initCallWithUserPassword = initCallWithUserPassword;
16
20
  exports.joinCall = joinCall;
@@ -19,6 +23,7 @@ exports.omiEmitter = void 0;
19
23
  exports.onHold = onHold;
20
24
  exports.openSystemAlertSetting = openSystemAlertSetting;
21
25
  exports.registerVideoEvent = registerVideoEvent;
26
+ exports.registerWithOptions = registerWithOptions;
22
27
  exports.rejectCall = rejectCall;
23
28
  exports.removeVideoEvent = removeVideoEvent;
24
29
  exports.sendDTMF = sendDTMF;
@@ -38,25 +43,22 @@ const LINKING_ERROR = `The package 'omikit-plugin' doesn't seem to be linked. Ma
38
43
  ios: "- You have run 'pod install'\n",
39
44
  default: ''
40
45
  }) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
41
- const {
42
- OmikitPlugin
43
- } = _reactNative.NativeModules;
46
+
44
47
  // ✅ Khai báo chính xác Native Module
45
- // const OmikitPlugin = NativeModules.OmikitPlugin
46
- // ? NativeModules.OmikitPlugin
47
- // : new Proxy(
48
- // {},
49
- // {
50
- // get() {
51
- // throw new Error(LINKING_ERROR);
52
- // },
53
- // }
54
- // );
48
+ const OmikitPlugin = _reactNative.NativeModules.OmikitPlugin ? _reactNative.NativeModules.OmikitPlugin : new Proxy({}, {
49
+ get() {
50
+ throw new Error(LINKING_ERROR);
51
+ }
52
+ });
53
+
54
+ // Setup omiEmitter cho iOS và Android
55
+ const omiEmitter = _reactNative.Platform.OS === 'ios' ? new _reactNative.NativeEventEmitter(OmikitPlugin) : _reactNative.DeviceEventEmitter;
55
56
 
56
57
  /**
57
58
  * Starts the Omikit services.
58
59
  * @returns {Promise<any>} A promise that resolves when the services start successfully.
59
60
  */
61
+ exports.omiEmitter = omiEmitter;
60
62
  function startServices() {
61
63
  return OmikitPlugin.startServices();
62
64
  }
@@ -291,8 +293,15 @@ function transferCall(data) {
291
293
  function rejectCall() {
292
294
  return OmikitPlugin.rejectCall();
293
295
  }
294
- const omiEmitter = _reactNative.Platform.OS === 'ios' ? new _reactNative.NativeEventEmitter(OmikitPlugin) : new _reactNative.NativeEventEmitter();
295
- exports.omiEmitter = omiEmitter;
296
+ function hideSystemNotificationSafely() {
297
+ return OmikitPlugin.hideSystemNotificationSafely();
298
+ }
299
+ function hideSystemNotificationOnly() {
300
+ return OmikitPlugin.hideSystemNotificationOnly();
301
+ }
302
+ function hideSystemNotificationAndUnregister(reason) {
303
+ return OmikitPlugin.hideSystemNotificationAndUnregister(reason);
304
+ }
296
305
  const OmiCallEvent = {
297
306
  onCallStateChanged: 'CALL_STATE_CHANGED',
298
307
  onSpeaker: 'SPEAKER',
@@ -306,4 +315,21 @@ const OmiCallEvent = {
306
315
  onRequestPermissionAndroid: 'REQUEST_PERMISSION'
307
316
  };
308
317
  exports.OmiCallEvent = OmiCallEvent;
318
+ /**
319
+ * Check credentials without maintaining connection (OmiSDK 2.3.67+)
320
+ * @param {any} data - Credential data for validation
321
+ * @returns {Promise<{success: boolean, statusCode?: number, message?: string}>} Validation result
322
+ */
323
+ function checkCredentials(data) {
324
+ return OmikitPlugin.checkCredentials(data);
325
+ }
326
+
327
+ /**
328
+ * Register with full control over notification and auto-unregister (OmiSDK 2.3.67+)
329
+ * @param {any} data - Registration data with options
330
+ * @returns {Promise<{success: boolean, statusCode?: number, message?: string}>} Registration result
331
+ */
332
+ function registerWithOptions(data) {
333
+ return OmikitPlugin.registerWithOptions(data);
334
+ }
309
335
  //# sourceMappingURL=omikit.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","OmikitPlugin","NativeModules","startServices","configPushNotification","data","getInitialCall","OS","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","omiEmitter","NativeEventEmitter","exports","OmiCallEvent","onCallStateChanged","onSpeaker","onMuted","onRemoteVideoReady","onClickMissedCall","onSwitchboardAnswer","onCallQuality","onAudioChange","onRequestPermissionAndroid"],"sourceRoot":"../../src","sources":["omikit.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","OmikitPlugin","NativeModules","Proxy","get","Error","omiEmitter","OS","NativeEventEmitter","DeviceEventEmitter","exports","startServices","configPushNotification","data","getInitialCall","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","hideSystemNotificationSafely","hideSystemNotificationOnly","hideSystemNotificationAndUnregister","reason","OmiCallEvent","onCallStateChanged","onSpeaker","onMuted","onRemoteVideoReady","onClickMissedCall","onSwitchboardAnswer","onCallQuality","onAudioChange","onRequestPermissionAndroid","checkCredentials","registerWithOptions"],"sourceRoot":"../../src","sources":["omikit.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,MAAMC,aAAa,GAChB,wEAAuE,GACxEC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;;AAEjC;AACA,MAAMC,YAAY,GAAGC,0BAAa,CAACD,YAAY,GAC3CC,0BAAa,CAACD,YAAY,GAC1B,IAAIE,KAAK,CACT,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACT,aAAa,CAAC;EAChC;AACF,CAAC,CACF;;AAEH;AACA,MAAMU,UAAU,GAAGT,qBAAQ,CAACU,EAAE,KAAK,KAAK,GACpC,IAAIC,+BAAkB,CAACP,YAAY,CAAC,GACpCQ,+BAAkB;;AAEtB;AACA;AACA;AACA;AAHAC,OAAA,CAAAJ,UAAA,GAAAA,UAAA;AAIO,SAASK,aAAaA,CAAA,EAAiB;EAC5C,OAAOV,YAAY,CAACU,aAAa,EAAE;AACrC;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASC,sBAAsBA,CAACC,IAAS,EAAgB;EAC9D,OAAOZ,YAAY,CAACW,sBAAsB,CAACC,IAAI,CAAC;AAClD;;AAEA;AACA;AACA;AACA;AACO,SAASC,cAAcA,CAAA,EAAiB;EAC7C,IAAIjB,qBAAQ,CAACU,EAAE,IAAI,KAAK,EAAE;IACxB,OAAON,YAAY,CAACa,cAAc,EAAE;EACtC,CAAC,MAAM;IACL,OAAOb,YAAY,CAACa,cAAc,CAAC,CAAC,CAAC;EACvC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASC,wBAAwBA,CAACF,IAAS,EAAoB;EACpE,OAAOZ,YAAY,CAACc,wBAAwB,CAACF,IAAI,CAAC;AACpD;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASG,kBAAkBA,CAACH,IAAS,EAAoB;EAC9D,OAAOZ,YAAY,CAACe,kBAAkB,CAACH,IAAI,CAAC;AAC9C;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASI,SAASA,CAACJ,IAAS,EAAoB;EACrD,OAAOZ,YAAY,CAACgB,SAAS,CAACJ,IAAI,CAAC;AACrC;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASK,iBAAiBA,CAACL,IAAS,EAAoB;EAC7D,OAAOZ,YAAY,CAACiB,iBAAiB,CAACL,IAAI,CAAC;AAC7C;;AAEA;AACA;AACA;AACA;AACO,SAASM,QAAQA,CAAA,EAAiB;EACvC,OAAOlB,YAAY,CAACkB,QAAQ,EAAE;AAChC;;AAEA;AACA;AACA;AACA;AACO,SAASC,OAAOA,CAAA,EAAiB;EACtC,OAAOnB,YAAY,CAACmB,OAAO,EAAE;AAC/B;;AAEA;AACA;AACA;AACA;AACO,SAASC,UAAUA,CAAA,EAAqB;EAC7C,OAAOpB,YAAY,CAACoB,UAAU,EAAE;AAClC;;AAEA;AACA;AACA;AACA;AACO,SAASC,aAAaA,CAAA,EAAqB;EAChD,OAAOrB,YAAY,CAACqB,aAAa,EAAE;AACrC;;AAEA;AACA;AACA;AACA;AACO,SAASC,UAAUA,CAAA,EAAqB;EAC7C,OAAOtB,YAAY,CAACsB,UAAU,EAAE;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASC,MAAMA,CAACX,IAAS,EAAoB;EAClD,OAAOZ,YAAY,CAACuB,MAAM,CAACX,IAAI,CAAC;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASY,QAAQA,CAACZ,IAAS,EAAoB;EACpD,OAAOZ,YAAY,CAACwB,QAAQ,CAACZ,IAAI,CAAC;AACpC;;AAEA;AACA;AACA;AACA;AACO,SAASa,eAAeA,CAAA,EAAqB;EAClD,OAAOzB,YAAY,CAACyB,eAAe,EAAE;AACvC;;AAEA;AACA;AACA;AACA;AACO,SAASC,cAAcA,CAAA,EAAqB;EACjD,OAAO1B,YAAY,CAAC0B,cAAc,EAAE;AACtC;;AAEA;AACA;AACA;AACA;AACO,SAASC,MAAMA,CAAA,EAAqB;EACzC,OAAO3B,YAAY,CAAC2B,MAAM,EAAE;AAC9B;;AAEA;AACA;AACA;AACA;AACO,SAASC,kBAAkBA,CAAA,EAAqB;EACrD,OAAO5B,YAAY,CAAC4B,kBAAkB,EAAE;AAC1C;;AAEA;AACA;AACA;AACA;AACO,SAASC,gBAAgBA,CAAA,EAAqB;EACnD,OAAO7B,YAAY,CAAC6B,gBAAgB,EAAE;AACxC;;AAEA;AACA;AACA;AACA;AACO,SAASC,cAAcA,CAAA,EAAiB;EAC7C,OAAO9B,YAAY,CAAC8B,cAAc,EAAE;AACtC;;AAEA;AACA;AACA;AACA;AACO,SAASC,YAAYA,CAAA,EAAiB;EAC3C,OAAO/B,YAAY,CAAC+B,YAAY,EAAE;AACpC;;AAEA;AACA;AACA;AACA;AACO,SAASC,iBAAiBA,CAAA,EAAqB;EACpD,OAAOhC,YAAY,CAACgC,iBAAiB,EAAE;AACzC;;AAEA;AACA;AACA;AACA;AACO,SAASC,sBAAsBA,CAAA,EAAkB;EACtD,OAAOjC,YAAY,CAACiC,sBAAsB,EAAE;AAC9C;;AAEA;AACA;AACA;AACA;AACO,SAASC,QAAQA,CAAA,EAAiB;EACvC,OAAOlC,YAAY,CAACkC,QAAQ,EAAE;AAChC;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASC,QAAQA,CAACvB,IAAS,EAAiB;EACjD,OAAOZ,YAAY,CAACmC,QAAQ,CAACvB,IAAI,CAAC;AACpC;;AAEA;AACA;AACA;AACA;AACO,SAASwB,eAAeA,CAAA,EAAiB;EAC9C,OAAOpC,YAAY,CAACoC,eAAe,EAAE;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASC,YAAYA,CAACzB,IAAS,EAAoB;EACxD,OAAOZ,YAAY,CAACqC,YAAY,CAACzB,IAAI,CAAC;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS0B,UAAUA,CAAA,EAAqB;EAC7C,OAAOtC,YAAY,CAACsC,UAAU,EAAE;AAClC;AAEO,SAASC,4BAA4BA,CAAA,EAAqB;EAC/D,OAAOvC,YAAY,CAACuC,4BAA4B,EAAE;AACpD;AAEO,SAASC,0BAA0BA,CAAA,EAAqB;EAC7D,OAAOxC,YAAY,CAACwC,0BAA0B,EAAE;AAClD;AAEO,SAASC,mCAAmCA,CAACC,MAAc,EAAoB;EACpF,OAAO1C,YAAY,CAACyC,mCAAmC,CAACC,MAAM,CAAC;AACjE;AAEO,MAAMC,YAAY,GAAG;EAC1BC,kBAAkB,EAAE,oBAAoB;EACxCC,SAAS,EAAE,SAAS;EACpBC,OAAO,EAAE,OAAO;EAChBvB,MAAM,EAAE,MAAM;EACdwB,kBAAkB,EAAE,oBAAoB;EACxCC,iBAAiB,EAAE,mBAAmB;EACtCC,mBAAmB,EAAE,oBAAoB;EACzCC,aAAa,EAAE,cAAc;EAC7BC,aAAa,EAAE,cAAc;EAC7BC,0BAA0B,EAAE;AAC9B,CAAC;AAAC3C,OAAA,CAAAkC,YAAA,GAAAA,YAAA;AAIF;AACA;AACA;AACA;AACA;AACO,SAASU,gBAAgBA,CAACzC,IAAS,EAAwE;EAChH,OAAOZ,YAAY,CAACqD,gBAAgB,CAACzC,IAAI,CAAC;AAC5C;;AAEA;AACA;AACA;AACA;AACA;AACO,SAAS0C,mBAAmBA,CAAC1C,IAAS,EAAwE;EACnH,OAAOZ,YAAY,CAACsD,mBAAmB,CAAC1C,IAAI,CAAC;AAC/C"}
@@ -1,22 +1,18 @@
1
- import { NativeModules, Platform, NativeEventEmitter } from 'react-native';
1
+ import { NativeModules, Platform, NativeEventEmitter, DeviceEventEmitter } 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
- const {
7
- OmikitPlugin
8
- } = NativeModules;
6
+
9
7
  // ✅ Khai báo chính xác Native Module
10
- // const OmikitPlugin = NativeModules.OmikitPlugin
11
- // ? NativeModules.OmikitPlugin
12
- // : new Proxy(
13
- // {},
14
- // {
15
- // get() {
16
- // throw new Error(LINKING_ERROR);
17
- // },
18
- // }
19
- // );
8
+ const OmikitPlugin = NativeModules.OmikitPlugin ? NativeModules.OmikitPlugin : new Proxy({}, {
9
+ get() {
10
+ throw new Error(LINKING_ERROR);
11
+ }
12
+ });
13
+
14
+ // Setup omiEmitter cho iOS và Android
15
+ const omiEmitter = Platform.OS === 'ios' ? new NativeEventEmitter(OmikitPlugin) : DeviceEventEmitter;
20
16
 
21
17
  /**
22
18
  * Starts the Omikit services.
@@ -256,7 +252,15 @@ export function transferCall(data) {
256
252
  export function rejectCall() {
257
253
  return OmikitPlugin.rejectCall();
258
254
  }
259
- export const omiEmitter = Platform.OS === 'ios' ? new NativeEventEmitter(OmikitPlugin) : new NativeEventEmitter();
255
+ export function hideSystemNotificationSafely() {
256
+ return OmikitPlugin.hideSystemNotificationSafely();
257
+ }
258
+ export function hideSystemNotificationOnly() {
259
+ return OmikitPlugin.hideSystemNotificationOnly();
260
+ }
261
+ export function hideSystemNotificationAndUnregister(reason) {
262
+ return OmikitPlugin.hideSystemNotificationAndUnregister(reason);
263
+ }
260
264
  export const OmiCallEvent = {
261
265
  onCallStateChanged: 'CALL_STATE_CHANGED',
262
266
  onSpeaker: 'SPEAKER',
@@ -269,4 +273,23 @@ export const OmiCallEvent = {
269
273
  onAudioChange: 'AUDIO_CHANGE',
270
274
  onRequestPermissionAndroid: 'REQUEST_PERMISSION'
271
275
  };
276
+ export { omiEmitter };
277
+
278
+ /**
279
+ * Check credentials without maintaining connection (OmiSDK 2.3.67+)
280
+ * @param {any} data - Credential data for validation
281
+ * @returns {Promise<{success: boolean, statusCode?: number, message?: string}>} Validation result
282
+ */
283
+ export function checkCredentials(data) {
284
+ return OmikitPlugin.checkCredentials(data);
285
+ }
286
+
287
+ /**
288
+ * Register with full control over notification and auto-unregister (OmiSDK 2.3.67+)
289
+ * @param {any} data - Registration data with options
290
+ * @returns {Promise<{success: boolean, statusCode?: number, message?: string}>} Registration result
291
+ */
292
+ export function registerWithOptions(data) {
293
+ return OmikitPlugin.registerWithOptions(data);
294
+ }
272
295
  //# sourceMappingURL=omikit.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","Platform","NativeEventEmitter","LINKING_ERROR","select","ios","default","OmikitPlugin","startServices","configPushNotification","data","getInitialCall","OS","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","omiEmitter","OmiCallEvent","onCallStateChanged","onSpeaker","onMuted","onRemoteVideoReady","onClickMissedCall","onSwitchboardAnswer","onCallQuality","onAudioChange","onRequestPermissionAndroid"],"sourceRoot":"../../src","sources":["omikit.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["NativeModules","Platform","NativeEventEmitter","DeviceEventEmitter","LINKING_ERROR","select","ios","default","OmikitPlugin","Proxy","get","Error","omiEmitter","OS","startServices","configPushNotification","data","getInitialCall","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","hideSystemNotificationSafely","hideSystemNotificationOnly","hideSystemNotificationAndUnregister","reason","OmiCallEvent","onCallStateChanged","onSpeaker","onMuted","onRemoteVideoReady","onClickMissedCall","onSwitchboardAnswer","onCallQuality","onAudioChange","onRequestPermissionAndroid","checkCredentials","registerWithOptions"],"sourceRoot":"../../src","sources":["omikit.tsx"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  require "json"
2
2
 
3
3
  package = JSON.parse(File.read(File.join(__dir__, "package.json")))
4
+ folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32'
4
5
 
5
6
  Pod::Spec.new do |s|
6
7
  s.name = "omikit-plugin"
@@ -10,12 +11,12 @@ Pod::Spec.new do |s|
10
11
  s.license = package["license"]
11
12
  s.authors = package["author"]
12
13
 
13
- s.platforms = { :ios => "11.0" }
14
+ s.platforms = { :ios => "13.0" }
14
15
  s.source = { :git => "https://github.com/VIHATTeam/OMICALL-React-Native-SDK.git", :tag => "#{s.version}" }
15
16
 
16
17
  # Chỉ định source files
17
18
  s.source_files = "ios/**/*.{h,m,mm,swift}"
18
-
19
+ s.public_header_files = "ios/**/*.h"
19
20
 
20
21
  # Đảm bảo hỗ trợ Swift
21
22
  s.swift_versions = ["5.0"]
@@ -23,7 +24,9 @@ Pod::Spec.new do |s|
23
24
  # Định nghĩa module để tránh lỗi Swift bridging header
24
25
  s.static_framework = true
25
26
  s.pod_target_xcconfig = {
26
- "DEFINES_MODULE" => "YES"
27
+ "DEFINES_MODULE" => "YES",
28
+ "SWIFT_OPTIMIZATION_LEVEL" => "-Onone",
29
+ "EXCLUDED_ARCHS[sdk=iphonesimulator*]" => "arm64"
27
30
  }
28
31
 
29
32
  # Xác định module name
@@ -31,10 +34,11 @@ Pod::Spec.new do |s|
31
34
 
32
35
  # Thêm dependency bắt buộc
33
36
  s.dependency "React-Core"
34
- s.dependency "OmiKit", "1.8.16"
37
+ # Sử dụng version OmiKit ổn định hơn
38
+ s.dependency "OmiKit", "1.8.32"
39
+
35
40
 
36
- # Đảm bảo Swift bridging header được tự động tạo
37
- # s.requires_arc = true
41
+ s.requires_arc = true
38
42
 
39
43
  # Xử lý riêng cho kiến trúc mới (New Architecture)
40
44
  if ENV['RCT_NEW_ARCH_ENABLED'] == '1'
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "omikit-plugin",
3
- "version": "3.2.81",
3
+ "version": "3.2.84",
4
4
  "description": "Omikit Plugin by ViHAT",
5
- "main": "src/commonjs/index",
5
+ "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
7
7
  "types": "src/types/index.d.ts",
8
8
  "react-native": "src/index",
@@ -118,7 +118,16 @@
118
118
  "module"
119
119
  ]
120
120
  },
121
+ "react-native": {
122
+ "android": {
123
+ "sourceDir": "./android",
124
+ "packageImportPath": "import com.omikitplugin.OmikitPluginPackage;"
125
+ },
126
+ "ios": {
127
+ "podspecPath": "./omikit-plugin.podspec"
128
+ }
129
+ },
121
130
  "directories": {
122
131
  "example": "example"
123
132
  }
124
- }
133
+ }
package/src/omikit.tsx CHANGED
@@ -1,4 +1,4 @@
1
- import { NativeModules, Platform, NativeEventEmitter } from 'react-native';
1
+ import { NativeModules, Platform, NativeEventEmitter, DeviceEventEmitter } from 'react-native';
2
2
 
3
3
  const LINKING_ERROR =
4
4
  `The package 'omikit-plugin' doesn't seem to be linked. Make sure: \n\n` +
@@ -6,19 +6,22 @@ const LINKING_ERROR =
6
6
  '- You rebuilt the app after installing the package\n' +
7
7
  '- You are not using Expo Go\n';
8
8
 
9
- const { OmikitPlugin } = NativeModules;
10
9
  // ✅ Khai báo chính xác Native Module
11
- // const OmikitPlugin = NativeModules.OmikitPlugin
12
- // ? NativeModules.OmikitPlugin
13
- // : new Proxy(
14
- // {},
15
- // {
16
- // get() {
17
- // throw new Error(LINKING_ERROR);
18
- // },
19
- // }
20
- // );
21
-
10
+ const OmikitPlugin = NativeModules.OmikitPlugin
11
+ ? NativeModules.OmikitPlugin
12
+ : new Proxy(
13
+ {},
14
+ {
15
+ get() {
16
+ throw new Error(LINKING_ERROR);
17
+ },
18
+ }
19
+ );
20
+
21
+ // ✅ Setup omiEmitter cho iOS và Android
22
+ const omiEmitter = Platform.OS === 'ios'
23
+ ? new NativeEventEmitter(OmikitPlugin)
24
+ : DeviceEventEmitter;
22
25
 
23
26
  /**
24
27
  * Starts the Omikit services.
@@ -28,7 +31,6 @@ export function startServices(): Promise<any> {
28
31
  return OmikitPlugin.startServices();
29
32
  }
30
33
 
31
-
32
34
  /**
33
35
  * Configures push notifications with the given data.
34
36
  * @param {any} data - Configuration data for push notifications.
@@ -43,8 +45,8 @@ export function configPushNotification(data: any): Promise<any> {
43
45
  * @returns {Promise<any>} A promise containing the initial call details.
44
46
  */
45
47
  export function getInitialCall(): Promise<any> {
46
- if(Platform.OS == "ios"){
47
- return OmikitPlugin.getInitialCall();
48
+ if (Platform.OS == "ios") {
49
+ return OmikitPlugin.getInitialCall();
48
50
  } else {
49
51
  return OmikitPlugin.getInitialCall(4);
50
52
  }
@@ -86,7 +88,6 @@ export function startCallWithUuid(data: any): Promise<boolean> {
86
88
  return OmikitPlugin.startCallWithUuid(data);
87
89
  }
88
90
 
89
-
90
91
  /**
91
92
  * Joins an ongoing call.
92
93
  * @returns {Promise<any>} A promise that resolves when the user successfully joins the call.
@@ -95,7 +96,6 @@ export function joinCall(): Promise<any> {
95
96
  return OmikitPlugin.joinCall();
96
97
  }
97
98
 
98
-
99
99
  /**
100
100
  * Ends the current call.
101
101
  * @returns {Promise<any>} A promise that resolves when the call ends successfully.
@@ -104,7 +104,6 @@ export function endCall(): Promise<any> {
104
104
  return OmikitPlugin.endCall();
105
105
  }
106
106
 
107
-
108
107
  /**
109
108
  * Toggles the mute status of the microphone.
110
109
  * @returns {Promise<boolean>} A promise that resolves to `true` if the microphone is muted, `false` otherwise.
@@ -129,7 +128,6 @@ export function toggleHold(): Promise<boolean> {
129
128
  return OmikitPlugin.toggleHold();
130
129
  }
131
130
 
132
-
133
131
  /**
134
132
  * Places the call on hold or resumes it.
135
133
  * @param {any} data - Data related to the hold action.
@@ -164,7 +162,6 @@ export function toggleOmiVideo(): Promise<boolean> {
164
162
  return OmikitPlugin.toggleOmiVideo();
165
163
  }
166
164
 
167
-
168
165
  /**
169
166
  * Logs the user out of the Omikit services.
170
167
  * @returns {Promise<boolean>} A promise that resolves to `true` if logout is successful.
@@ -173,7 +170,6 @@ export function logout(): Promise<boolean> {
173
170
  return OmikitPlugin.logout();
174
171
  }
175
172
 
176
-
177
173
  /**
178
174
  * Registers for video call events.
179
175
  * @returns {Promise<boolean>} A promise that resolves to `true` if registration is successful.
@@ -190,7 +186,6 @@ export function removeVideoEvent(): Promise<boolean> {
190
186
  return OmikitPlugin.removeVideoEvent();
191
187
  }
192
188
 
193
-
194
189
  /**
195
190
  * Retrieves the current user's details.
196
191
  * @returns {Promise<any>} A promise containing the current user's details.
@@ -267,8 +262,17 @@ export function rejectCall(): Promise<boolean> {
267
262
  return OmikitPlugin.rejectCall()
268
263
  }
269
264
 
265
+ export function hideSystemNotificationSafely(): Promise<boolean> {
266
+ return OmikitPlugin.hideSystemNotificationSafely();
267
+ }
268
+
269
+ export function hideSystemNotificationOnly(): Promise<boolean> {
270
+ return OmikitPlugin.hideSystemNotificationOnly();
271
+ }
270
272
 
271
- export const omiEmitter = Platform.OS === 'ios' ? new NativeEventEmitter(OmikitPlugin) : new NativeEventEmitter();
273
+ export function hideSystemNotificationAndUnregister(reason: string): Promise<boolean> {
274
+ return OmikitPlugin.hideSystemNotificationAndUnregister(reason);
275
+ }
272
276
 
273
277
  export const OmiCallEvent = {
274
278
  onCallStateChanged: 'CALL_STATE_CHANGED',
@@ -280,6 +284,26 @@ export const OmiCallEvent = {
280
284
  onSwitchboardAnswer: 'SWITCHBOARD_ANSWER',
281
285
  onCallQuality: 'CALL_QUALITY',
282
286
  onAudioChange: 'AUDIO_CHANGE',
283
- onRequestPermissionAndroid: 'REQUEST_PERMISSION',
287
+ onRequestPermissionAndroid: 'REQUEST_PERMISSION'
284
288
  };
285
289
 
290
+ export { omiEmitter };
291
+
292
+ /**
293
+ * Check credentials without maintaining connection (OmiSDK 2.3.67+)
294
+ * @param {any} data - Credential data for validation
295
+ * @returns {Promise<{success: boolean, statusCode?: number, message?: string}>} Validation result
296
+ */
297
+ export function checkCredentials(data: any): Promise<{ success: boolean, statusCode?: number, message?: string }> {
298
+ return OmikitPlugin.checkCredentials(data);
299
+ }
300
+
301
+ /**
302
+ * Register with full control over notification and auto-unregister (OmiSDK 2.3.67+)
303
+ * @param {any} data - Registration data with options
304
+ * @returns {Promise<{success: boolean, statusCode?: number, message?: string}>} Registration result
305
+ */
306
+ export function registerWithOptions(data: any): Promise<{ success: boolean, statusCode?: number, message?: string }> {
307
+ return OmikitPlugin.registerWithOptions(data);
308
+ }
309
+
@@ -1,61 +1,61 @@
1
1
  declare module 'omikit-plugin' {
2
- import { NativeEventEmitter } from 'react-native';
2
+ import { NativeEventEmitter } from 'react-native';
3
3
 
4
- export function startServices(): Promise<any>;
5
- export function configPushNotification(data: any): Promise<any>;
6
- export function getInitialCall(): Promise<any>;
7
- export function initCallWithUserPassword(data: any): Promise<boolean>;
8
- export function initCallWithApiKey(data: any): Promise<boolean>;
9
- export function startCall(data: any): Promise<boolean>;
10
- export function startCallWithUuid(data: any): Promise<boolean>;
11
- export function joinCall(): Promise<any>;
12
- export function endCall(): Promise<any>;
13
- export function toggleMute(): Promise<boolean>;
14
- export function toggleHold(): Promise<boolean>;
15
- export function toggleSpeaker(): Promise<boolean>;
16
- export function onHold(data: any): Promise<boolean>;
17
- export function sendDTMF(data: any): Promise<boolean>;
18
- export function switchOmiCamera(): Promise<boolean>;
19
- export function toggleOmiVideo(): Promise<boolean>;
20
- export function logout(): Promise<boolean>;
21
- export function registerVideoEvent(): Promise<boolean>;
22
- export function removeVideoEvent(): Promise<boolean>;
23
- export function getCurrentUser(): Promise<any>;
24
- export function getGuestUser(): Promise<any>;
25
- export function systemAlertWindow(): Promise<boolean>;
26
- export function openSystemAlertSetting(): Promise<void>;
27
- export function getAudio(): Promise<any>;
28
- export function setAudio(data: any): Promise<void>;
29
- export function getCurrentAudio(): Promise<any>;
30
- export function transferCall(data: any): Promise<boolean>;
31
- export function rejectCall(): Promise<boolean>;
32
-
33
- export enum OmiCallState {
34
- unknown,
35
- calling,
36
- incoming,
37
- early,
38
- connecting,
39
- confirmed,
40
- disconnected,
41
- hold
42
- }
43
-
44
- export const OmiCallEvent: {
45
- onCallStateChanged: string;
46
- onSpeaker: string;
47
- onMuted: string;
48
- onHold: string;
49
- onRemoteVideoReady: string;
50
- onClickMissedCall: string;
51
- onSwitchboardAnswer: string;
52
- onCallQuality: string;
53
- onAudioChange: string;
54
- onRequestPermissionAndroid: string;
55
- };
4
+ export function startServices(): Promise<any>;
5
+ export function configPushNotification(data: any): Promise<any>;
6
+ export function getInitialCall(): Promise<any>;
7
+ export function initCallWithUserPassword(data: any): Promise<boolean>;
8
+ export function initCallWithApiKey(data: any): Promise<boolean>;
9
+ export function startCall(data: any): Promise<boolean>;
10
+ export function startCallWithUuid(data: any): Promise<boolean>;
11
+ export function joinCall(): Promise<any>;
12
+ export function endCall(): Promise<any>;
13
+ export function toggleMute(): Promise<boolean>;
14
+ export function toggleHold(): Promise<boolean>;
15
+ export function toggleSpeaker(): Promise<boolean>;
16
+ export function onHold(data: any): Promise<boolean>;
17
+ export function sendDTMF(data: any): Promise<boolean>;
18
+ export function switchOmiCamera(): Promise<boolean>;
19
+ export function toggleOmiVideo(): Promise<boolean>;
20
+ export function logout(): Promise<boolean>;
21
+ export function registerVideoEvent(): Promise<boolean>;
22
+ export function removeVideoEvent(): Promise<boolean>;
23
+ export function getCurrentUser(): Promise<any>;
24
+ export function getGuestUser(): Promise<any>;
25
+ export function systemAlertWindow(): Promise<boolean>;
26
+ export function openSystemAlertSetting(): Promise<void>;
27
+ export function getAudio(): Promise<any>;
28
+ export function setAudio(data: any): Promise<void>;
29
+ export function getCurrentAudio(): Promise<any>;
30
+ export function transferCall(data: any): Promise<boolean>;
31
+ export function rejectCall(): Promise<boolean>;
32
+ export function testEventEmission(): Promise<boolean>;
33
+ export function getKeepAliveStatus(): Promise<any>;
34
+ export function triggerKeepAlivePing(): Promise<boolean>;
56
35
 
36
+ export enum OmiCallState {
37
+ unknown,
38
+ calling,
39
+ incoming,
40
+ early,
41
+ connecting,
42
+ confirmed,
43
+ disconnected,
44
+ hold,
45
+ }
57
46
 
47
+ export const OmiCallEvent: {
48
+ onCallStateChanged: string;
49
+ onSpeaker: string;
50
+ onMuted: string;
51
+ onHold: string;
52
+ onRemoteVideoReady: string;
53
+ onClickMissedCall: string;
54
+ onSwitchboardAnswer: string;
55
+ onCallQuality: string;
56
+ onAudioChange: string;
57
+ onRequestPermissionAndroid: string;
58
+ };
58
59
 
59
60
  export const omiEmitter: NativeEventEmitter;
60
61
  }
61
-