reactnative-plugin-appice 1.7.1 → 1.7.4
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/example/App.js +487 -137
- package/example/android/.gradle/7.3.3/checksums/checksums.lock +0 -0
- package/example/android/.gradle/7.3.3/fileChanges/last-build.bin +0 -0
- package/example/android/.gradle/7.3.3/fileHashes/fileHashes.lock +0 -0
- package/example/android/.gradle/7.3.3/gc.properties +0 -0
- package/example/android/.gradle/vcs-1/gc.properties +0 -0
- package/example/android/build.gradle +20 -0
- package/ios/AppIceReactPlugin.m +2 -2
- package/ios/AppIceReactPlugin.xcworkspace/xcuserdata/artherajesh.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/package.json +1 -1
- package/example/android/local.properties +0 -8
package/android/build.gradle
CHANGED
|
@@ -114,7 +114,7 @@ dependencies {
|
|
|
114
114
|
annotationProcessor "androidx.lifecycle:lifecycle-compiler:2.3.1"
|
|
115
115
|
|
|
116
116
|
//appice
|
|
117
|
-
implementation 'appice.io.android:sdk:2.5.
|
|
117
|
+
implementation 'appice.io.android:sdk:2.5.74'
|
|
118
118
|
|
|
119
119
|
//glide
|
|
120
120
|
implementation "com.github.bumptech.glide:glide:4.11.0"
|
package/example/App.js
CHANGED
|
@@ -13,15 +13,52 @@ import { Alert,
|
|
|
13
13
|
Image,
|
|
14
14
|
Linking,
|
|
15
15
|
Button,
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
TextInput,
|
|
17
|
+
ScrollView,
|
|
18
|
+
View,
|
|
19
|
+
AppState
|
|
18
20
|
} from 'react-native';
|
|
19
21
|
|
|
20
22
|
const AppICE = require('reactnative-plugin-appice');
|
|
21
23
|
const HelloWorldApp = () => {
|
|
22
|
-
const certs = [];
|
|
24
|
+
const certs: never[] = [];
|
|
23
25
|
if (AppICE) {
|
|
24
26
|
console.log('AppICE is available');
|
|
27
|
+
AppICE.preInitialise();
|
|
28
|
+
console.log('preInitialize completed');
|
|
29
|
+
|
|
30
|
+
AppICE.startContext(
|
|
31
|
+
|
|
32
|
+
/* "63ff2f6656903ac80342836f",
|
|
33
|
+
"f77142c61559d217188336610f0d4e432063e0c8",
|
|
34
|
+
"869a33728bd9b54fb920cee790062f6c",
|
|
35
|
+
"",
|
|
36
|
+
"BOI-UAT",
|
|
37
|
+
"https://uaappiceuatapi.bankofindia.co.in:11443/uat/api",
|
|
38
|
+
certs*/
|
|
39
|
+
|
|
40
|
+
"5bebe93c25d705690ffbc758",
|
|
41
|
+
"9e9ec60197c8373a11ac15ce4dae80e973608ab2",
|
|
42
|
+
"e5aa4b293f3188fac9cb1a4017963604",
|
|
43
|
+
"",
|
|
44
|
+
"US",
|
|
45
|
+
"https://a.appice.io",
|
|
46
|
+
certs
|
|
47
|
+
|
|
48
|
+
/*
|
|
49
|
+
"63da0ecb29610f3d31365d55",
|
|
50
|
+
"2e0c99435744e47ee673f6105360c4d9c8b135e6",
|
|
51
|
+
"c5d88b2aadaea30d5e0c4f153125a12c",
|
|
52
|
+
"",
|
|
53
|
+
"BOI-SIT",
|
|
54
|
+
"https://uaappiceuatapi.bankofindia.co.in:11443/sit/api",
|
|
55
|
+
certs
|
|
56
|
+
*/
|
|
57
|
+
);
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
/*
|
|
25
62
|
AppICE.startContext(
|
|
26
63
|
// '5bebe93c25d705690ffbc758',
|
|
27
64
|
// '9e9ec60197c8373a11ac15ce4dae80e973608ab2',
|
|
@@ -31,25 +68,30 @@ const HelloWorldApp = () => {
|
|
|
31
68
|
// "https://stagingapi.appice.io",
|
|
32
69
|
"5bebe93c25d705690ffbc758",
|
|
33
70
|
"9e9ec60197c8373a11ac15ce4dae80e973608ab2",
|
|
34
|
-
"
|
|
71
|
+
"e5aa4b293f3188fac9cb1a4017963604",
|
|
35
72
|
"",
|
|
36
73
|
"US",
|
|
37
74
|
"https://a.appice.io",
|
|
38
75
|
|
|
39
76
|
certs);
|
|
77
|
+
*/
|
|
78
|
+
addAppICEAPIListeners();
|
|
79
|
+
|
|
80
|
+
AppState.addEventListener('change', (nextAppState) => {
|
|
81
|
+
if (nextAppState === 'active') {
|
|
82
|
+
AppICE.isDeviceReady(true);
|
|
83
|
+
}
|
|
84
|
+
else if (nextAppState === 'background'){
|
|
85
|
+
AppICE.isDeviceReady(false);
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
|
|
40
89
|
}
|
|
41
|
-
|
|
42
|
-
AppState.addEventListener('change', (nextAppState) => {
|
|
43
|
-
if (nextAppState === 'active') {
|
|
44
|
-
AppICE.isDeviceReady(true);
|
|
45
|
-
}
|
|
46
|
-
else if (nextAppState === 'background'){
|
|
47
|
-
// this state handle both backgroung and kill state
|
|
48
|
-
AppICE.isDeviceReady(false);
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
90
|
|
|
52
|
-
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
|
|
53
95
|
return (
|
|
54
96
|
<View
|
|
55
97
|
style={{
|
|
@@ -60,6 +102,7 @@ addAppICEAPIListeners();
|
|
|
60
102
|
|
|
61
103
|
}}>
|
|
62
104
|
<Text>AppICE React Demo</Text>
|
|
105
|
+
|
|
63
106
|
<Button
|
|
64
107
|
onPress={sendEvent}
|
|
65
108
|
title="Send Event"
|
|
@@ -70,61 +113,67 @@ addAppICEAPIListeners();
|
|
|
70
113
|
>
|
|
71
114
|
|
|
72
115
|
</View>
|
|
73
|
-
<
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
116
|
+
<TextInput
|
|
117
|
+
style={{ height: 30,width:150, borderColor: 'gray', borderWidth: 1, marginBottom: 5, paddingHorizontal: 10 }}
|
|
118
|
+
placeholder="setUserID"
|
|
119
|
+
onChangeText={handlesetIDText}
|
|
78
120
|
/>
|
|
121
|
+
<View style={{ flexDirection: 'row', marginTop: 5 }}>
|
|
122
|
+
<Button title="setUserID" onPress={setSampleUserID} />
|
|
123
|
+
<View style={{ marginLeft: 10 }}>
|
|
124
|
+
<Button title="getUserId" onPress={getUserId} />
|
|
125
|
+
</View>
|
|
126
|
+
</View>
|
|
79
127
|
|
|
80
|
-
<
|
|
81
|
-
onPress={
|
|
82
|
-
|
|
83
|
-
|
|
128
|
+
<View style={{ flexDirection: 'row', marginTop: 5 }}>
|
|
129
|
+
<Button title="setUserProfile" onPress={setUserProfile} />
|
|
130
|
+
<View style={{ marginLeft: 10 }}>
|
|
131
|
+
<Button title="getUserProfile" onPress={getUser} />
|
|
132
|
+
</View>
|
|
133
|
+
</View>
|
|
84
134
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
135
|
+
<View style={{ flexDirection: 'row', marginTop: 5 }}>
|
|
136
|
+
<Button title="set Custom Variable" onPress={setLanguage} />
|
|
137
|
+
<View style={{ marginLeft: 10 }}>
|
|
138
|
+
<Button title="Send View" onPress={sendView} />
|
|
139
|
+
</View>
|
|
140
|
+
</View>
|
|
90
141
|
|
|
142
|
+
<TextInput
|
|
143
|
+
style={{ height: 30,width:300, borderColor: 'gray', borderWidth: 1, marginBottom: 10, paddingHorizontal: 10 }}
|
|
144
|
+
placeholder="mid"
|
|
145
|
+
onChangeText={handleTextChange}
|
|
91
146
|
/>
|
|
92
|
-
<Button
|
|
93
|
-
onPress={sendView}
|
|
94
|
-
title="Send View"
|
|
95
|
-
color="#841584"
|
|
96
147
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
148
|
+
<View style={{ flexDirection: 'row', marginTop: 5 }}>
|
|
149
|
+
<Button title="getInboxMessage" onPress={getInboxMessage} />
|
|
150
|
+
<View style={{ marginLeft: 5 }}>
|
|
151
|
+
<Button title="getMessageCount" onPress={getMessageCount} />
|
|
152
|
+
</View>
|
|
153
|
+
<View style={{ marginLeft: 5 }}>
|
|
154
|
+
</View>
|
|
155
|
+
</View>
|
|
102
156
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
157
|
+
<View style={{ flexDirection: 'row', marginTop: 5 }}>
|
|
158
|
+
<Button title="getInboxMessageId" onPress={getInboxMessageForId} />
|
|
159
|
+
<View style={{ marginLeft: 10 }}>
|
|
160
|
+
<Button title="updateInbox" onPress={updateInboxMessage} />
|
|
161
|
+
</View>
|
|
162
|
+
</View>
|
|
108
163
|
|
|
109
|
-
/>
|
|
110
|
-
<Button
|
|
111
|
-
onPress={getMessageCount}
|
|
112
|
-
title="getMessageCount"
|
|
113
|
-
color="#841584"
|
|
114
|
-
/>
|
|
115
164
|
<Button
|
|
116
|
-
onPress={
|
|
117
|
-
title="
|
|
165
|
+
onPress={synchronizeInbox}
|
|
166
|
+
title="synchronizeInbox"
|
|
118
167
|
color="#841584"
|
|
119
168
|
/>
|
|
120
169
|
<Button
|
|
121
|
-
onPress={
|
|
122
|
-
title="
|
|
170
|
+
onPress={getUserDetails}
|
|
171
|
+
title="getUserDetails"
|
|
123
172
|
color="#841584"
|
|
124
173
|
/>
|
|
125
174
|
<Button
|
|
126
|
-
onPress={
|
|
127
|
-
title="
|
|
175
|
+
onPress={getUserData}
|
|
176
|
+
title="getUserData"
|
|
128
177
|
color="#841584"
|
|
129
178
|
/>
|
|
130
179
|
</View>
|
|
@@ -133,23 +182,25 @@ addAppICEAPIListeners();
|
|
|
133
182
|
}
|
|
134
183
|
|
|
135
184
|
function addAppICEAPIListeners() {
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
185
|
+
AppICE.addListener(AppICE.AppICEPushNotificationClicked, (event: { AppICEPushNotificationClicked: any; }) => {
|
|
186
|
+
if (typeof event !== 'undefined') {
|
|
187
|
+
console.log(
|
|
188
|
+
'handleAppICETapEvent',
|
|
189
|
+
AppICE.AppICEPushNotificationClicked,
|
|
190
|
+
event.AppICEPushNotificationClicked,
|
|
191
|
+
);
|
|
142
192
|
AppICE.pushNotificationClicked(event.AppICEPushNotificationClicked);
|
|
143
|
-
//fetching custom data from push payload
|
|
144
|
-
var data = AppICE.getCustomDataFromPayload(event.AppICEPushNotificationClicked);
|
|
145
|
-
console.log(data);
|
|
146
193
|
}
|
|
147
194
|
});
|
|
148
195
|
|
|
149
|
-
AppICE.addListener(AppICE.AppICEInAppClicked, (event) => {
|
|
150
|
-
if (typeof event !== 'undefined'){
|
|
151
|
-
console.log(
|
|
152
|
-
|
|
196
|
+
AppICE.addListener(AppICE.AppICEInAppClicked, (event: { AppICEInAppClicked: any; }) => {
|
|
197
|
+
if (typeof event !== 'undefined') {
|
|
198
|
+
console.log("event AppICEInAppClicked: " + event);
|
|
199
|
+
console.log("event is from AppICEInAppClicked is " + event.AppICEInAppClicked);
|
|
200
|
+
console.log('handleAppICETapEvent', AppICE.AppICEInAppClicked);
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
callbackInApp(event.AppICEInAppClicked)
|
|
153
204
|
}
|
|
154
205
|
});
|
|
155
206
|
}
|
|
@@ -161,117 +212,399 @@ const sendEvent = () => {
|
|
|
161
212
|
"AppName": "ReactSampleApp"
|
|
162
213
|
};
|
|
163
214
|
AppICE.tagEvent("ReactSampleApp", dataObj);
|
|
164
|
-
|
|
215
|
+
|
|
165
216
|
}
|
|
166
217
|
|
|
167
218
|
|
|
168
219
|
const setUserProfile = () => {
|
|
169
|
-
AppICE.setUser({
|
|
170
|
-
|
|
220
|
+
AppICE.setUser({
|
|
221
|
+
[AppICE.name]: 'arthe',
|
|
222
|
+
[AppICE.phone]: '',
|
|
223
|
+
[AppICE.email]: '',
|
|
224
|
+
[AppICE.age]: 0,
|
|
225
|
+
[AppICE.gender]: '',
|
|
226
|
+
[AppICE.dob]: 0,
|
|
227
|
+
[AppICE.educationType]: '',
|
|
228
|
+
[AppICE.employmentType]: '',
|
|
229
|
+
[AppICE.married]:1,
|
|
230
|
+
[AppICE.isEmployed]:1,
|
|
171
231
|
});
|
|
232
|
+
console.log("[AppICE.name] "+[AppICE.name]);
|
|
233
|
+
console.log("[AppICE.phone] "+[AppICE.phone]);
|
|
234
|
+
console.log("[AppICE.email] "+[AppICE.email]);
|
|
235
|
+
console.log("[AppICE.age] "+[AppICE.age]);
|
|
236
|
+
console.log("[AppICE.gender] "+[AppICE.gender]);
|
|
172
237
|
};
|
|
173
238
|
|
|
174
239
|
const setSampleUserID = () => {
|
|
175
|
-
|
|
240
|
+
AppICE.setUserId(['16084015600']);
|
|
241
|
+
//181166344
|
|
242
|
+
//AppICE.setUserId(['181166344']);
|
|
243
|
+
//AppICE.setUserId(['kuOEN8bCqdrROmJPVCeKSg==']);
|
|
244
|
+
|
|
245
|
+
};
|
|
246
|
+
|
|
247
|
+
const getUserId = () => {
|
|
248
|
+
AppICE.getUserId((userIds: any[]) => {
|
|
249
|
+
console.log('User IDs:', userIds);
|
|
250
|
+
const inboxMessageString = JSON.stringify(userIds, null, 2);
|
|
176
251
|
|
|
252
|
+
Alert.alert(`getInboxMessageForId: \n ${inboxMessageString}`);
|
|
253
|
+
});
|
|
177
254
|
};
|
|
178
255
|
|
|
179
256
|
const setLanguage = () => {
|
|
180
257
|
AppICE.setCustomVariable("_lang", "ar-AE");
|
|
181
258
|
|
|
259
|
+
};
|
|
260
|
+
//getUserDetails
|
|
261
|
+
const getUserDetails = () => {
|
|
262
|
+
console.log('GET USER Details:');
|
|
263
|
+
AppICE.getUser((user:any) => {
|
|
182
264
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
265
|
+
});
|
|
266
|
+
|
|
267
|
+
};
|
|
268
|
+
const getUser = () => {
|
|
269
|
+
console.log('GET USER:');
|
|
186
270
|
|
|
271
|
+
const userData = AppICE.getUser((res: any)=>{
|
|
272
|
+
console.log("userData getUser "+userData);
|
|
273
|
+
|
|
274
|
+
if(res){
|
|
275
|
+
var response;
|
|
276
|
+
const resData = JSON.stringify(res);
|
|
277
|
+
console.log("res "+resData);
|
|
278
|
+
|
|
279
|
+
const data = JSON.parse(resData);
|
|
280
|
+
response = data;
|
|
281
|
+
|
|
282
|
+
|
|
283
|
+
const customProperties = response[AppICE.DEMOGRAPHIC_INFO];
|
|
284
|
+
console.log("customProperties "+customProperties);
|
|
285
|
+
|
|
286
|
+
}
|
|
287
|
+
});
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
|
|
291
|
+
function callbackInApp(payload: any) {
|
|
292
|
+
|
|
293
|
+
console.log('Call BAck payload:', payload);
|
|
294
|
+
|
|
295
|
+
if (payload) {
|
|
296
|
+
const screen = JSON.parse(payload)
|
|
297
|
+
console.log('Call BAck Screen:',screen);
|
|
298
|
+
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
};
|
|
302
|
+
|
|
303
|
+
function callbackInApp1(payload: any) {
|
|
304
|
+
|
|
305
|
+
if (Platform.OS === 'ios') {
|
|
306
|
+
console.log('Call BAck Screen for IOS:');
|
|
307
|
+
console.log('Call BAck payload :',payload);
|
|
308
|
+
|
|
309
|
+
if (payload) {
|
|
310
|
+
const screen = JSON.parse(payload)
|
|
311
|
+
console.log('Call BAck Screen :',screen);
|
|
312
|
+
Alert.alert('Call BAck Screen : ' +screen);
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
else
|
|
316
|
+
{
|
|
317
|
+
console.log("Please use Android logic here.");
|
|
318
|
+
}
|
|
187
319
|
};
|
|
320
|
+
|
|
188
321
|
const sendView = () => {
|
|
189
322
|
AppICE.tagEvent("HomeScreen", {});
|
|
190
323
|
};
|
|
324
|
+
/*
|
|
325
|
+
===================
|
|
326
|
+
APPINBOX
|
|
327
|
+
===================
|
|
328
|
+
*/
|
|
329
|
+
const type = 1;
|
|
330
|
+
//kuOEN8bCqdrROmJPVCeKSg==
|
|
331
|
+
const userIds = ['16084015600'];
|
|
332
|
+
let inputValue = '';
|
|
333
|
+
const handlesetIDText = (text: string) => {
|
|
191
334
|
|
|
192
|
-
const getUserId = () => {
|
|
193
|
-
AppICE.getUserId((userIds: any[]) => {
|
|
194
|
-
console.log('User IDs:', userIds);
|
|
195
|
-
});
|
|
196
335
|
};
|
|
197
336
|
|
|
198
|
-
const
|
|
199
|
-
|
|
337
|
+
const handleTextChange = (text: string) => {
|
|
338
|
+
inputValue = text;
|
|
339
|
+
};
|
|
340
|
+
|
|
341
|
+
let textInput: TextInput | null = null;
|
|
200
342
|
|
|
201
343
|
const getInboxMessage = () => {
|
|
202
|
-
|
|
203
|
-
|
|
344
|
+
const userId = ['16084015600'];
|
|
345
|
+
getInboxMessages(1, userId, "Bank Communications", 10, 0, 10, false, (result:any) => {
|
|
346
|
+
console.log("Inbox data set: ", result);
|
|
347
|
+
Alert.alert(`Inbox Data: \n ${result}`);
|
|
348
|
+
})
|
|
349
|
+
};
|
|
350
|
+
|
|
351
|
+
function getInboxMessages(type: number, userids: string[], category: string, limit: number, offset: number, timeout: number, withServerHit: boolean, callback: { (result: any): void; (arg0: string): void; }) {
|
|
352
|
+
|
|
353
|
+
if (withServerHit) {
|
|
354
|
+
AppICE.synchronizeInbox(timeout, (res: any) => {
|
|
355
|
+
if (res) {
|
|
356
|
+
AppICE.getInboxMessages(type, userids, async (res: any) => {
|
|
357
|
+
console.log("getInboxMessages " + res)
|
|
358
|
+
if (res) {
|
|
359
|
+
const newData = JSON.stringify(res);
|
|
360
|
+
const result = await getFilteredData(newData, category, limit, offset);
|
|
361
|
+
console.log("getFilteredData 2: ", result);
|
|
362
|
+
const val = JSON.stringify(result);
|
|
363
|
+
console.log("getFilteredData 2: ", val);
|
|
364
|
+
if (val) {
|
|
365
|
+
console.log("internalGetInboxMessage 2" + val)
|
|
366
|
+
callback(val);
|
|
367
|
+
// getMediaDataKeys(res);
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
})
|
|
371
|
+
} else {
|
|
372
|
+
AppICE.getInboxMessages(type, userids, async (res: any) => {
|
|
373
|
+
console.log("getInboxMessages " + res)
|
|
374
|
+
if (res) {
|
|
375
|
+
const newData = JSON.stringify(res);
|
|
376
|
+
const result = await getFilteredData(newData, category, limit, offset);
|
|
377
|
+
console.log("getFilteredData 3: ", result);
|
|
378
|
+
const val = JSON.stringify(result);
|
|
379
|
+
console.log("getFilteredData 3: ", val);
|
|
380
|
+
if (val) {
|
|
381
|
+
console.log("internalGetInboxMessage 3" + val)
|
|
382
|
+
callback(val);
|
|
383
|
+
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
})
|
|
387
|
+
}
|
|
388
|
+
});
|
|
389
|
+
} else {
|
|
390
|
+
AppICE.getInboxMessages(type, userids,async (res: any) => {
|
|
391
|
+
if (res) {
|
|
392
|
+
try {
|
|
393
|
+
const newData = JSON.stringify(res);
|
|
394
|
+
console.log("getInboxMessages newData" + newData)
|
|
395
|
+
const result = await getFilteredData(newData, category, limit, offset);
|
|
396
|
+
console.log("getFilteredData result" + result)
|
|
397
|
+
|
|
398
|
+
const val = JSON.stringify(result);
|
|
399
|
+
console.log("getFilteredData stringify result val" + val)
|
|
400
|
+
|
|
401
|
+
|
|
402
|
+
if (val) {
|
|
403
|
+
console.log("internalGetInboxMessage 4" + val)
|
|
404
|
+
callback(val);
|
|
405
|
+
|
|
406
|
+
}
|
|
407
|
+
} catch (error) {
|
|
408
|
+
console.log("internalGetInboxMessage error" + error)
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
}
|
|
412
|
+
})
|
|
413
|
+
}
|
|
414
|
+
}
|
|
204
415
|
|
|
205
|
-
inboxMessages.forEach((message) => {
|
|
206
|
-
const mediaKey = 'imageUrl';
|
|
207
|
-
AppICE.getMediaData(message, mediaKey, (mediaData: any) => {
|
|
208
|
-
console.log('Media Data:', mediaData);
|
|
209
416
|
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
417
|
+
async function getMediaDataKeys(inboxMessages: any) {
|
|
418
|
+
const newInboxMessageData: any[] = [];
|
|
419
|
+
|
|
420
|
+
// Iterate over all messages in inboxMessages array
|
|
421
|
+
inboxMessages.forEach(async (message: any) => {
|
|
213
422
|
|
|
214
|
-
AppICE.getMediaType(mediaData,(mediaType:any) => {
|
|
215
|
-
console.log('getmediaType is:', mediaType);
|
|
216
|
-
});
|
|
217
423
|
|
|
218
|
-
|
|
219
|
-
|
|
424
|
+
const mediaKey = 'imageUrl'; // Adjust media key as needed
|
|
425
|
+
const singleInboxMessage = Object.assign({}, message);
|
|
426
|
+
|
|
427
|
+
console.log('from server ', singleInboxMessage);
|
|
428
|
+
try {
|
|
429
|
+
const mediaData = await new Promise((resolve, reject) => {
|
|
430
|
+
AppICE.getMediaData(message, mediaKey, (mediaData: any) => {
|
|
431
|
+
resolve(mediaData);
|
|
220
432
|
});
|
|
221
433
|
});
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
434
|
+
// We have to check mediaData if it is valid only then we should call rest of the functions
|
|
435
|
+
const mediaUrl = await new Promise((resolve, reject) => {
|
|
436
|
+
AppICE.getMediaUrl(message, mediaData, (mediaUrl: any) => {
|
|
437
|
+
resolve(mediaUrl);
|
|
438
|
+
});
|
|
439
|
+
});
|
|
440
|
+
const mediaType = await new Promise((resolve, reject) => {
|
|
441
|
+
AppICE.getMediaType(message, mediaData, (mediaType: any) => {
|
|
442
|
+
resolve(mediaType);
|
|
443
|
+
});
|
|
444
|
+
});
|
|
445
|
+
const mediaThumbnail = await new Promise((resolve, reject) => {
|
|
446
|
+
AppICE.getMediaThumbnail(message, mediaData, (mediaThumbnail: any) => {
|
|
447
|
+
resolve(mediaThumbnail);
|
|
448
|
+
});
|
|
449
|
+
});
|
|
450
|
+
console.log('==================================================',);
|
|
451
|
+
console.log('singleInboxMessage:', singleInboxMessage);
|
|
452
|
+
console.log('mediaUrl:', mediaUrl);
|
|
453
|
+
console.log('mediaType:', mediaType);
|
|
454
|
+
console.log('mediaThumbnail:', mediaThumbnail);
|
|
455
|
+
// Add media data to singleInboxMessage
|
|
456
|
+
singleInboxMessage.mediaUrl = mediaUrl;
|
|
457
|
+
singleInboxMessage.mediaType = mediaType;
|
|
458
|
+
singleInboxMessage.mediaThumbnail = mediaThumbnail;
|
|
459
|
+
|
|
460
|
+
|
|
461
|
+
// Push singleInboxMessage to newInboxMessageData
|
|
462
|
+
newInboxMessageData.push(singleInboxMessage);
|
|
463
|
+
|
|
464
|
+
console.log('final Media newInboxMessageData push:', newInboxMessageData);
|
|
465
|
+
console.log('==================================================',);
|
|
466
|
+
} catch (error) {
|
|
467
|
+
console.error('Error fetching media data:', error);
|
|
468
|
+
}
|
|
469
|
+
});
|
|
225
470
|
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
471
|
+
// Wait for all asynchronous operations to complete before returning
|
|
472
|
+
return new Promise((resolve) => {
|
|
473
|
+
setTimeout(() => {
|
|
474
|
+
resolve(newInboxMessageData);
|
|
475
|
+
console.log('Media newInboxMessageData promise:', newInboxMessageData);
|
|
476
|
+
}, 500); //millisecond
|
|
229
477
|
});
|
|
230
|
-
}
|
|
231
478
|
|
|
232
|
-
|
|
233
|
-
const getInboxMessageForId = () => {
|
|
234
|
-
const messageId = "df73e314-2a61-4615-9fa5-348419e3fc82";
|
|
235
|
-
const userIds = ['1232323' , 'kuOEN8bCqdrROmJPVCeKSg=='];
|
|
479
|
+
}
|
|
236
480
|
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
481
|
+
async function getFilteredData(newData: string, category: string, limit: number, offset: number | undefined) {
|
|
482
|
+
const jsonArray = JSON.parse(newData);
|
|
483
|
+
if (!jsonArray || !Array.isArray(jsonArray)) {
|
|
484
|
+
console.error('Invalid jsonArray:', jsonArray);
|
|
485
|
+
return null;
|
|
240
486
|
}
|
|
241
487
|
|
|
242
|
-
|
|
488
|
+
// Convert the provided category to lowercase for case-insensitive comparison
|
|
489
|
+
const lowerCaseCategory = category.toLowerCase();
|
|
243
490
|
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
const
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
}
|
|
250
|
-
|
|
491
|
+
// Count occurrences of each category with original case for the entire array
|
|
492
|
+
const categoryCount = jsonArray.reduce((acc, item) => {
|
|
493
|
+
const categoryName = item?.cdata?.category; // Added null checks
|
|
494
|
+
if (categoryName) {
|
|
495
|
+
acc[categoryName] = (acc[categoryName] || 0) + 1;
|
|
496
|
+
}
|
|
497
|
+
return acc;
|
|
498
|
+
}, {});
|
|
251
499
|
|
|
252
|
-
|
|
500
|
+
// Ensure that "chip A" and "chip B" are in the count array, even if they are not present in the filtered array
|
|
501
|
+
["Offers & Promotions", "Bank Communications"].forEach(chip => {
|
|
502
|
+
if (!categoryCount[chip]) {
|
|
503
|
+
categoryCount[chip] = 0;
|
|
504
|
+
}
|
|
505
|
+
});
|
|
506
|
+
|
|
507
|
+
// Filter the array based on the provided category (case-insensitive)
|
|
508
|
+
const filteredArray = jsonArray.filter(item => item?.cdata?.category?.toLowerCase() === lowerCaseCategory);
|
|
509
|
+
console.log("slicedArray filteredArray " +filteredArray);
|
|
510
|
+
|
|
511
|
+
// Apply limit and offset to the filtered array
|
|
512
|
+
const slicedArray = filteredArray.slice(offset, offset + limit);
|
|
513
|
+
console.log("slicedArray " + JSON.stringify(slicedArray));
|
|
514
|
+
|
|
515
|
+
// Prepare the result object without assigning new values
|
|
516
|
+
const result = {
|
|
517
|
+
count: Object.entries(categoryCount).map(([key, value]) => ({ [key]: value })),
|
|
518
|
+
inboxData: await getMediaDataKeys(slicedArray)
|
|
519
|
+
/*slicedArray.map(item => ({
|
|
520
|
+
cdata: item?.cdata,
|
|
521
|
+
campId: item?.campId,
|
|
522
|
+
campType: item?.campType,
|
|
523
|
+
icon: item?.icon,
|
|
524
|
+
id: item?.id,
|
|
525
|
+
message: item?.message,
|
|
526
|
+
messageExpiryTime: item?.messageExpiryTime,
|
|
527
|
+
messageLanguage: item?.messageLanguage,
|
|
528
|
+
messageStatus: item?.messageStatus,
|
|
529
|
+
title: item?.title
|
|
530
|
+
|
|
531
|
+
}))*/
|
|
532
|
+
};
|
|
533
|
+
console.log("filtered data " + JSON.stringify(result));
|
|
534
|
+
return result;
|
|
535
|
+
}
|
|
253
536
|
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
537
|
+
|
|
538
|
+
const getMessageCount = () => {
|
|
539
|
+
const userId = ['16084015600'];
|
|
540
|
+
const count = getMessageCounts(1, userId, 10, (result: number) => {
|
|
541
|
+
Alert.alert(`getMessageCounts count : \n ${result}`);
|
|
542
|
+
})
|
|
543
|
+
}
|
|
544
|
+
function getMessageCounts(type: number, userids:string[], timeout: number, callback: { (result: number): void; (arg0: any): void; }) {
|
|
545
|
+
AppICE.synchronizeInbox(timeout, (res: any) => {
|
|
546
|
+
if (res) {
|
|
547
|
+
console.log("getMessageCounts inside the sync type = "+type+", userid = "+userids)
|
|
548
|
+
AppICE.getMessageCount(1, userids, (res: string) => {
|
|
549
|
+
if (res) {
|
|
550
|
+
console.log("getMessageCounts inside the sync res = "+res)
|
|
551
|
+
callback(res);
|
|
552
|
+
}
|
|
553
|
+
});
|
|
554
|
+
} else {
|
|
555
|
+
console.log("getMessageCounts outside the sync type = "+type+", userid = "+userids)
|
|
556
|
+
console.log("inbox is not synced with server, showing old stored data")
|
|
557
|
+
AppICE.getMessageCount(1, userids, (res: any) => {
|
|
558
|
+
if (res) {
|
|
559
|
+
callback(res);
|
|
560
|
+
}
|
|
262
561
|
});
|
|
562
|
+
}
|
|
563
|
+
})
|
|
564
|
+
}
|
|
565
|
+
|
|
566
|
+
const getInboxMessageForId = () => {
|
|
567
|
+
const messageId = "2808bed2-11e7-4352-ac5a-b22a7dec9ca5";
|
|
568
|
+
const useIds = 'kuOEN8bCqdrROmJPVCeKSg==';
|
|
263
569
|
|
|
570
|
+
AppICE.getInboxMessageForId(messageId, useIds, (inboxMessage: any) => {
|
|
571
|
+
console.log('getInboxMessageForId in JS:', inboxMessage);
|
|
572
|
+
});
|
|
573
|
+
}
|
|
574
|
+
|
|
575
|
+
const updateInboxMessage = () => {
|
|
576
|
+
const messageId = "13f6a43b-6618-4918-addf-d9d341984e23";
|
|
577
|
+
updatedInboxMessage(messageId, 3, 'kuOEN8bCqdrROmJPVCeKSg==', (result: boolean) => {
|
|
578
|
+
Alert.alert('Update Inbox Message:', `Entered value: ${inputValue} \n ${result}`);
|
|
579
|
+
});
|
|
580
|
+
}
|
|
581
|
+
function updatedInboxMessage(messageId: string, type: number, userid: string, callback: { (result: boolean): void; (arg0: any): void; }) {
|
|
582
|
+
AppICE.updateInboxMessage(messageId, type, userid, (res: boolean) => {
|
|
583
|
+
callback(res);
|
|
584
|
+
console.log("updateInboxMessage res : " + res)
|
|
264
585
|
});
|
|
265
586
|
}
|
|
266
587
|
|
|
267
|
-
|
|
588
|
+
const synchronizeInbox = () => {
|
|
589
|
+
AppICE.synchronizeInbox(10, (success: boolean) => {
|
|
590
|
+
console.log('Inbox synchronization success:', success);
|
|
591
|
+
const useIds = ['16084015600'];
|
|
592
|
+
AppICE.getInboxMessages( 1, useIds, (inboxMessages: any[]) => {
|
|
593
|
+
console.log('Inbox Messages:', inboxMessages);
|
|
594
|
+
});
|
|
595
|
+
|
|
596
|
+
});
|
|
597
|
+
}
|
|
598
|
+
|
|
599
|
+
const getUserData = () => {
|
|
268
600
|
AppICE.synchronizeData(10,(success: boolean) => {
|
|
269
601
|
console.log('Profile synchronization success:', success);
|
|
270
602
|
Alert.alert(`synchronizeData: \n ${success}`);
|
|
271
|
-
const userIds = ['
|
|
272
|
-
AppICE.getUserForIds(userIds, (res:any
|
|
603
|
+
const userIds = ['16084015600'];
|
|
604
|
+
AppICE.getUserForIds(userIds, (res:any) => {
|
|
273
605
|
|
|
274
606
|
console.log('Receive getUser:', res);
|
|
607
|
+
Alert.alert('Receive getUser Alert:' + JSON.stringify(res));
|
|
275
608
|
for (var index = 0; index < res.length; index++) {
|
|
276
609
|
let userData = res[index];
|
|
277
610
|
console.log('Received Inbox:', userData);
|
|
@@ -286,25 +619,42 @@ const getMessageCount = () => {
|
|
|
286
619
|
const marriage = userData[AppICE.married];
|
|
287
620
|
const isEmployed = userData[AppICE.isEmployed];
|
|
288
621
|
|
|
289
|
-
console.log('GetUser
|
|
290
|
-
console.log('GetUser
|
|
622
|
+
console.log('GetUser Name:', name);
|
|
623
|
+
console.log('GetUser PHONE:', phone);
|
|
291
624
|
console.log('GetUser gender:', gender);
|
|
292
625
|
console.log('GetUser dob:', dob);
|
|
293
|
-
console.log('GetUser
|
|
626
|
+
console.log('GetUser edt:', edt);
|
|
294
627
|
console.log('GetUser email:', email);
|
|
295
628
|
console.log('GetUser employment:', employment);
|
|
296
629
|
console.log('GetUser age:', age);
|
|
297
630
|
console.log('GetUser marriage:', marriage);
|
|
298
|
-
console.log('GetUser
|
|
631
|
+
console.log('GetUser ISEMPLOYED:', isEmployed);
|
|
299
632
|
|
|
300
633
|
|
|
301
634
|
const customProperties = userData[AppICE.DEMOGRAPHIC_INFO];
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
635
|
+
const customPropertiesObj = JSON.parse(customProperties);
|
|
636
|
+
console.log("customPropertiesObj "+customPropertiesObj);
|
|
637
|
+
|
|
638
|
+
console.log("user Profile, top_n_product_viewed = "+customPropertiesObj[AppICE.TOP_N_PRODUCTS_VIEWED]);
|
|
639
|
+
|
|
640
|
+
|
|
641
|
+
|
|
642
|
+
}
|
|
306
643
|
});
|
|
644
|
+
|
|
645
|
+
|
|
307
646
|
});
|
|
308
647
|
}
|
|
309
648
|
|
|
649
|
+
|
|
310
650
|
export default HelloWorldApp;
|
|
651
|
+
|
|
652
|
+
function showAlert(arg0: string, arg1: string) {
|
|
653
|
+
throw new Error('Function not implemented.');
|
|
654
|
+
}
|
|
655
|
+
|
|
656
|
+
|
|
657
|
+
function callback(arg0: string) {
|
|
658
|
+
throw new Error('Function not implemented.');
|
|
659
|
+
}
|
|
660
|
+
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
@@ -20,6 +20,16 @@ buildscript {
|
|
|
20
20
|
repositories {
|
|
21
21
|
google()
|
|
22
22
|
mavenCentral()
|
|
23
|
+
maven {
|
|
24
|
+
url "https://gitlab.com/api/v4/projects/10636887/packages/maven"
|
|
25
|
+
credentials(HttpHeaderCredentials) {
|
|
26
|
+
name = "Deploy-Token"
|
|
27
|
+
value = "PJMsxXdArqsmqDx4x5B6"
|
|
28
|
+
}
|
|
29
|
+
authentication {
|
|
30
|
+
header(HttpHeaderAuthentication)
|
|
31
|
+
}
|
|
32
|
+
}
|
|
23
33
|
}
|
|
24
34
|
dependencies {
|
|
25
35
|
classpath("com.android.tools.build:gradle:7.1.1")
|
|
@@ -49,5 +59,15 @@ allprojects {
|
|
|
49
59
|
}
|
|
50
60
|
google()
|
|
51
61
|
maven { url 'https://www.jitpack.io' }
|
|
62
|
+
maven {
|
|
63
|
+
url "https://gitlab.com/api/v4/projects/10636887/packages/maven"
|
|
64
|
+
credentials(HttpHeaderCredentials) {
|
|
65
|
+
name = "Deploy-Token"
|
|
66
|
+
value = "PJMsxXdArqsmqDx4x5B6"
|
|
67
|
+
}
|
|
68
|
+
authentication {
|
|
69
|
+
header(HttpHeaderAuthentication)
|
|
70
|
+
}
|
|
71
|
+
}
|
|
52
72
|
}
|
|
53
73
|
}
|
package/ios/AppIceReactPlugin.m
CHANGED
|
@@ -209,7 +209,7 @@ RCT_EXPORT_METHOD(setUser:(NSDictionary*)userProfile)
|
|
|
209
209
|
app.age = [userProfile[items[i] ]intValue];
|
|
210
210
|
break;
|
|
211
211
|
case 6:
|
|
212
|
-
app.is_user_employed = userProfile[items[i]];
|
|
212
|
+
app.is_user_employed = [userProfile[items[i]]boolValue];
|
|
213
213
|
break;
|
|
214
214
|
case 7:
|
|
215
215
|
app.employment_type = userProfile[items[i]];
|
|
@@ -218,7 +218,7 @@ RCT_EXPORT_METHOD(setUser:(NSDictionary*)userProfile)
|
|
|
218
218
|
app.education_type = userProfile[items[i]];
|
|
219
219
|
break;
|
|
220
220
|
case 9:
|
|
221
|
-
app.is_user_married = userProfile[items[i]];
|
|
221
|
+
app.is_user_married = [userProfile[items[i]]boolValue];
|
|
222
222
|
break;
|
|
223
223
|
default:
|
|
224
224
|
break;
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
## This file must *NOT* be checked into Version Control Systems,
|
|
2
|
-
# as it contains information specific to your local configuration.
|
|
3
|
-
#
|
|
4
|
-
# Location of the SDK. This is only used by Gradle.
|
|
5
|
-
# For customization when using a Version Control System, please read the
|
|
6
|
-
# header note.
|
|
7
|
-
#Thu Feb 01 13:23:35 IST 2024
|
|
8
|
-
sdk.dir=/Users/amit/Library/Android/sdk
|