reactnative-plugin-appice 1.3.0 → 1.4.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.
Files changed (197) hide show
  1. package/README.md +1 -59
  2. package/android/build.gradle +14 -54
  3. package/android/libs/logutility.jar +0 -0
  4. package/android/local.properties +2 -2
  5. package/android/src/main/AndroidManifest.xml +21 -124
  6. package/android/src/main/java/com/reactlibrary/AppICEUtils.java +38 -0
  7. package/android/src/main/java/com/reactlibrary/AppIceReactPluginModule.java +330 -78
  8. package/android/src/main/java/com/reactlibrary/CampaignCampsReceiver.java +20 -3
  9. package/android/src/main/java/com/reactlibrary/InAppWebView.java +68 -0
  10. package/android/src/main/java/com/reactlibrary/NotificationEventService.java +0 -0
  11. package/android/src/main/java/com/reactlibrary/React-Native workspace.code-workspace +29 -0
  12. package/example/App.js +130 -0
  13. package/example/Gemfile +6 -0
  14. package/example/__tests__/App-test.js +14 -0
  15. package/example/android/app/_BUCK +55 -0
  16. package/example/android/app/build.gradle +320 -0
  17. package/example/android/app/build_defs.bzl +19 -0
  18. package/example/android/app/debug.keystore +0 -0
  19. package/example/android/app/proguard-rules.pro +10 -0
  20. package/example/android/app/src/debug/AndroidManifest.xml +13 -0
  21. package/example/android/app/src/debug/java/com/example/ReactNativeFlipper.java +73 -0
  22. package/example/android/app/src/main/AndroidManifest.xml +72 -0
  23. package/example/android/app/src/main/java/com/example/MainActivity.java +48 -0
  24. package/example/android/app/src/main/java/com/example/MainApplication.java +91 -0
  25. package/example/android/app/src/main/java/com/example/newarchitecture/MainApplicationReactNativeHost.java +116 -0
  26. package/example/android/app/src/main/java/com/example/newarchitecture/components/MainComponentsRegistry.java +36 -0
  27. package/example/android/app/src/main/java/com/example/newarchitecture/modules/MainApplicationTurboModuleManagerDelegate.java +48 -0
  28. package/example/android/app/src/main/jni/Android.mk +48 -0
  29. package/example/android/app/src/main/jni/MainApplicationModuleProvider.cpp +24 -0
  30. package/example/android/app/src/main/jni/MainApplicationModuleProvider.h +16 -0
  31. package/example/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp +45 -0
  32. package/example/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h +38 -0
  33. package/example/android/app/src/main/jni/MainComponentsRegistry.cpp +61 -0
  34. package/example/android/app/src/main/jni/MainComponentsRegistry.h +32 -0
  35. package/example/android/app/src/main/jni/OnLoad.cpp +11 -0
  36. package/example/android/app/src/main/res/drawable/rn_edit_text_material.xml +36 -0
  37. package/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  38. package/example/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
  39. package/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  40. package/example/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
  41. package/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  42. package/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
  43. package/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  44. package/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  45. package/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  46. package/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  47. package/example/android/app/src/main/res/values/strings.xml +3 -0
  48. package/example/android/app/src/main/res/values/styles.xml +9 -0
  49. package/example/android/build.gradle +53 -0
  50. package/example/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  51. package/example/android/gradle/wrapper/gradle-wrapper.properties +5 -0
  52. package/example/android/gradle.properties +40 -0
  53. package/example/android/gradlew +234 -0
  54. package/example/android/gradlew.bat +89 -0
  55. package/example/android/settings.gradle +11 -0
  56. package/example/app.json +4 -0
  57. package/example/babel.config.js +3 -0
  58. package/example/index.js +9 -0
  59. package/example/ios/Podfile +36 -0
  60. package/example/ios/Podfile.lock +561 -0
  61. package/example/ios/_xcode.env +11 -0
  62. package/example/ios/example/AppDelegate.h +8 -0
  63. package/example/ios/example/AppDelegate.mm +175 -0
  64. package/example/ios/example/Images.xcassets/AppIcon.appiconset/Contents.json +53 -0
  65. package/example/ios/example/Images.xcassets/Contents.json +6 -0
  66. package/example/ios/example/Info.plist +62 -0
  67. package/example/ios/example/LaunchScreen.storyboard +47 -0
  68. package/example/ios/example/example.entitlements +8 -0
  69. package/example/ios/example/main.m +10 -0
  70. package/example/ios/example.xcodeproj/project.pbxproj +712 -0
  71. package/example/ios/example.xcodeproj/xcshareddata/xcschemes/example.xcscheme +88 -0
  72. package/example/ios/example.xcworkspace/contents.xcworkspacedata +10 -0
  73. package/example/ios/example.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  74. package/example/ios/exampleTests/Info.plist +24 -0
  75. package/example/ios/exampleTests/exampleTests.m +66 -0
  76. package/example/metro.config.js +17 -0
  77. package/example/package-lock.json +21443 -0
  78. package/example/package.json +33 -0
  79. package/example/yarn.lock +7238 -0
  80. package/index.js +99 -3
  81. package/ios/AppICEReactEvent.h +22 -0
  82. package/ios/AppICEReactEvent.m +65 -0
  83. package/ios/AppICESDK/appICE.momd/VersionInfo.plist +0 -0
  84. package/ios/AppICESDK/appICE.momd/appICE 4.mom +0 -0
  85. package/ios/AppICESDK/appICE.momd/appICE 4.omo +0 -0
  86. package/ios/AppICESDK/appICEBundle.bundle/APPChildViewController.nib +0 -0
  87. package/ios/AppICESDK/appICEBundle.bundle/HAlfFooterNOTINAppViewController.nib +0 -0
  88. package/ios/AppICESDK/appICEBundle.bundle/HAlfHeaderINAppViewController.nib +0 -0
  89. package/ios/AppICESDK/appICEBundle.bundle/HAlfINAppViewController.nib +0 -0
  90. package/ios/AppICESDK/appICEBundle.bundle/INAppViewController.nib/objects-11.0+.nib +0 -0
  91. package/ios/AppICESDK/appICEBundle.bundle/INAppViewController.nib/runtime.nib +0 -0
  92. package/ios/AppICESDK/appICEBundle.bundle/Info.plist +0 -0
  93. package/ios/AppICESDK/appICEBundle.bundle/RatingViewController.nib +0 -0
  94. package/ios/AppICESDK/appICEBundle.bundle/SurveyViewController.nib +0 -0
  95. package/ios/AppICESDK/include/iosAppiceSDK/AppICEHelper.h +77 -0
  96. package/ios/AppICESDK/include/iosAppiceSDK/AppICEInboxMessage.h +1 -0
  97. package/ios/AppICESDK/include/iosAppiceSDK/AppICEJSInterface.h +21 -0
  98. package/ios/AppICESDK/include/iosAppiceSDK/appICE.h +68 -22
  99. package/ios/AppICESDK/include/iosAppiceSDK/appICEUserDetails.h +6 -0
  100. package/ios/AppICESDK/include/iosAppiceSDK/isrgrootx1.der +0 -0
  101. package/ios/AppICESDK/include/iosAppiceSDK/lets-encrypt-r3.der +0 -0
  102. package/ios/AppICESDK/{libiosAppiceSDK_v1.7.15.a → libiosAppiceSDK_v1.7.37.a} +0 -0
  103. package/ios/AppIceReactPlugin.h +15 -2
  104. package/ios/AppIceReactPlugin.m +91 -14
  105. package/ios/AppIceReactPlugin.xcodeproj/project.pbxproj +67 -55
  106. package/package.json +3 -2
  107. package/android/.gradle/5.4.1/executionHistory/executionHistory.bin +0 -0
  108. package/android/.gradle/5.4.1/executionHistory/executionHistory.lock +0 -0
  109. package/android/.gradle/5.4.1/fileChanges/last-build.bin +0 -0
  110. package/android/.gradle/5.4.1/fileHashes/fileHashes.bin +0 -0
  111. package/android/.gradle/5.4.1/fileHashes/fileHashes.lock +0 -0
  112. package/android/.gradle/5.4.1/gc.properties +0 -0
  113. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  114. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  115. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  116. package/android/.gradle/vcs-1/gc.properties +0 -0
  117. package/android/.idea/caches/build_file_checksums.ser +0 -0
  118. package/android/.idea/caches/gradle_models.ser +0 -0
  119. package/android/.idea/codeStyles/Project.xml +0 -116
  120. package/android/.idea/dictionaries/Adi.xml +0 -3
  121. package/android/.idea/gradle.xml +0 -16
  122. package/android/.idea/libraries/Gradle____local_aars____Users_Adi_ReactModule_AppICEReactLibrary_android_libs_AppICE_SDK_v2_4_18_jar_unspecified_jar.xml +0 -9
  123. package/android/.idea/libraries/Gradle____local_aars____Users_Adi_ReactModule_AppICEReactLibrary_android_libs_logutility_jar_unspecified_jar.xml +0 -9
  124. package/android/.idea/libraries/Gradle__android_arch_core_common_1_0_0_jar.xml +0 -11
  125. package/android/.idea/libraries/Gradle__android_arch_lifecycle_common_1_0_0_jar.xml +0 -11
  126. package/android/.idea/libraries/Gradle__android_arch_lifecycle_runtime_1_0_0_aar.xml +0 -12
  127. package/android/.idea/libraries/Gradle__com_android_support_appcompat_v7_23_0_1_aar.xml +0 -15
  128. package/android/.idea/libraries/Gradle__com_android_support_customtabs_26_1_0_aar.xml +0 -12
  129. package/android/.idea/libraries/Gradle__com_android_support_recyclerview_v7_23_0_1_aar.xml +0 -12
  130. package/android/.idea/libraries/Gradle__com_android_support_support_annotations_23_0_1_jar.xml +0 -11
  131. package/android/.idea/libraries/Gradle__com_android_support_support_annotations_26_1_0_jar.xml +0 -11
  132. package/android/.idea/libraries/Gradle__com_android_support_support_compat_26_1_0_aar.xml +0 -12
  133. package/android/.idea/libraries/Gradle__com_android_support_support_core_ui_26_1_0_aar.xml +0 -12
  134. package/android/.idea/libraries/Gradle__com_android_support_support_core_utils_26_1_0_aar.xml +0 -12
  135. package/android/.idea/libraries/Gradle__com_android_support_support_fragment_26_1_0_aar.xml +0 -12
  136. package/android/.idea/libraries/Gradle__com_android_support_support_media_compat_26_1_0_aar.xml +0 -12
  137. package/android/.idea/libraries/Gradle__com_android_support_support_v4_23_0_1_aar.xml +0 -16
  138. package/android/.idea/libraries/Gradle__com_android_support_support_v4_26_1_0_aar.xml +0 -12
  139. package/android/.idea/libraries/Gradle__com_facebook_fresco_drawee_0_8_1_aar.xml +0 -12
  140. package/android/.idea/libraries/Gradle__com_facebook_fresco_fbcore_0_8_1_aar.xml +0 -12
  141. package/android/.idea/libraries/Gradle__com_facebook_fresco_fresco_0_8_1_aar.xml +0 -12
  142. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_0_8_1_aar.xml +0 -12
  143. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_okhttp_0_8_1_aar.xml +0 -12
  144. package/android/.idea/libraries/Gradle__com_facebook_react_react_native_0_20_1_aar.xml +0 -16
  145. package/android/.idea/libraries/Gradle__com_facebook_stetho_stetho_1_2_0_jar.xml +0 -11
  146. package/android/.idea/libraries/Gradle__com_facebook_stetho_stetho_okhttp_1_2_0_jar.xml +0 -11
  147. package/android/.idea/libraries/Gradle__com_fasterxml_jackson_core_jackson_core_2_2_3_jar.xml +0 -11
  148. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_ads_16_0_0_aar.xml +0 -10
  149. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_ads_base_16_0_0_aar.xml +0 -10
  150. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_ads_identifier_16_0_0_aar.xml +0 -10
  151. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_ads_lite_16_0_0_aar.xml +0 -10
  152. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_base_16_0_1_aar.xml +0 -10
  153. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_basement_16_2_0_aar.xml +0 -12
  154. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_gass_16_0_0_aar.xml +0 -10
  155. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_location_16_0_0_aar.xml +0 -10
  156. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_measurement_16_5_0_aar.xml +0 -12
  157. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_measurement_api_16_5_0_aar.xml +0 -12
  158. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_measurement_base_16_5_0_aar.xml +0 -12
  159. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_measurement_impl_16_5_0_aar.xml +0 -12
  160. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_measurement_sdk_16_5_0_aar.xml +0 -12
  161. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_measurement_sdk_api_16_5_0_aar.xml +0 -12
  162. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_places_placereport_16_0_0_aar.xml +0 -10
  163. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_stats_16_0_1_aar.xml +0 -10
  164. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_tasks_16_0_1_aar.xml +0 -10
  165. package/android/.idea/libraries/Gradle__com_google_auto_value_auto_value_annotations_1_6_3_jar.xml +0 -13
  166. package/android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_3_0_0_jar.xml +0 -11
  167. package/android/.idea/libraries/Gradle__com_google_firebase_firebase_analytics_16_5_0_aar.xml +0 -12
  168. package/android/.idea/libraries/Gradle__com_google_firebase_firebase_common_17_0_0_aar.xml +0 -12
  169. package/android/.idea/libraries/Gradle__com_google_firebase_firebase_core_16_0_9_aar.xml +0 -12
  170. package/android/.idea/libraries/Gradle__com_google_firebase_firebase_iid_18_0_0_aar.xml +0 -12
  171. package/android/.idea/libraries/Gradle__com_google_firebase_firebase_iid_interop_16_0_1_aar.xml +0 -10
  172. package/android/.idea/libraries/Gradle__com_google_firebase_firebase_measurement_connector_17_0_1_aar.xml +0 -10
  173. package/android/.idea/libraries/Gradle__com_google_firebase_firebase_messaging_18_0_0_aar.xml +0 -12
  174. package/android/.idea/libraries/Gradle__com_nineoldandroids_library_2_4_0_jar.xml +0 -11
  175. package/android/.idea/libraries/Gradle__com_parse_bolts_bolts_android_1_1_4_jar.xml +0 -11
  176. package/android/.idea/libraries/Gradle__com_squareup_okhttp_okhttp_2_5_0_jar.xml +0 -11
  177. package/android/.idea/libraries/Gradle__com_squareup_okhttp_okhttp_ws_2_5_0_jar.xml +0 -11
  178. package/android/.idea/libraries/Gradle__com_squareup_okio_okio_1_6_0_jar.xml +0 -11
  179. package/android/.idea/libraries/Gradle__commons_cli_commons_cli_1_2_jar.xml +0 -11
  180. package/android/.idea/libraries/Gradle__org_webkit_android_jsc_r174650_aar.xml +0 -10
  181. package/android/.idea/misc.xml +0 -23
  182. package/android/.idea/modules.xml +0 -8
  183. package/android/.idea/runConfigurations.xml +0 -12
  184. package/android/.idea/workspace.xml +0 -322
  185. package/android/build/generated/source/buildConfig/androidTest/debug/com/reactlibrary/test/BuildConfig.java +0 -13
  186. package/android/build/generated/source/buildConfig/debug/com/reactlibrary/BuildConfig.java +0 -13
  187. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml +0 -170
  188. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output.json +0 -1
  189. package/android/build/intermediates/library_manifest/debug/AndroidManifest.xml +0 -170
  190. package/android/build/intermediates/merged_manifests/debug/output.json +0 -1
  191. package/android/build/intermediates/merged_manifests/debugAndroidTest/AndroidManifest.xml +0 -250
  192. package/android/build/intermediates/merged_manifests/debugAndroidTest/output.json +0 -1
  193. package/android/build/outputs/logs/manifest-merger-debug-report.txt +0 -307
  194. package/android/libs/AppICE_SDK_v2.4.18.jar +0 -0
  195. package/ios/.DS_Store +0 -0
  196. package/ios/AppICESDK/appICEBundle.bundle/INAppViewController.nib +0 -0
  197. package/ios/AppICESDK/include/iosAppiceSDK/appICEDB.h +0 -52
@@ -8,30 +8,55 @@ import android.content.pm.ResolveInfo;
8
8
  import com.facebook.react.bridge.ReactApplicationContext;
9
9
  import com.facebook.react.bridge.ReactContextBaseJavaModule;
10
10
  import com.facebook.react.bridge.ReactMethod;
11
- import com.facebook.react.bridge.Callback;
12
11
  import com.facebook.react.bridge.ReadableMap;
13
12
  import com.facebook.react.bridge.ReadableMapKeySetIterator;
14
13
  import com.facebook.react.bridge.ReadableType;
15
14
 
15
+ import android.util.Log;
16
+
16
17
  import java.util.HashMap;
17
18
  import java.util.List;
18
- import java.util.Map;
19
19
 
20
20
  import semusi.activitysdk.Api;
21
21
  import semusi.activitysdk.ContextSdk;
22
22
  import semusi.activitysdk.SdkConfig;
23
23
  import semusi.activitysdk.User;
24
- import semusi.context.utility.Utility;
25
24
 
26
- public class AppIceReactPluginModule extends ReactContextBaseJavaModule {
25
+ import java.util.*;
26
+
27
+ //import semusi.context.utility.Utility;
28
+ import androidx.annotation.NonNull;
29
+ import androidx.annotation.Nullable;
30
+
31
+ import com.facebook.react.bridge.ReadableArray;
32
+ import com.facebook.react.bridge.WritableMap;
33
+ import com.facebook.react.modules.core.DeviceEventManagerModule;
27
34
 
28
- private final ReactApplicationContext reactContext;
35
+ import org.json.JSONArray;
36
+ import org.json.JSONException;
37
+ import org.json.JSONObject;
38
+
39
+ public class AppIceReactPluginModule extends ReactContextBaseJavaModule {
40
+ private static ReactApplicationContext context = null;
41
+ private static final String TAG = "AppIceReactPluginModule";
42
+ private static final String APPICE_USER_NAME = "n";
43
+ private static final String APPICE_USER_PHONE = "ph";
44
+ private static final String APPICE_USER_EMAIL = "em";
45
+ private static final String dateOfBirth = "dob";
46
+ private static final String APPICE_USER_AGE = "a";
47
+ private static final String APPICE_USER_EDUCATION = "ed";
48
+ private static final String APPICE_USER_GENDER = "g";
49
+ private static final String APPICE_USER_IS_EMPLOYED = "is_emp";
50
+ private static final String APPICE_USER_EMPLOYMENT_TYPE = "et";
51
+ private static final String APPICE_USER_MARRIED = "m";
52
+ private static final String APPICE_PUSH_NOTIFICATION_CLICKED = "AppICEPushNotificationClicked";
29
53
 
30
54
  public AppIceReactPluginModule(ReactApplicationContext reactContext) {
31
55
  super(reactContext);
32
- this.reactContext = reactContext;
56
+ context = reactContext;
33
57
  }
34
58
 
59
+ @NonNull
35
60
  @Override
36
61
  public String getName() {
37
62
  return "AppIceReactPlugin";
@@ -41,53 +66,69 @@ public class AppIceReactPluginModule extends ReactContextBaseJavaModule {
41
66
  * @param appID
42
67
  * @param appKey
43
68
  * @param apiKey
69
+ * @param region
70
+ * @param baseUrl
71
+ * @param certs
44
72
  */
73
+ //appID, appKey, apiKey, gcmID, region, baseUrl, certs,success, error
45
74
  @ReactMethod
46
- public void startContext(String appID, String appKey, String apiKey,String deviceID){
75
+ public void startContext(String appID, String appKey, String apiKey, String deviceID,
76
+ String region, String baseUrl, ReadableArray certs
77
+ ) {
47
78
  Context context = getReactApplicationContext();
48
- // Utility.loginfo("in startContext : appID : "+appID+", appkey : "+appKey+", apiKey : "+apiKey);
49
-
79
+ Log.d(TAG, "in startContext : appID : " + appID + ", appkey : " + appKey + ", apiKey : " + apiKey);
50
80
  try {
51
81
  SdkConfig config = new SdkConfig();
52
82
  config.setAnalyticsTrackingAllowedState(true);
53
83
 
54
- Api.initSdk(appID,appKey,apiKey,context);
55
- Api.startContext(context,config);
56
- }catch (Exception e){
57
- // Utility.loginfo("Exception in startContext : "+e);
84
+ System.out.println(certs.toString());
85
+ //readaableArray can not read by java so converting it to list type array
86
+ List<String> certList = new ArrayList<String>(certs.size());
87
+
88
+ for (int i = 0; i < certs.size(); i++) {
89
+
90
+ certList.add(certs.getString(i));
91
+ }
92
+
93
+
94
+ //as per new upgradation 27 jul 21r
95
+ Api.initSdk(appID, appKey, apiKey, region, baseUrl
96
+ , certList
97
+ , context);
98
+
99
+ Api.startContext(context, config);
100
+
101
+ } catch (Exception e) {
102
+ Log.d(TAG, "Exception in startContext : " + e);
58
103
  }
59
104
  }
60
105
 
61
-
62
106
  /**
63
107
  * @param eventName
64
108
  */
65
109
  @ReactMethod
66
- public void tagEvent(String eventName, ReadableMap props){
110
+ public void tagEvent(String eventName, ReadableMap props) {
67
111
  Context context = getReactApplicationContext();
68
112
  try {
69
- HashMap<String,Object> mapData = eventPropsFromReadableMap(props);
70
- if (eventName != null && eventName.length()>0) {
113
+ HashMap<String, Object> mapData = eventPropsFromReadableMap(props);
114
+ if (eventName != null && eventName.length() > 0) {
71
115
  ContextSdk.tagEventObj(eventName, mapData, context);
72
- // Utility.loginfo("recordEvent key : "+eventName);
73
116
  }
74
117
  } catch (Exception e) {
75
- // Utility.loginfo("Exception in tagEvent : "+e);
118
+ Log.d(TAG, "Exception in tagEvent : " + e);
76
119
  }
77
120
  }
78
121
 
79
- /**
80
- * @param props
81
- */
122
+
82
123
  @ReactMethod
83
- public void setCustomVariable(String eventName, String value){
124
+ public void setCustomVariable(String eventName, String value) {
84
125
  Context context = getReactApplicationContext();
85
126
  try {
86
127
  if (value != null) {
87
128
  ContextSdk.setCustomVariable(eventName, (String) value, context);
88
129
  }
89
- }catch (Exception e){
90
- // Utility.loginfo("Exception in customVar : "+e);
130
+ } catch (Exception e) {
131
+ Log.d(TAG, "Exception in customVar : " + e);
91
132
  }
92
133
  }
93
134
 
@@ -95,7 +136,7 @@ public class AppIceReactPluginModule extends ReactContextBaseJavaModule {
95
136
  * @return
96
137
  */
97
138
  @ReactMethod
98
- private void validateIntegration(){
139
+ private void validateIntegration() {
99
140
  try {
100
141
  Context ctx = getReactApplicationContext();
101
142
  PackageManager pm = ctx.getPackageManager();
@@ -104,53 +145,291 @@ public class AppIceReactPluginModule extends ReactContextBaseJavaModule {
104
145
  receiverIntent.setClass(ctx, CampaignCampsReceiver.class);
105
146
  List<ResolveInfo> receivers = pm.queryBroadcastReceivers(receiverIntent, 0);
106
147
  if (receivers == null || receivers.size() <= 0) {
107
- // Utility.loginfo("Missing Receiver entry in AndroidManifest : CampaignCampsReceiver");
148
+ Log.d(TAG, "Missing Receiver entry in AndroidManifest : CampaignCampsReceiver");
108
149
  }
109
150
  Intent serviceIntent = new Intent();
110
151
  serviceIntent.setClass(ctx, NotificationEventService.class);
111
152
  ResolveInfo services = pm.resolveService(serviceIntent, 0);
112
153
  if (services == null) {
113
- // Utility.loginfo("Missing Service entry in AndroidManifest : NotificationEventService");
154
+ Log.d(TAG, "Missing Service entry in AndroidManifest : NotificationEventService");
114
155
  }
115
156
 
116
157
  ContextSdk sdk = new ContextSdk(ctx);
117
158
  if (sdk.getAppId() == null || sdk.getAppId().length() <= 0 || sdk.getAppId().trim().length() <= 0) {
118
- // Utility.loginfo("Missing Meta-data entry : AppID");
159
+ Log.d(TAG, "Missing Meta-data entry : AppID");
119
160
  }
120
161
 
121
162
  if (sdk.getAppKey() == null || sdk.getAppKey().length() <= 0 || sdk.getAppKey().trim().length() <= 0) {
122
- // Utility.loginfo("Missing Meta-data entry : AppKey");
163
+ Log.d(TAG, "Missing Meta-data entry : AppKey");
123
164
  }
124
165
 
125
166
  if (sdk.getApiKey() == null || sdk.getApiKey().length() <= 0 || sdk.getApiKey().trim().length() <= 0) {
126
- // Utility.loginfo("Missing Meta-data entry : ApiKey");
167
+ Log.d(TAG, "Missing Meta-data entry : ApiKey");
127
168
  }
128
169
  } catch (Exception e) {
129
- e.printStackTrace();
130
- // Utility.loginfo(e.getMessage());
170
+ Log.d(TAG, "validateIntegration: " + e.getMessage());
131
171
  }
132
172
  }
133
173
 
134
- /**
135
- * @return sdk version
136
- */
137
174
  @ReactMethod
138
- private void getSdkVersion() {
139
- // Utility.loginfo("SdkVersion : "+ ContextSdk.getSdkVersion());
175
+ public void setUser(ReadableMap userDetails) {
176
+ Context context = getReactApplicationContext();
177
+
178
+ Log.d(TAG, "setUser: " + userDetails);
179
+ HashMap<String, Object> map = eventPropsFromReadableMap(userDetails);
180
+
181
+ if (map != null) {
182
+ try {
183
+ User user = new User();
184
+ try {
185
+ if (map.containsKey(AppIceReactPluginModule.APPICE_USER_NAME)) {
186
+ Object name = map.get(AppIceReactPluginModule.APPICE_USER_NAME);
187
+ if (name != null) {
188
+ user.setName(name.toString());
189
+ }
190
+ }
191
+ } catch (Exception e) {
192
+ Log.d(TAG, "setUser: name issue "+e.getMessage());
193
+ }
194
+
195
+ try {
196
+ if (map.containsKey(AppIceReactPluginModule.APPICE_USER_PHONE)) {
197
+ Object phone = map.get(AppIceReactPluginModule.APPICE_USER_PHONE);
198
+ if (phone != null) {
199
+ user.setPhone(phone.toString());
200
+ }
201
+ }
202
+ } catch (Exception e) {
203
+ Log.d(TAG, "setUser: phone issue "+e.getMessage());
204
+ }
205
+
206
+ try {
207
+ if (map.containsKey(AppIceReactPluginModule.APPICE_USER_EMAIL)) {
208
+ Object email = map.get(AppIceReactPluginModule.APPICE_USER_EMAIL);
209
+ if (email != null) {
210
+ user.setEmail(email.toString());
211
+ }
212
+ }
213
+ } catch (Exception e) {
214
+ Log.d(TAG, "setUser: email issue "+e.getMessage());
215
+ }
216
+
217
+ try {
218
+ if (map.containsKey(AppIceReactPluginModule.APPICE_USER_AGE)) {
219
+ Object age = map.get(AppIceReactPluginModule.APPICE_USER_AGE);
220
+ if (age != null) {
221
+ user.setAge((Integer) age);
222
+ }
223
+ }
224
+ } catch (Exception e) {
225
+ Log.d(TAG, "setUser: age issue "+e.getMessage());
226
+ }
227
+
228
+ try {
229
+ if (map.containsKey(AppIceReactPluginModule.dateOfBirth)) {
230
+ Object age = map.get(AppIceReactPluginModule.dateOfBirth);
231
+ if (age != null) {
232
+ user.setDob((Integer) age);
233
+ }
234
+ }
235
+ } catch (Exception e) {
236
+ Log.d(TAG, "setUser: dob issue "+e.getMessage());
237
+ }
238
+
239
+ try {
240
+ if (map.containsKey(AppIceReactPluginModule.APPICE_USER_EDUCATION)) {
241
+ Object ed = map.get(AppIceReactPluginModule.APPICE_USER_EDUCATION);
242
+ if (ed != null) {
243
+ user.setEducationType(ed.toString());
244
+ }
245
+ }
246
+ } catch (Exception e) {
247
+ Log.d(TAG, "setUser: ed issue "+e.getMessage());
248
+ }
249
+
250
+ try {
251
+ if (map.containsKey(AppIceReactPluginModule.APPICE_USER_GENDER)) {
252
+ Object g = map.get(AppIceReactPluginModule.APPICE_USER_GENDER);
253
+ if (g != null) {
254
+ user.setGender(g.toString());
255
+ }
256
+ }
257
+ } catch (Exception e) {
258
+ Log.d(TAG, "setUser: gender issue "+e.getMessage());
259
+ }
260
+
261
+
262
+ try {
263
+ if (map.containsKey(AppIceReactPluginModule.APPICE_USER_IS_EMPLOYED)) {
264
+ Object is_emp = map.get(AppIceReactPluginModule.APPICE_USER_IS_EMPLOYED);
265
+ if (is_emp != null) {
266
+ user.setEmployed((Boolean) is_emp);
267
+ }
268
+ }
269
+ } catch (Exception e) {
270
+ Log.d(TAG, "setUser: setEmployed issue "+e.getMessage());
271
+ }
272
+
273
+ try {
274
+ if (map.containsKey(AppIceReactPluginModule.APPICE_USER_EMPLOYMENT_TYPE)) {
275
+ Object et = map.get(AppIceReactPluginModule.APPICE_USER_EMPLOYMENT_TYPE);
276
+ if (et != null) {
277
+ user.setEmploymentType(et.toString());
278
+ }
279
+ }
280
+ } catch (Exception e) {
281
+ Log.d(TAG, "setUser: et issue "+e.getMessage());
282
+ }
283
+
284
+ try {
285
+ if (map.containsKey(AppIceReactPluginModule.APPICE_USER_MARRIED)) {
286
+ Object m = map.get(AppIceReactPluginModule.APPICE_USER_MARRIED);
287
+ if (m != null) {
288
+ user.setMarried((Boolean) m);
289
+ }
290
+ }
291
+ } catch (Exception e) {
292
+ Log.d(TAG, "setUser: married issue "+e.getMessage());
293
+ }
294
+ ContextSdk.setUser(user, context);
295
+ } catch (Exception e) {
296
+ }
297
+ }
298
+ }
299
+
300
+ @ReactMethod
301
+ public void setUserId(ReadableArray userIds) {
302
+ Context context = getReactApplicationContext();
303
+ try {
304
+ ArrayList<String> finalValues = arrayListStringFromReadableArray(userIds);
305
+ if (finalValues != null) {
306
+ String[] usersId = finalValues.toArray(new String[finalValues.size()]);
307
+ ContextSdk.setUser(usersId, context);
308
+ }
309
+ } catch (Exception e) {
310
+ }
311
+ }
312
+
313
+ @Nullable
314
+ @Override
315
+ public Map<String, Object> getConstants() {
316
+ final Map<String, Object> constants = new HashMap<>();
317
+ constants.put(APPICE_USER_NAME, APPICE_USER_NAME);
318
+ constants.put(APPICE_USER_PHONE, APPICE_USER_PHONE);
319
+ constants.put(APPICE_USER_EMAIL, APPICE_USER_EMAIL);
320
+ constants.put(APPICE_USER_IS_EMPLOYED, APPICE_USER_IS_EMPLOYED);
321
+ constants.put(APPICE_USER_MARRIED, APPICE_USER_MARRIED);
322
+ constants.put(APPICE_USER_EDUCATION, APPICE_USER_EDUCATION);
323
+ constants.put(APPICE_USER_EMPLOYMENT_TYPE, APPICE_USER_EMPLOYMENT_TYPE);
324
+ constants.put(APPICE_USER_AGE, APPICE_USER_AGE);
325
+ constants.put(APPICE_USER_GENDER, APPICE_USER_GENDER);
326
+ constants.put(APPICE_PUSH_NOTIFICATION_CLICKED, APPICE_PUSH_NOTIFICATION_CLICKED);
327
+ return constants;
328
+ }
329
+
330
+ @ReactMethod
331
+ public void addListener(String eventName) {
332
+ // Set up any upstream listeners or background tasks as necessary
333
+ }
334
+
335
+ @ReactMethod
336
+ public void removeListeners(Integer count) {
337
+ // Remove upstream listeners, stop unnecessary background tasks
140
338
  }
141
339
 
142
- /**
143
- * @return int sdk version
144
- */
145
340
  @ReactMethod
146
- private void getSdkIntVersion() {
147
- // Utility.loginfo("SdkIntVersion: "+ContextSdk.getSdkIntVersion());
341
+ public void pushNotificationClicked(String payload) {
342
+ Context ctx = getReactApplicationContext();
343
+ ContextSdk.pushNotificationClicked(payload, ctx);
344
+ }
345
+
346
+ static void sendEvent(String eventName, @Nullable WritableMap params) {
347
+ try {
348
+ context.
349
+ getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
350
+ .emit(eventName, params);
351
+ } catch (RuntimeException e) {
352
+ Log.e(TAG, "java.lang.RuntimeException: Trying to invoke JS before CatalystInstance has been set!", e);
353
+ }
354
+ }
355
+
356
+ private static ArrayList<String> arrayListStringFromReadableArray(ReadableArray readableArray) {
357
+ ArrayList<String> array = new ArrayList<>();
358
+ for (int i = 0; i < readableArray.size(); i++) {
359
+ switch (readableArray.getType(i)) {
360
+ case Null:
361
+ break;
362
+ case Boolean:
363
+ array.add(String.valueOf(readableArray.getBoolean(i)));
364
+ break;
365
+ case Number:
366
+ array.add(String.valueOf(readableArray.getDouble(i)));
367
+ break;
368
+ case String:
369
+ array.add(readableArray.getString(i));
370
+ break;
371
+ }
372
+ }
373
+ return array;
148
374
  }
149
375
 
376
+ private static JSONArray jsonArrayFromReadableArray(ReadableArray readableArray) throws JSONException {
377
+ JSONArray array = new JSONArray();
378
+ for (int i = 0; i < readableArray.size(); i++) {
379
+ switch (readableArray.getType(i)) {
380
+ case Null:
381
+ break;
382
+ case Boolean:
383
+ array.put(readableArray.getBoolean(i));
384
+ break;
385
+ case Number:
386
+ array.put(readableArray.getDouble(i));
387
+ break;
388
+ case String:
389
+ array.put(readableArray.getString(i));
390
+ break;
391
+ case Map:
392
+ array.put(jsonObjectFromReadableMap(readableArray.getMap(i)));
393
+ break;
394
+ case Array:
395
+ array.put(jsonArrayFromReadableArray(readableArray.getArray(i)));
396
+ break;
397
+ }
398
+ }
399
+ return array;
400
+ }
401
+
402
+ private static JSONObject jsonObjectFromReadableMap(ReadableMap readableMap) throws JSONException {
403
+ JSONObject object = new JSONObject();
404
+ ReadableMapKeySetIterator iterator = readableMap.keySetIterator();
405
+ while (iterator.hasNextKey()) {
406
+ String key = iterator.nextKey();
407
+ switch (readableMap.getType(key)) {
408
+ case Null:
409
+ object.put(key, JSONObject.NULL);
410
+ break;
411
+ case Boolean:
412
+ object.put(key, readableMap.getBoolean(key));
413
+ break;
414
+ case Number:
415
+ object.put(key, readableMap.getDouble(key));
416
+ break;
417
+ case String:
418
+ object.put(key, readableMap.getString(key));
419
+ break;
420
+ case Map:
421
+ object.put(key, jsonObjectFromReadableMap(readableMap.getMap(key)));
422
+ break;
423
+ case Array:
424
+ object.put(key, jsonArrayFromReadableArray(readableMap.getArray(key)));
425
+ break;
426
+ }
427
+ }
428
+ return object;
429
+ }
150
430
 
151
431
  /**
152
- * @param propsMap
153
- * took data from js and iterate it and store in hashmap
432
+ * @param propsMap took data from js and iterate it and store in hashmap
154
433
  * @return map of the props data
155
434
  */
156
435
  private HashMap<String, Object> eventPropsFromReadableMap(ReadableMap propsMap) {
@@ -166,52 +445,25 @@ public class AppIceReactPluginModule extends ReactContextBaseJavaModule {
166
445
 
167
446
  if (readableType == ReadableType.String) {
168
447
  props.put(key, propsMap.getString(key));
169
- }
170
- else if (readableType == ReadableType.Boolean) {
448
+ } else if (readableType == ReadableType.Boolean) {
171
449
  props.put(key, propsMap.getBoolean(key));
172
- }
173
- else if (readableType == ReadableType.Number) {
450
+ } else if (readableType == ReadableType.Number) {
174
451
  try {
175
452
  props.put(key, propsMap.getDouble(key));
176
453
  } catch (Throwable t) {
177
454
  try {
178
455
  props.put(key, propsMap.getInt(key));
179
456
  } catch (Throwable t1) {
180
- // Utility.loginfo("Unhandled ReadableType.Number from ReadableMap");
457
+ Log.d(TAG, "Unhandled ReadableType.Number from ReadableMap");
181
458
  }
182
459
  }
183
- }
184
- else {
185
- // Utility.loginfo("Unhandled event property ReadableType");
460
+ } else {
461
+ Log.d(TAG, "Unhandled event property ReadableType");
186
462
  }
187
463
  } catch (Throwable t) {
188
- // Utility.loginfo(t.getLocalizedMessage());
464
+ Log.d(TAG, t.getLocalizedMessage());
189
465
  }
190
466
  }
191
467
  return props;
192
468
  }
193
-
194
- @ReactMethod
195
- public void setUser(String name, String phone, String email){
196
- Context context = getReactApplicationContext();
197
-
198
- try {
199
- User user = new User();
200
- user.setName(name);
201
- user.setPhone(phone);
202
- user.setEmail(email);
203
-
204
- ContextSdk.setUser(user, context);
205
- }catch (Exception e){
206
-
207
- }
208
- }
209
-
210
- @ReactMethod
211
- public void setUserId(String userId){
212
- Context context = getReactApplicationContext();
213
- try {
214
- ContextSdk.setCustomVariable("UserId",userId,context);
215
- }catch (Exception e){}
216
- }
217
469
  }
@@ -5,6 +5,10 @@ import android.content.Context;
5
5
  import android.content.Intent;
6
6
  import android.net.Uri;
7
7
  import android.os.Bundle;
8
+ import android.util.Log;
9
+
10
+ import com.facebook.react.bridge.Arguments;
11
+ import com.facebook.react.bridge.WritableMap;
8
12
 
9
13
  import org.json.JSONException;
10
14
  import org.json.JSONObject;
@@ -12,13 +16,14 @@ import org.json.JSONObject;
12
16
  import java.net.URLDecoder;
13
17
  import java.util.HashMap;
14
18
  import java.util.Iterator;
19
+ import java.util.Map;
15
20
  import java.util.Set;
16
21
 
17
22
  import semusi.activitysdk.ContextSdk;
18
23
 
19
24
 
20
25
  public class CampaignCampsReceiver extends BroadcastReceiver {
21
-
26
+ private static final String TAG = "CampaignCampsReceiver";
22
27
  @Override
23
28
  public void onReceive(Context context, Intent intent) {
24
29
  try {
@@ -34,6 +39,8 @@ public class CampaignCampsReceiver extends BroadcastReceiver {
34
39
  // value of clicked is True/False based upon user click or not
35
40
  String url = extra.getString("url");
36
41
  String cdata = extra.getString("cdata");
42
+ String ai_content = extra.getString("ai_content");
43
+
37
44
 
38
45
  JSONObject json = new JSONObject();
39
46
 
@@ -72,7 +79,7 @@ public class CampaignCampsReceiver extends BroadcastReceiver {
72
79
  } catch (Exception e) {
73
80
  }
74
81
 
75
- json.put("tap", tap);
82
+ json.put("click", tap);
76
83
 
77
84
  try {
78
85
  if (url != null && url.length() > 0) {
@@ -83,7 +90,17 @@ public class CampaignCampsReceiver extends BroadcastReceiver {
83
90
  } catch (Exception e) {
84
91
  }
85
92
 
86
- // AppICEKonyPlugin.sendNotification(json, context);
93
+ if (ai_content != null && ai_content.length()>0){
94
+ JSONObject pushContent = new JSONObject(ai_content);
95
+ if (pushContent != null){
96
+ Log.d(TAG, "sendCallback: "+json);
97
+ WritableMap params = Arguments.createMap();
98
+ if (pushContent != null){
99
+ params.putString("AppICEPushNotificationClicked", pushContent.toString());
100
+ AppIceReactPluginModule.sendEvent("AppICEPushNotificationClicked", params);
101
+ }
102
+ }
103
+ }
87
104
  } catch (Exception e) {
88
105
  e.printStackTrace();
89
106
  }
@@ -0,0 +1,68 @@
1
+ package com.reactlibrary;
2
+ import android.annotation.SuppressLint;
3
+ import android.content.Context;
4
+ import android.graphics.Point;
5
+ import android.util.DisplayMetrics;
6
+ import android.util.TypedValue;
7
+ import android.view.View;
8
+ import android.webkit.WebView;
9
+
10
+ @SuppressLint("ViewConstructor")
11
+ class InAppWebView extends WebView {
12
+
13
+ final Point dim = new Point();
14
+
15
+ private int height;
16
+
17
+ private int heightPercentage;
18
+
19
+ private int width;
20
+
21
+ private int widthPercentage;
22
+
23
+ @SuppressLint("ResourceType")
24
+ public InAppWebView(Context context, int width, int height, int widthPercentage, int heightPercentage) {
25
+ super(context);
26
+ this.width = width;
27
+ this.height = height;
28
+ this.widthPercentage = widthPercentage;
29
+ this.heightPercentage = heightPercentage;
30
+ setHorizontalScrollBarEnabled(false);
31
+ setVerticalScrollBarEnabled(false);
32
+ setHorizontalFadingEdgeEnabled(false);
33
+ setVerticalFadingEdgeEnabled(false);
34
+ setOverScrollMode(View.OVER_SCROLL_NEVER);
35
+ setBackgroundColor(0x00000000);
36
+ //noinspection ResourceType
37
+ setId(188293);
38
+ }
39
+
40
+ @Override
41
+ public boolean performClick() {
42
+ return super.performClick();
43
+ }
44
+
45
+ @Override
46
+ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
47
+ super.onMeasure(widthMeasureSpec, heightMeasureSpec);
48
+ updateDimension();
49
+ setMeasuredDimension(dim.x, dim.y);
50
+ }
51
+
52
+ void updateDimension() {
53
+ if (width != 0) {
54
+ dim.x = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
55
+ width, getResources().getDisplayMetrics());
56
+ } else {
57
+ DisplayMetrics metrics = getResources().getDisplayMetrics();
58
+ dim.x = (int) (metrics.widthPixels * widthPercentage / 100f);
59
+ }
60
+ if (height != 0) {
61
+ dim.y = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
62
+ height, getResources().getDisplayMetrics());
63
+ } else {
64
+ DisplayMetrics metrics = getResources().getDisplayMetrics();
65
+ dim.y = (int) (metrics.heightPixels * heightPercentage / 100f);
66
+ }
67
+ }
68
+ }