plotline-engage 4.6.1 → 4.6.3
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/android/build.gradle +1 -1
- package/android/src/main/java/com/reactnativeplotline/RNPlotline.java +37 -0
- package/index.d.ts +3 -0
- package/index.js +27 -0
- package/ios/RNPlotline.m +46 -0
- package/package.json +1 -1
package/android/build.gradle
CHANGED
|
@@ -15,6 +15,7 @@ import com.facebook.react.bridge.Arguments;
|
|
|
15
15
|
import com.facebook.react.bridge.ReactApplicationContext;
|
|
16
16
|
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
|
17
17
|
import com.facebook.react.bridge.ReactMethod;
|
|
18
|
+
import com.facebook.react.bridge.Promise;
|
|
18
19
|
import com.facebook.react.bridge.ReadableMap;
|
|
19
20
|
import com.facebook.react.bridge.ReadableMapKeySetIterator;
|
|
20
21
|
import com.facebook.react.bridge.ReadableType;
|
|
@@ -231,6 +232,42 @@ public class RNPlotline extends ReactContextBaseJavaModule {
|
|
|
231
232
|
Plotline.logout();
|
|
232
233
|
}
|
|
233
234
|
|
|
235
|
+
@ReactMethod
|
|
236
|
+
public void isFeatureEnabled(String key, Promise promise) {
|
|
237
|
+
try {
|
|
238
|
+
Plotline.setOnFeatureFlagsLoadedListener(() -> {
|
|
239
|
+
boolean result = Plotline.isFeatureEnabled(key);
|
|
240
|
+
promise.resolve(result);
|
|
241
|
+
});
|
|
242
|
+
} catch (Exception e) {
|
|
243
|
+
promise.reject("ERROR", e);
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
@ReactMethod
|
|
248
|
+
public void getFeatureFlag(String key, Promise promise) {
|
|
249
|
+
try {
|
|
250
|
+
Plotline.setOnFeatureFlagsLoadedListener(() -> {
|
|
251
|
+
String result = Plotline.getFeatureFlag(key);
|
|
252
|
+
promise.resolve(result);
|
|
253
|
+
});
|
|
254
|
+
} catch (Exception e) {
|
|
255
|
+
promise.reject("ERROR", e);
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
@ReactMethod
|
|
260
|
+
public void getFeatureFlagPayload(String key, Promise promise) {
|
|
261
|
+
try {
|
|
262
|
+
Plotline.setOnFeatureFlagsLoadedListener(() -> {
|
|
263
|
+
String result = Plotline.getFeatureFlagPayload(key);
|
|
264
|
+
promise.resolve(result);
|
|
265
|
+
});
|
|
266
|
+
} catch (Exception e) {
|
|
267
|
+
promise.reject("ERROR", e);
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
|
|
234
271
|
public static void setNotificationMetadata(Context context, @DrawableRes int smallIcon) {
|
|
235
272
|
PlotlinePush.setPlotlineNotificationMetaData(context, new PlotlineNotificationConfig(smallIcon));
|
|
236
273
|
}
|
package/index.d.ts
CHANGED
|
@@ -19,6 +19,9 @@ declare class plotline {
|
|
|
19
19
|
setPlotlineRedirectListener(listener: (keyValuePairs: {[key: string]: any}) => void): void;
|
|
20
20
|
setToken(token: string): void;
|
|
21
21
|
logout(): void;
|
|
22
|
+
isFeatureEnabled(key: string): Promise<boolean>;
|
|
23
|
+
getFeatureFlag(key: string): Promise<string>;
|
|
24
|
+
getFeatureFlagPayload(key: string): Promise<string>;
|
|
22
25
|
}
|
|
23
26
|
|
|
24
27
|
declare const NavigationContainer = RNNavigationContainer;
|
package/index.js
CHANGED
|
@@ -179,6 +179,33 @@ class plotline {
|
|
|
179
179
|
setToken(token) {
|
|
180
180
|
RNPlotline.setToken(token);
|
|
181
181
|
}
|
|
182
|
+
|
|
183
|
+
isFeatureEnabled(key) {
|
|
184
|
+
return RNPlotline.isFeatureEnabled(key)
|
|
185
|
+
.then(result => result)
|
|
186
|
+
.catch(error => {
|
|
187
|
+
console.error("Error in isFeatureEnabled:", error);
|
|
188
|
+
return false; // Default fallback
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
getFeatureFlag(key) {
|
|
193
|
+
return RNPlotline.getFeatureFlag(key)
|
|
194
|
+
.then(result => result)
|
|
195
|
+
.catch(error => {
|
|
196
|
+
console.error("Error in getFeatureFlag:", error);
|
|
197
|
+
return null; // Default fallback
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
getFeatureFlagPayload(key) {
|
|
202
|
+
return RNPlotline.getFeatureFlagPayload(key)
|
|
203
|
+
.then(result => result)
|
|
204
|
+
.catch(error => {
|
|
205
|
+
console.error("Error in getFeatureFlagPayload:", error);
|
|
206
|
+
return null; // Default fallback
|
|
207
|
+
});
|
|
208
|
+
}
|
|
182
209
|
}
|
|
183
210
|
|
|
184
211
|
const Plotline = new plotline();
|
package/ios/RNPlotline.m
CHANGED
|
@@ -105,6 +105,52 @@ RCT_EXPORT_METHOD(setToken:(NSString *)token)
|
|
|
105
105
|
[PlotlinePush setPushTokenWithDeviceToken:deviceTokenData];
|
|
106
106
|
}
|
|
107
107
|
|
|
108
|
+
|
|
109
|
+
// Asynchronous method for `isFeatureEnabled`
|
|
110
|
+
RCT_EXPORT_METHOD(isFeatureEnabled:(NSString *)key
|
|
111
|
+
resolver:(RCTPromiseResolveBlock)resolve
|
|
112
|
+
rejecter:(RCTPromiseRejectBlock)reject)
|
|
113
|
+
{
|
|
114
|
+
@try {
|
|
115
|
+
[Plotline setOnFeatureFlagsLoadedListenerWithFeatureFlagsLoadedListener:^{
|
|
116
|
+
BOOL result = [Plotline isFeatureEnabledWithKey:key];
|
|
117
|
+
resolve(@(result));
|
|
118
|
+
}];
|
|
119
|
+
} @catch (NSException *exception) {
|
|
120
|
+
reject(@"error", exception.reason, nil); // Handle errors
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
// Asynchronous method for `getFeatureFlag`
|
|
125
|
+
RCT_EXPORT_METHOD(getFeatureFlag:(NSString *)key
|
|
126
|
+
resolver:(RCTPromiseResolveBlock)resolve
|
|
127
|
+
rejecter:(RCTPromiseRejectBlock)reject)
|
|
128
|
+
{
|
|
129
|
+
@try {
|
|
130
|
+
[Plotline setOnFeatureFlagsLoadedListenerWithFeatureFlagsLoadedListener:^{
|
|
131
|
+
NSString *result = [Plotline getFeatureFlagWithKey:key];
|
|
132
|
+
resolve(result);
|
|
133
|
+
}];
|
|
134
|
+
} @catch (NSException *exception) {
|
|
135
|
+
reject(@"error", exception.reason, nil); // Handle errors
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
// Asynchronous method for `getFeatureFlagPayload`
|
|
140
|
+
RCT_EXPORT_METHOD(getFeatureFlagPayload:(NSString *)key
|
|
141
|
+
resolver:(RCTPromiseResolveBlock)resolve
|
|
142
|
+
rejecter:(RCTPromiseRejectBlock)reject)
|
|
143
|
+
{
|
|
144
|
+
@try {
|
|
145
|
+
[Plotline setOnFeatureFlagsLoadedListenerWithFeatureFlagsLoadedListener:^{
|
|
146
|
+
NSString *result = [Plotline getFeatureFlagPayloadWithKey:key];
|
|
147
|
+
resolve(result);
|
|
148
|
+
}];
|
|
149
|
+
} @catch (NSException *exception) {
|
|
150
|
+
reject(@"error", exception.reason, nil); // Handle errors
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
|
|
108
154
|
RCT_EXPORT_MODULE();
|
|
109
155
|
|
|
110
156
|
@end
|