scatesdk-react 0.3.5 → 0.3.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 +16 -1
- package/android/build.gradle +7 -0
- package/android/src/main/java/com/scatesdkreact/ScatesdkReactModule.java +100 -43
- package/lib/commonjs/index.js +15 -21
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/index.js +15 -21
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/index.d.ts +3 -3
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/index.tsx +17 -22
package/README.md
CHANGED
|
@@ -4,6 +4,21 @@
|
|
|
4
4
|
npm install scatesdk-react
|
|
5
5
|
```
|
|
6
6
|
|
|
7
|
+
## Android Integration
|
|
8
|
+
|
|
9
|
+
To ensure that the ScateSDK works properly on Android, you need to add the Maven repository to your build.gradle file.
|
|
10
|
+
|
|
11
|
+
In your project's android/build.gradle file, add the following Maven repository:
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
repositories {
|
|
15
|
+
// Other repositories
|
|
16
|
+
maven {
|
|
17
|
+
url "https://europe-west1-maven.pkg.dev/mavenrepo-433814/scatecoresdk-android"
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
```
|
|
21
|
+
|
|
7
22
|
## Usage
|
|
8
23
|
|
|
9
24
|
### Initialize the SDK
|
|
@@ -49,7 +64,7 @@ ScateSDK.AddListener(ScateEvents.REMOTE_CONFIG_READY, (event) => {});
|
|
|
49
64
|
### Remove Listener
|
|
50
65
|
|
|
51
66
|
```js
|
|
52
|
-
ScateSDK.RemoveListener(ScateEvents.REMOTE_CONFIG_READY
|
|
67
|
+
ScateSDK.RemoveListener(ScateEvents.REMOTE_CONFIG_READY);
|
|
53
68
|
```
|
|
54
69
|
|
|
55
70
|
### Clean Listeners
|
package/android/build.gradle
CHANGED
|
@@ -2,6 +2,9 @@ buildscript {
|
|
|
2
2
|
repositories {
|
|
3
3
|
google()
|
|
4
4
|
mavenCentral()
|
|
5
|
+
maven {
|
|
6
|
+
url "https://europe-west1-maven.pkg.dev/mavenrepo-433814/scatecoresdk-android"
|
|
7
|
+
}
|
|
5
8
|
}
|
|
6
9
|
|
|
7
10
|
dependencies {
|
|
@@ -74,6 +77,9 @@ android {
|
|
|
74
77
|
repositories {
|
|
75
78
|
mavenCentral()
|
|
76
79
|
google()
|
|
80
|
+
maven {
|
|
81
|
+
url "https://europe-west1-maven.pkg.dev/mavenrepo-433814/scatecoresdk-android"
|
|
82
|
+
}
|
|
77
83
|
}
|
|
78
84
|
|
|
79
85
|
|
|
@@ -82,5 +88,6 @@ dependencies {
|
|
|
82
88
|
// For > 0.71, this will be replaced by `com.facebook.react:react-android:$version` by react gradle plugin
|
|
83
89
|
//noinspection GradleDynamicVersion
|
|
84
90
|
implementation "com.facebook.react:react-native:+"
|
|
91
|
+
implementation 'com.scate:scatesdk:0.3.10'
|
|
85
92
|
}
|
|
86
93
|
|
|
@@ -1,67 +1,124 @@
|
|
|
1
1
|
package com.scatesdkreact;
|
|
2
2
|
|
|
3
3
|
import androidx.annotation.NonNull;
|
|
4
|
-
|
|
5
|
-
import com.facebook.react.bridge.Promise;
|
|
6
|
-
import com.facebook.react.bridge.ReactApplicationContext;
|
|
7
|
-
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
|
8
|
-
import com.facebook.react.bridge.ReactMethod;
|
|
4
|
+
import com.facebook.react.bridge.*;
|
|
9
5
|
import com.facebook.react.module.annotations.ReactModule;
|
|
6
|
+
import com.facebook.react.modules.core.DeviceEventManagerModule;
|
|
7
|
+
import com.scate.scatesdk.ScateCoreSDK;
|
|
8
|
+
import com.scate.scatesdk.models.RemoteConfigListener;
|
|
9
|
+
import org.json.JSONObject;
|
|
10
10
|
|
|
11
11
|
@ReactModule(name = ScatesdkReactModule.NAME)
|
|
12
12
|
public class ScatesdkReactModule extends ReactContextBaseJavaModule {
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
public static final String NAME = "ScateSDK";
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
super(reactContext);
|
|
18
|
-
}
|
|
16
|
+
private final ReactApplicationContext reactContext;
|
|
19
17
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
return NAME;
|
|
24
|
-
}
|
|
18
|
+
public ScatesdkReactModule(ReactApplicationContext reactContext) {
|
|
19
|
+
super(reactContext);
|
|
20
|
+
this.reactContext = reactContext;
|
|
25
21
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
22
|
+
// Set up RemoteConfigListener
|
|
23
|
+
ScateCoreSDK.addRemoteConfigListener(new RemoteConfigListener() {
|
|
24
|
+
@Override
|
|
25
|
+
public void onRemoteConfigInitialized(boolean success) {
|
|
26
|
+
sendEvent("Scate_RemoteConfigsReady", success);
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
31
30
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
31
|
+
@Override
|
|
32
|
+
@NonNull
|
|
33
|
+
public String getName() {
|
|
34
|
+
return NAME;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
@ReactMethod
|
|
38
|
+
public void Init(String appID, Promise promise) {
|
|
39
|
+
try {
|
|
40
|
+
ScateCoreSDK.init(appID, reactContext.getApplicationContext());
|
|
41
|
+
promise.resolve(null);
|
|
42
|
+
} catch (Exception e) {
|
|
43
|
+
promise.reject("InitError", e);
|
|
36
44
|
}
|
|
45
|
+
}
|
|
37
46
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
47
|
+
@ReactMethod
|
|
48
|
+
public void SetAdid(String adid, Promise promise) {
|
|
49
|
+
try {
|
|
50
|
+
ScateCoreSDK.SetAdid(adid);
|
|
51
|
+
promise.resolve(null);
|
|
52
|
+
} catch (Exception e) {
|
|
53
|
+
promise.reject("SetAdidError", e);
|
|
42
54
|
}
|
|
55
|
+
}
|
|
43
56
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
57
|
+
@ReactMethod
|
|
58
|
+
public void Event(String name, Promise promise) {
|
|
59
|
+
try {
|
|
60
|
+
ScateCoreSDK.event(name);
|
|
61
|
+
promise.resolve(null);
|
|
62
|
+
} catch (Exception e) {
|
|
63
|
+
promise.reject("EventError", e);
|
|
48
64
|
}
|
|
65
|
+
}
|
|
49
66
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
67
|
+
@ReactMethod
|
|
68
|
+
public void EventWithValue(String name, String customValue, Promise promise) {
|
|
69
|
+
try {
|
|
70
|
+
ScateCoreSDK.event(name, customValue);
|
|
71
|
+
promise.resolve(null);
|
|
72
|
+
} catch (Exception e) {
|
|
73
|
+
promise.reject("EventWithValueError", e);
|
|
54
74
|
}
|
|
75
|
+
}
|
|
55
76
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
77
|
+
@ReactMethod
|
|
78
|
+
public void GetRemoteConfig(String key, String defaultValue, Promise promise) {
|
|
79
|
+
try {
|
|
80
|
+
String value = ScateCoreSDK.getRemoteConfig(key, defaultValue);
|
|
81
|
+
promise.resolve(value);
|
|
82
|
+
} catch (Exception e) {
|
|
83
|
+
promise.reject("GetRemoteConfigError", e);
|
|
60
84
|
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
@ReactMethod
|
|
88
|
+
public void AddListener(String name, Promise promise) {
|
|
89
|
+
// Add any additional listener setup if necessary
|
|
90
|
+
promise.resolve(null);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
@ReactMethod
|
|
94
|
+
public void RemoveListener(String name, Promise promise) {
|
|
95
|
+
// Remove any listener setup if necessary
|
|
96
|
+
promise.resolve(null);
|
|
97
|
+
}
|
|
61
98
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
99
|
+
// Required for rn built in EventEmitter Calls.
|
|
100
|
+
@ReactMethod
|
|
101
|
+
public void addListener(String eventName) {
|
|
102
|
+
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
@ReactMethod
|
|
106
|
+
public void removeListeners(Integer count) {
|
|
107
|
+
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
private void sendEvent(String eventName, boolean success) {
|
|
111
|
+
if (reactContext.hasActiveCatalystInstance()) {
|
|
112
|
+
WritableMap data = Arguments.createMap();
|
|
113
|
+
data.putBoolean("remoteConfigFetched", success);
|
|
114
|
+
|
|
115
|
+
WritableMap params = Arguments.createMap();
|
|
116
|
+
params.putMap("data", data);
|
|
117
|
+
|
|
118
|
+
reactContext
|
|
119
|
+
.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
|
|
120
|
+
.emit(eventName, params);
|
|
66
121
|
}
|
|
122
|
+
}
|
|
123
|
+
|
|
67
124
|
}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -36,37 +36,31 @@ class ScateSDK {
|
|
|
36
36
|
static GetRemoteConfig(key, defaultValue) {
|
|
37
37
|
return _ScateSDK.GetRemoteConfig(key, defaultValue);
|
|
38
38
|
}
|
|
39
|
-
static HandleEvent
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
});
|
|
39
|
+
static HandleEvent(name, event) {
|
|
40
|
+
const listener = this.listeners.get(name);
|
|
41
|
+
console.log(event);
|
|
42
|
+
if (listener) {
|
|
43
|
+
listener(event["data"]["remoteConfigFetched"]);
|
|
45
44
|
}
|
|
46
|
-
}
|
|
45
|
+
}
|
|
47
46
|
static AddListener(name, listener) {
|
|
48
|
-
const listenerId = Date.now().toString(); // Create unique listener ID based on current timestamp
|
|
49
47
|
if (!this.listeners.has(name)) {
|
|
50
|
-
|
|
51
|
-
_ScateSDK.AddListener(name); // Register native listener
|
|
48
|
+
_ScateSDK.AddListener(name);
|
|
52
49
|
eventEmitter.addListener(name, event => this.HandleEvent(name, event));
|
|
53
50
|
}
|
|
54
|
-
this.listeners.
|
|
55
|
-
return listenerId; // Return the listener ID
|
|
51
|
+
this.listeners.set(name, listener);
|
|
56
52
|
}
|
|
57
|
-
static RemoveListener(name
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
listeners.
|
|
61
|
-
|
|
62
|
-
this.listeners.delete(name); // Remove entire map entry if no listeners remain
|
|
63
|
-
_ScateSDK.RemoveListener(name); // Unregister native listener
|
|
53
|
+
static RemoveListener(name) {
|
|
54
|
+
if (this.listeners.has(name)) {
|
|
55
|
+
this.listeners.delete(name);
|
|
56
|
+
if (this.listeners.size === 0) {
|
|
57
|
+
_ScateSDK.RemoveListener(name);
|
|
64
58
|
}
|
|
65
59
|
}
|
|
66
60
|
}
|
|
67
61
|
static ClearListeners(name) {
|
|
68
|
-
this.listeners.delete(name);
|
|
69
|
-
_ScateSDK.RemoveListener(name);
|
|
62
|
+
this.listeners.delete(name);
|
|
63
|
+
_ScateSDK.RemoveListener(name);
|
|
70
64
|
}
|
|
71
65
|
}
|
|
72
66
|
exports.ScateSDK = ScateSDK;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","_ScateSDK","NativeModules","ScateSDK","Proxy","get","Error","eventEmitter","NativeEventEmitter","ScateEvents","exports","listeners","Map","Init","appID","SetAdid","adid","Event","name","EventWithValue","customValue","GetRemoteConfig","key","defaultValue","HandleEvent","event","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","_ScateSDK","NativeModules","ScateSDK","Proxy","get","Error","eventEmitter","NativeEventEmitter","ScateEvents","exports","listeners","Map","Init","appID","SetAdid","adid","Event","name","EventWithValue","customValue","GetRemoteConfig","key","defaultValue","HandleEvent","event","listener","console","log","AddListener","has","addListener","set","RemoveListener","delete","size","ClearListeners","_default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -30,37 +30,31 @@ export class ScateSDK {
|
|
|
30
30
|
static GetRemoteConfig(key, defaultValue) {
|
|
31
31
|
return _ScateSDK.GetRemoteConfig(key, defaultValue);
|
|
32
32
|
}
|
|
33
|
-
static HandleEvent
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
});
|
|
33
|
+
static HandleEvent(name, event) {
|
|
34
|
+
const listener = this.listeners.get(name);
|
|
35
|
+
console.log(event);
|
|
36
|
+
if (listener) {
|
|
37
|
+
listener(event["data"]["remoteConfigFetched"]);
|
|
39
38
|
}
|
|
40
|
-
}
|
|
39
|
+
}
|
|
41
40
|
static AddListener(name, listener) {
|
|
42
|
-
const listenerId = Date.now().toString(); // Create unique listener ID based on current timestamp
|
|
43
41
|
if (!this.listeners.has(name)) {
|
|
44
|
-
|
|
45
|
-
_ScateSDK.AddListener(name); // Register native listener
|
|
42
|
+
_ScateSDK.AddListener(name);
|
|
46
43
|
eventEmitter.addListener(name, event => this.HandleEvent(name, event));
|
|
47
44
|
}
|
|
48
|
-
this.listeners.
|
|
49
|
-
return listenerId; // Return the listener ID
|
|
45
|
+
this.listeners.set(name, listener);
|
|
50
46
|
}
|
|
51
|
-
static RemoveListener(name
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
listeners.
|
|
55
|
-
|
|
56
|
-
this.listeners.delete(name); // Remove entire map entry if no listeners remain
|
|
57
|
-
_ScateSDK.RemoveListener(name); // Unregister native listener
|
|
47
|
+
static RemoveListener(name) {
|
|
48
|
+
if (this.listeners.has(name)) {
|
|
49
|
+
this.listeners.delete(name);
|
|
50
|
+
if (this.listeners.size === 0) {
|
|
51
|
+
_ScateSDK.RemoveListener(name);
|
|
58
52
|
}
|
|
59
53
|
}
|
|
60
54
|
}
|
|
61
55
|
static ClearListeners(name) {
|
|
62
|
-
this.listeners.delete(name);
|
|
63
|
-
_ScateSDK.RemoveListener(name);
|
|
56
|
+
this.listeners.delete(name);
|
|
57
|
+
_ScateSDK.RemoveListener(name);
|
|
64
58
|
}
|
|
65
59
|
}
|
|
66
60
|
export default ScateSDK;
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeEventEmitter","NativeModules","Platform","LINKING_ERROR","select","ios","default","_ScateSDK","ScateSDK","Proxy","get","Error","eventEmitter","ScateEvents","listeners","Map","Init","appID","SetAdid","adid","Event","name","EventWithValue","customValue","GetRemoteConfig","key","defaultValue","HandleEvent","event","
|
|
1
|
+
{"version":3,"names":["NativeEventEmitter","NativeModules","Platform","LINKING_ERROR","select","ios","default","_ScateSDK","ScateSDK","Proxy","get","Error","eventEmitter","ScateEvents","listeners","Map","Init","appID","SetAdid","adid","Event","name","EventWithValue","customValue","GetRemoteConfig","key","defaultValue","HandleEvent","event","listener","console","log","AddListener","has","addListener","set","RemoveListener","delete","size","ClearListeners"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,kBAAkB,EAAEC,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAE1E,MAAMC,aAAa,GAChB,yEAAwE,GACzED,QAAQ,CAACE,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,SAAS,GAAGN,aAAa,CAACO,QAAQ,GACpCP,aAAa,CAACO,QAAQ,GACtB,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACR,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEL,MAAMS,YAAY,GAAG,IAAIZ,kBAAkB,CAACO,SAAS,CAAC;AAEtD,WAAYM,WAAW,0BAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAIvB,OAAO,MAAML,QAAQ,CAAC;EACpB,OAAeM,SAAS,GAA0B,IAAIC,GAAG,CAAC,CAAC;EAE3D,OAAcC,IAAIA,CAACC,KAAa,EAAiB;IAC/C,OAAOV,SAAS,CAACS,IAAI,CAACC,KAAK,CAAC;EAC9B;EAEA,OAAcC,OAAOA,CAACC,IAAY,EAAiB;IACjD,OAAOZ,SAAS,CAACW,OAAO,CAACC,IAAI,CAAC;EAChC;EAEA,OAAcC,KAAKA,CAACC,IAAY,EAAiB;IAC/C,OAAOd,SAAS,CAACa,KAAK,CAACC,IAAI,CAAC;EAC9B;EAEA,OAAcC,cAAcA,CAC1BD,IAAY,EACZE,WAAmB,EACJ;IACf,OAAOhB,SAAS,CAACe,cAAc,CAACD,IAAI,EAAEE,WAAW,CAAC;EACpD;EAEA,OAAcC,eAAeA,CAC3BC,GAAW,EACXC,YAAoB,EACH;IACjB,OAAOnB,SAAS,CAACiB,eAAe,CAACC,GAAG,EAAEC,YAAY,CAAC;EACrD;EAEA,OAAcC,WAAWA,CAACN,IAAY,EAAEO,KAAU,EAAE;IAClD,MAAMC,QAAQ,GAAG,IAAI,CAACf,SAAS,CAACJ,GAAG,CAACW,IAAI,CAAC;IACzCS,OAAO,CAACC,GAAG,CAACH,KAAK,CAAC;IAClB,IAAIC,QAAQ,EAAE;MACZA,QAAQ,CAACD,KAAK,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC;IAChD;EACF;EAEA,OAAcI,WAAWA,CAACX,IAAY,EAAEQ,QAAkB,EAAE;IAC1D,IAAI,CAAC,IAAI,CAACf,SAAS,CAACmB,GAAG,CAACZ,IAAI,CAAC,EAAE;MAC7Bd,SAAS,CAACyB,WAAW,CAACX,IAAI,CAAC;MAC3BT,YAAY,CAACsB,WAAW,CAACb,IAAI,EAAGO,KAAK,IAAK,IAAI,CAACD,WAAW,CAACN,IAAI,EAAEO,KAAK,CAAC,CAAC;IAC1E;IACA,IAAI,CAACd,SAAS,CAACqB,GAAG,CAACd,IAAI,EAAEQ,QAAQ,CAAC;EACpC;EAEA,OAAcO,cAAcA,CAACf,IAAY,EAAE;IACzC,IAAI,IAAI,CAACP,SAAS,CAACmB,GAAG,CAACZ,IAAI,CAAC,EAAE;MAC5B,IAAI,CAACP,SAAS,CAACuB,MAAM,CAAChB,IAAI,CAAC;MAC3B,IAAI,IAAI,CAACP,SAAS,CAACwB,IAAI,KAAK,CAAC,EAAE;QAC7B/B,SAAS,CAAC6B,cAAc,CAACf,IAAI,CAAC;MAChC;IACF;EACF;EAEA,OAAckB,cAAcA,CAAClB,IAAY,EAAE;IACzC,IAAI,CAACP,SAAS,CAACuB,MAAM,CAAChB,IAAI,CAAC;IAC3Bd,SAAS,CAAC6B,cAAc,CAACf,IAAI,CAAC;EAChC;AACF;AAGA,eAAeb,QAAQ","ignoreList":[]}
|
|
@@ -8,9 +8,9 @@ export declare class ScateSDK {
|
|
|
8
8
|
static Event(name: string): Promise<void>;
|
|
9
9
|
static EventWithValue(name: string, customValue: string): Promise<void>;
|
|
10
10
|
static GetRemoteConfig(key: string, defaultValue: string): Promise<string>;
|
|
11
|
-
static HandleEvent
|
|
12
|
-
static AddListener(name: string, listener: Function):
|
|
13
|
-
static RemoveListener(name: string
|
|
11
|
+
static HandleEvent(name: string, event: any): void;
|
|
12
|
+
static AddListener(name: string, listener: Function): void;
|
|
13
|
+
static RemoveListener(name: string): void;
|
|
14
14
|
static ClearListeners(name: string): void;
|
|
15
15
|
}
|
|
16
16
|
export default ScateSDK;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAqBA,oBAAY,WAAW;IACrB,mBAAmB,6BAA6B;CACjD;AAED,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAqBA,oBAAY,WAAW;IACrB,mBAAmB,6BAA6B;CACjD;AAED,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAC,SAAS,CAAoC;WAE9C,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;WAIlC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;WAIpC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;WAIlC,cAAc,CAC1B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;WAIF,eAAe,CAC3B,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC;WAIJ,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;WAQpC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;WAQ5C,cAAc,CAAC,IAAI,EAAE,MAAM;WAS3B,cAAc,CAAC,IAAI,EAAE,MAAM;CAI1C;AAGD,eAAe,QAAQ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "scatesdk-react",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.6",
|
|
4
4
|
"description": "Scate SDK is made for developers to integrate Scate's services into their apps. Please visit https://www.scate.io for more information.",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
package/src/index.tsx
CHANGED
|
@@ -24,7 +24,7 @@ export enum ScateEvents {
|
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
export class ScateSDK {
|
|
27
|
-
private static listeners: Map<string,
|
|
27
|
+
private static listeners: Map<string, Function> = new Map();
|
|
28
28
|
|
|
29
29
|
public static Init(appID: string): Promise<void> {
|
|
30
30
|
return _ScateSDK.Init(appID);
|
|
@@ -52,41 +52,36 @@ export class ScateSDK {
|
|
|
52
52
|
return _ScateSDK.GetRemoteConfig(key, defaultValue);
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
public static HandleEvent
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
});
|
|
55
|
+
public static HandleEvent(name: string, event: any) {
|
|
56
|
+
const listener = this.listeners.get(name);
|
|
57
|
+
console.log(event);
|
|
58
|
+
if (listener) {
|
|
59
|
+
listener(event["data"]["remoteConfigFetched"]);
|
|
61
60
|
}
|
|
62
|
-
}
|
|
61
|
+
}
|
|
63
62
|
|
|
64
63
|
public static AddListener(name: string, listener: Function) {
|
|
65
|
-
const listenerId = Date.now().toString(); // Create unique listener ID based on current timestamp
|
|
66
64
|
if (!this.listeners.has(name)) {
|
|
67
|
-
|
|
68
|
-
_ScateSDK.AddListener(name); // Register native listener
|
|
65
|
+
_ScateSDK.AddListener(name);
|
|
69
66
|
eventEmitter.addListener(name, (event) => this.HandleEvent(name, event));
|
|
70
67
|
}
|
|
71
|
-
this.listeners.
|
|
72
|
-
return listenerId; // Return the listener ID
|
|
68
|
+
this.listeners.set(name, listener);
|
|
73
69
|
}
|
|
74
70
|
|
|
75
|
-
public static RemoveListener(name: string
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
listeners.
|
|
79
|
-
|
|
80
|
-
this.listeners.delete(name); // Remove entire map entry if no listeners remain
|
|
81
|
-
_ScateSDK.RemoveListener(name); // Unregister native listener
|
|
71
|
+
public static RemoveListener(name: string) {
|
|
72
|
+
if (this.listeners.has(name)) {
|
|
73
|
+
this.listeners.delete(name);
|
|
74
|
+
if (this.listeners.size === 0) {
|
|
75
|
+
_ScateSDK.RemoveListener(name);
|
|
82
76
|
}
|
|
83
77
|
}
|
|
84
78
|
}
|
|
85
79
|
|
|
86
80
|
public static ClearListeners(name: string) {
|
|
87
|
-
this.listeners.delete(name);
|
|
88
|
-
_ScateSDK.RemoveListener(name);
|
|
81
|
+
this.listeners.delete(name);
|
|
82
|
+
_ScateSDK.RemoveListener(name);
|
|
89
83
|
}
|
|
90
84
|
}
|
|
91
85
|
|
|
86
|
+
|
|
92
87
|
export default ScateSDK;
|