reactnative-plugin-appice 1.5.3 → 1.5.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.
Files changed (31) hide show
  1. package/README.md +33 -4
  2. package/android/build.gradle +40 -7
  3. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  4. package/android/gradle/wrapper/gradle-wrapper.properties +5 -6
  5. package/android/gradlew +234 -172
  6. package/android/gradlew.bat +24 -19
  7. package/android/local.properties +8 -0
  8. package/android/src/main/java/com/reactlibrary/AppIceReactPluginModule.java +20 -0
  9. package/android/src/main/java/com/reactlibrary/CampaignCampsReceiver.java +17 -50
  10. package/android/src/main/java/com/reactlibrary/ClickCallback.java +5 -0
  11. package/android/src/main/java/com/reactlibrary/NotificationEventService.java +5 -1
  12. package/index.js +12 -0
  13. package/ios/AppICESDK/appICE.momd/VersionInfo.plist +0 -0
  14. package/ios/AppICESDK/appICEBundle.bundle/APPChildViewController.nib +0 -0
  15. package/ios/AppICESDK/appICEBundle.bundle/HAlfFooterNOTINAppViewController.nib +0 -0
  16. package/ios/AppICESDK/appICEBundle.bundle/HAlfHeaderINAppViewController.nib +0 -0
  17. package/ios/AppICESDK/appICEBundle.bundle/HAlfINAppViewController.nib +0 -0
  18. package/ios/AppICESDK/appICEBundle.bundle/INAppViewController.nib/objects-11.0+.nib +0 -0
  19. package/ios/AppICESDK/appICEBundle.bundle/INAppViewController.nib/runtime.nib +0 -0
  20. package/ios/AppICESDK/appICEBundle.bundle/Info.plist +0 -0
  21. package/ios/AppICESDK/appICEBundle.bundle/RatingViewController.nib +0 -0
  22. package/ios/AppICESDK/appICEBundle.bundle/SurveyViewController.nib +0 -0
  23. package/ios/AppICESDK/appICEBundle.bundle/sound2.caf +0 -0
  24. package/ios/AppICESDK/include/iosAppiceSDK/AppICEInboxMessage.h +5 -0
  25. package/ios/AppICESDK/include/iosAppiceSDK/appICE.h +9 -0
  26. package/ios/AppICESDK/include/iosAppiceSDK/appICEUserDetails.h +50 -16
  27. package/ios/AppICESDK/{libiosAppiceSDK_v1.7.51.a → libiosAppiceSDK_v1.7.56.a} +0 -0
  28. package/ios/AppIceReactPlugin.m +33 -0
  29. package/package.json +1 -1
  30. package/android/libs/logutility.jar +0 -0
  31. package/ios/AppICESDK/include/iosAppiceSDK/AppICEHelper.h +0 -99
package/README.md CHANGED
@@ -1,9 +1,38 @@
1
1
  # src_reactnative_appice-sdk
2
2
 
3
3
  # android
4
- in app's build.gradle
5
- implementation "com.google.firebase:firebase-messaging:23.0.6"
6
- implementation "com.google.android.gms:play-services-location:21.0.1"
7
- implementation 'com.gitlab.grp_appice.src_android_appice-sdk:sdk:2.5.47'
8
4
 
5
+ # add the following tag in app's manifest
9
6
 
7
+ <activity
8
+ android:name="semusi.context.ui.UIEventsHandler"
9
+ android:exported="false"
10
+ android:protectionLevel="signature"
11
+ android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
12
+
13
+
14
+ # in app's build.gradle
15
+
16
+ //appice
17
+ implementation 'appice.io.android:sdk:2.5.59'
18
+
19
+ //glide
20
+ implementation "com.github.bumptech.glide:glide:4.10.0"
21
+
22
+
23
+ # add this maven url in project's build.gradle
24
+
25
+ allprojects {
26
+ repositories {
27
+ maven {
28
+ url "https://gitlab.com/api/v4/projects/project-id/packages/maven" //contact support@appice.io for projectId details
29
+ credentials(HttpHeaderCredentials) {
30
+ name = "Deploy-Token"
31
+ value = "" //contact support@appice.io for token details
32
+ }
33
+ authentication {
34
+ header(HttpHeaderAuthentication)
35
+ }
36
+ }
37
+ }
38
+ }
@@ -10,10 +10,10 @@
10
10
  // original location:
11
11
  // - https://github.com/facebook/react-native/blob/0.58-stable/local-cli/templates/HelloWorld/android/app/build.gradle
12
12
 
13
- def DEFAULT_COMPILE_SDK_VERSION = 31
13
+ def DEFAULT_COMPILE_SDK_VERSION = 33
14
14
  def DEFAULT_BUILD_TOOLS_VERSION = '30.0.3'
15
15
  def DEFAULT_MIN_SDK_VERSION = 16
16
- def DEFAULT_TARGET_SDK_VERSION = 31
16
+ def DEFAULT_TARGET_SDK_VERSION = 33
17
17
 
18
18
  def safeExtGet(prop, fallback) {
19
19
  rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
@@ -64,28 +64,61 @@ repositories {
64
64
  // Android JSC is installed from npm
65
65
  url "$rootDir/../node_modules/jsc-android/dist"
66
66
  }
67
- maven { url "https://jitpack.io" }
67
+ maven { url "https://jitpack.io" }
68
+ maven {
69
+ url "https://gitlab.com/api/v4/projects/10636887/packages/maven"
70
+ credentials(HttpHeaderCredentials) {
71
+ name = "Deploy-Token"
72
+ value = "S2WnyKYP_YpPxsBfeRtZ"
73
+ }
74
+ authentication {
75
+ header(HttpHeaderAuthentication)
76
+ }
77
+ }
68
78
  google()
69
79
  jcenter()
70
80
  }
71
81
 
72
82
  dependencies {
83
+
73
84
  //noinspection GradleDynamicVersion
74
85
  implementation 'com.facebook.react:react-native:+'
75
- implementation 'com.gitlab.grp_appice.src_android_appice-sdk:sdk:2.5.45'
86
+
87
+ //google location
76
88
  implementation "com.google.android.gms:play-services-location:21.0.1"
77
- implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"
89
+
90
+ //google legacy support
78
91
  implementation "androidx.legacy:legacy-support-v4:1.0.0"
79
- implementation "com.google.android.gms:play-services-ads:16.0.0"
92
+
93
+ // annotation
80
94
  implementation "androidx.annotation:annotation:1.2.0"
95
+
96
+ //work manager
81
97
  implementation "androidx.work:work-runtime:2.7.1"
98
+
99
+ // concurrent future
82
100
  implementation "androidx.concurrent:concurrent-futures:1.1.0"
101
+
102
+ // segment extractor
83
103
  implementation "com.android.installreferrer:installreferrer:2.2"
104
+
105
+ //firebase
84
106
  implementation "com.google.firebase:firebase-messaging:23.0.6"
107
+
108
+ // maps
85
109
  implementation "com.google.android.gms:play-services-maps:18.0.0"
86
- // Utilities for Maps SDK for Android (requires Google Play Services)
87
110
  implementation 'com.google.maps.android:android-maps-utils:2.3.0'
111
+
112
+ //lifecycle
113
+ implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"
88
114
  annotationProcessor "androidx.lifecycle:lifecycle-compiler:2.3.1"
115
+
116
+ //appice
117
+ implementation 'appice.io.android:sdk:2.5.59'
118
+
119
+ //glide
120
+ implementation "com.github.bumptech.glide:glide:4.10.0"
121
+
89
122
  }
90
123
 
91
124
  def configureReactNativePom(def pom) {
@@ -1,6 +1,5 @@
1
- #Tue Jun 02 11:38:23 IST 2020
2
- distributionBase=GRADLE_USER_HOME
3
- distributionPath=wrapper/dists
4
- zipStoreBase=GRADLE_USER_HOME
5
- zipStorePath=wrapper/dists
6
- distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
1
+ distributionBase=GRADLE_USER_HOME
2
+ distributionPath=wrapper/dists
3
+ distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
4
+ zipStoreBase=GRADLE_USER_HOME
5
+ zipStorePath=wrapper/dists
package/android/gradlew CHANGED
@@ -1,172 +1,234 @@
1
- #!/usr/bin/env sh
2
-
3
- ##############################################################################
4
- ##
5
- ## Gradle start up script for UN*X
6
- ##
7
- ##############################################################################
8
-
9
- # Attempt to set APP_HOME
10
- # Resolve links: $0 may be a link
11
- PRG="$0"
12
- # Need this for relative symlinks.
13
- while [ -h "$PRG" ] ; do
14
- ls=`ls -ld "$PRG"`
15
- link=`expr "$ls" : '.*-> \(.*\)$'`
16
- if expr "$link" : '/.*' > /dev/null; then
17
- PRG="$link"
18
- else
19
- PRG=`dirname "$PRG"`"/$link"
20
- fi
21
- done
22
- SAVED="`pwd`"
23
- cd "`dirname \"$PRG\"`/" >/dev/null
24
- APP_HOME="`pwd -P`"
25
- cd "$SAVED" >/dev/null
26
-
27
- APP_NAME="Gradle"
28
- APP_BASE_NAME=`basename "$0"`
29
-
30
- # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
31
- DEFAULT_JVM_OPTS=""
32
-
33
- # Use the maximum available, or set MAX_FD != -1 to use that value.
34
- MAX_FD="maximum"
35
-
36
- warn () {
37
- echo "$*"
38
- }
39
-
40
- die () {
41
- echo
42
- echo "$*"
43
- echo
44
- exit 1
45
- }
46
-
47
- # OS specific support (must be 'true' or 'false').
48
- cygwin=false
49
- msys=false
50
- darwin=false
51
- nonstop=false
52
- case "`uname`" in
53
- CYGWIN* )
54
- cygwin=true
55
- ;;
56
- Darwin* )
57
- darwin=true
58
- ;;
59
- MINGW* )
60
- msys=true
61
- ;;
62
- NONSTOP* )
63
- nonstop=true
64
- ;;
65
- esac
66
-
67
- CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
68
-
69
- # Determine the Java command to use to start the JVM.
70
- if [ -n "$JAVA_HOME" ] ; then
71
- if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
72
- # IBM's JDK on AIX uses strange locations for the executables
73
- JAVACMD="$JAVA_HOME/jre/sh/java"
74
- else
75
- JAVACMD="$JAVA_HOME/bin/java"
76
- fi
77
- if [ ! -x "$JAVACMD" ] ; then
78
- die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
79
-
80
- Please set the JAVA_HOME variable in your environment to match the
81
- location of your Java installation."
82
- fi
83
- else
84
- JAVACMD="java"
85
- which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
86
-
87
- Please set the JAVA_HOME variable in your environment to match the
88
- location of your Java installation."
89
- fi
90
-
91
- # Increase the maximum file descriptors if we can.
92
- if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
93
- MAX_FD_LIMIT=`ulimit -H -n`
94
- if [ $? -eq 0 ] ; then
95
- if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
96
- MAX_FD="$MAX_FD_LIMIT"
97
- fi
98
- ulimit -n $MAX_FD
99
- if [ $? -ne 0 ] ; then
100
- warn "Could not set maximum file descriptor limit: $MAX_FD"
101
- fi
102
- else
103
- warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
104
- fi
105
- fi
106
-
107
- # For Darwin, add options to specify how the application appears in the dock
108
- if $darwin; then
109
- GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
110
- fi
111
-
112
- # For Cygwin, switch paths to Windows format before running java
113
- if $cygwin ; then
114
- APP_HOME=`cygpath --path --mixed "$APP_HOME"`
115
- CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
116
- JAVACMD=`cygpath --unix "$JAVACMD"`
117
-
118
- # We build the pattern for arguments to be converted via cygpath
119
- ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
120
- SEP=""
121
- for dir in $ROOTDIRSRAW ; do
122
- ROOTDIRS="$ROOTDIRS$SEP$dir"
123
- SEP="|"
124
- done
125
- OURCYGPATTERN="(^($ROOTDIRS))"
126
- # Add a user-defined pattern to the cygpath arguments
127
- if [ "$GRADLE_CYGPATTERN" != "" ] ; then
128
- OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
129
- fi
130
- # Now convert the arguments - kludge to limit ourselves to /bin/sh
131
- i=0
132
- for arg in "$@" ; do
133
- CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
134
- CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
135
-
136
- if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
137
- eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
138
- else
139
- eval `echo args$i`="\"$arg\""
140
- fi
141
- i=$((i+1))
142
- done
143
- case $i in
144
- (0) set -- ;;
145
- (1) set -- "$args0" ;;
146
- (2) set -- "$args0" "$args1" ;;
147
- (3) set -- "$args0" "$args1" "$args2" ;;
148
- (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
149
- (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
150
- (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
151
- (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
152
- (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
153
- (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
154
- esac
155
- fi
156
-
157
- # Escape application args
158
- save () {
159
- for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
160
- echo " "
161
- }
162
- APP_ARGS=$(save "$@")
163
-
164
- # Collect all arguments for the java command, following the shell quoting and substitution rules
165
- eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
166
-
167
- # by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
168
- if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
169
- cd "$(dirname "$0")"
170
- fi
171
-
172
- exec "$JAVACMD" "$@"
1
+ #!/bin/sh
2
+
3
+ #
4
+ # Copyright © 2015-2021 the original authors.
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # https://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+
19
+ ##############################################################################
20
+ #
21
+ # Gradle start up script for POSIX generated by Gradle.
22
+ #
23
+ # Important for running:
24
+ #
25
+ # (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
26
+ # noncompliant, but you have some other compliant shell such as ksh or
27
+ # bash, then to run this script, type that shell name before the whole
28
+ # command line, like:
29
+ #
30
+ # ksh Gradle
31
+ #
32
+ # Busybox and similar reduced shells will NOT work, because this script
33
+ # requires all of these POSIX shell features:
34
+ # * functions;
35
+ # * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
36
+ # «${var#prefix}», «${var%suffix}», and «$( cmd )»;
37
+ # * compound commands having a testable exit status, especially «case»;
38
+ # * various built-in commands including «command», «set», and «ulimit».
39
+ #
40
+ # Important for patching:
41
+ #
42
+ # (2) This script targets any POSIX shell, so it avoids extensions provided
43
+ # by Bash, Ksh, etc; in particular arrays are avoided.
44
+ #
45
+ # The "traditional" practice of packing multiple parameters into a
46
+ # space-separated string is a well documented source of bugs and security
47
+ # problems, so this is (mostly) avoided, by progressively accumulating
48
+ # options in "$@", and eventually passing that to Java.
49
+ #
50
+ # Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
51
+ # and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
52
+ # see the in-line comments for details.
53
+ #
54
+ # There are tweaks for specific operating systems such as AIX, CygWin,
55
+ # Darwin, MinGW, and NonStop.
56
+ #
57
+ # (3) This script is generated from the Groovy template
58
+ # https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
59
+ # within the Gradle project.
60
+ #
61
+ # You can find Gradle at https://github.com/gradle/gradle/.
62
+ #
63
+ ##############################################################################
64
+
65
+ # Attempt to set APP_HOME
66
+
67
+ # Resolve links: $0 may be a link
68
+ app_path=$0
69
+
70
+ # Need this for daisy-chained symlinks.
71
+ while
72
+ APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
73
+ [ -h "$app_path" ]
74
+ do
75
+ ls=$( ls -ld "$app_path" )
76
+ link=${ls#*' -> '}
77
+ case $link in #(
78
+ /*) app_path=$link ;; #(
79
+ *) app_path=$APP_HOME$link ;;
80
+ esac
81
+ done
82
+
83
+ APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
84
+
85
+ APP_NAME="Gradle"
86
+ APP_BASE_NAME=${0##*/}
87
+
88
+ # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
89
+ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
90
+
91
+ # Use the maximum available, or set MAX_FD != -1 to use that value.
92
+ MAX_FD=maximum
93
+
94
+ warn () {
95
+ echo "$*"
96
+ } >&2
97
+
98
+ die () {
99
+ echo
100
+ echo "$*"
101
+ echo
102
+ exit 1
103
+ } >&2
104
+
105
+ # OS specific support (must be 'true' or 'false').
106
+ cygwin=false
107
+ msys=false
108
+ darwin=false
109
+ nonstop=false
110
+ case "$( uname )" in #(
111
+ CYGWIN* ) cygwin=true ;; #(
112
+ Darwin* ) darwin=true ;; #(
113
+ MSYS* | MINGW* ) msys=true ;; #(
114
+ NONSTOP* ) nonstop=true ;;
115
+ esac
116
+
117
+ CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
118
+
119
+
120
+ # Determine the Java command to use to start the JVM.
121
+ if [ -n "$JAVA_HOME" ] ; then
122
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
123
+ # IBM's JDK on AIX uses strange locations for the executables
124
+ JAVACMD=$JAVA_HOME/jre/sh/java
125
+ else
126
+ JAVACMD=$JAVA_HOME/bin/java
127
+ fi
128
+ if [ ! -x "$JAVACMD" ] ; then
129
+ die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
130
+
131
+ Please set the JAVA_HOME variable in your environment to match the
132
+ location of your Java installation."
133
+ fi
134
+ else
135
+ JAVACMD=java
136
+ which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
137
+
138
+ Please set the JAVA_HOME variable in your environment to match the
139
+ location of your Java installation."
140
+ fi
141
+
142
+ # Increase the maximum file descriptors if we can.
143
+ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
144
+ case $MAX_FD in #(
145
+ max*)
146
+ MAX_FD=$( ulimit -H -n ) ||
147
+ warn "Could not query maximum file descriptor limit"
148
+ esac
149
+ case $MAX_FD in #(
150
+ '' | soft) :;; #(
151
+ *)
152
+ ulimit -n "$MAX_FD" ||
153
+ warn "Could not set maximum file descriptor limit to $MAX_FD"
154
+ esac
155
+ fi
156
+
157
+ # Collect all arguments for the java command, stacking in reverse order:
158
+ # * args from the command line
159
+ # * the main class name
160
+ # * -classpath
161
+ # * -D...appname settings
162
+ # * --module-path (only if needed)
163
+ # * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
164
+
165
+ # For Cygwin or MSYS, switch paths to Windows format before running java
166
+ if "$cygwin" || "$msys" ; then
167
+ APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
168
+ CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
169
+
170
+ JAVACMD=$( cygpath --unix "$JAVACMD" )
171
+
172
+ # Now convert the arguments - kludge to limit ourselves to /bin/sh
173
+ for arg do
174
+ if
175
+ case $arg in #(
176
+ -*) false ;; # don't mess with options #(
177
+ /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
178
+ [ -e "$t" ] ;; #(
179
+ *) false ;;
180
+ esac
181
+ then
182
+ arg=$( cygpath --path --ignore --mixed "$arg" )
183
+ fi
184
+ # Roll the args list around exactly as many times as the number of
185
+ # args, so each arg winds up back in the position where it started, but
186
+ # possibly modified.
187
+ #
188
+ # NB: a `for` loop captures its iteration list before it begins, so
189
+ # changing the positional parameters here affects neither the number of
190
+ # iterations, nor the values presented in `arg`.
191
+ shift # remove old arg
192
+ set -- "$@" "$arg" # push replacement arg
193
+ done
194
+ fi
195
+
196
+ # Collect all arguments for the java command;
197
+ # * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
198
+ # shell script including quotes and variable substitutions, so put them in
199
+ # double quotes to make sure that they get re-expanded; and
200
+ # * put everything else in single quotes, so that it's not re-expanded.
201
+
202
+ set -- \
203
+ "-Dorg.gradle.appname=$APP_BASE_NAME" \
204
+ -classpath "$CLASSPATH" \
205
+ org.gradle.wrapper.GradleWrapperMain \
206
+ "$@"
207
+
208
+ # Use "xargs" to parse quoted args.
209
+ #
210
+ # With -n1 it outputs one arg per line, with the quotes and backslashes removed.
211
+ #
212
+ # In Bash we could simply go:
213
+ #
214
+ # readarray ARGS < <( xargs -n1 <<<"$var" ) &&
215
+ # set -- "${ARGS[@]}" "$@"
216
+ #
217
+ # but POSIX shell has neither arrays nor command substitution, so instead we
218
+ # post-process each arg (as a line of input to sed) to backslash-escape any
219
+ # character that might be a shell metacharacter, then use eval to reverse
220
+ # that process (while maintaining the separation between arguments), and wrap
221
+ # the whole thing up as a single "set" statement.
222
+ #
223
+ # This will of course break if any of these variables contains a newline or
224
+ # an unmatched quote.
225
+ #
226
+
227
+ eval "set -- $(
228
+ printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
229
+ xargs -n1 |
230
+ sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
231
+ tr '\n' ' '
232
+ )" '"$@"'
233
+
234
+ exec "$JAVACMD" "$@"
@@ -1,3 +1,19 @@
1
+ @rem
2
+ @rem Copyright 2015 the original author or authors.
3
+ @rem
4
+ @rem Licensed under the Apache License, Version 2.0 (the "License");
5
+ @rem you may not use this file except in compliance with the License.
6
+ @rem You may obtain a copy of the License at
7
+ @rem
8
+ @rem https://www.apache.org/licenses/LICENSE-2.0
9
+ @rem
10
+ @rem Unless required by applicable law or agreed to in writing, software
11
+ @rem distributed under the License is distributed on an "AS IS" BASIS,
12
+ @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ @rem See the License for the specific language governing permissions and
14
+ @rem limitations under the License.
15
+ @rem
16
+
1
17
  @if "%DEBUG%" == "" @echo off
2
18
  @rem ##########################################################################
3
19
  @rem
@@ -13,15 +29,18 @@ if "%DIRNAME%" == "" set DIRNAME=.
13
29
  set APP_BASE_NAME=%~n0
14
30
  set APP_HOME=%DIRNAME%
15
31
 
32
+ @rem Resolve any "." and ".." in APP_HOME to make it shorter.
33
+ for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
34
+
16
35
  @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
17
- set DEFAULT_JVM_OPTS=
36
+ set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
18
37
 
19
38
  @rem Find java.exe
20
39
  if defined JAVA_HOME goto findJavaFromJavaHome
21
40
 
22
41
  set JAVA_EXE=java.exe
23
42
  %JAVA_EXE% -version >NUL 2>&1
24
- if "%ERRORLEVEL%" == "0" goto init
43
+ if "%ERRORLEVEL%" == "0" goto execute
25
44
 
26
45
  echo.
27
46
  echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
@@ -35,7 +54,7 @@ goto fail
35
54
  set JAVA_HOME=%JAVA_HOME:"=%
36
55
  set JAVA_EXE=%JAVA_HOME%/bin/java.exe
37
56
 
38
- if exist "%JAVA_EXE%" goto init
57
+ if exist "%JAVA_EXE%" goto execute
39
58
 
40
59
  echo.
41
60
  echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
@@ -45,28 +64,14 @@ echo location of your Java installation.
45
64
 
46
65
  goto fail
47
66
 
48
- :init
49
- @rem Get command-line arguments, handling Windows variants
50
-
51
- if not "%OS%" == "Windows_NT" goto win9xME_args
52
-
53
- :win9xME_args
54
- @rem Slurp the command line arguments.
55
- set CMD_LINE_ARGS=
56
- set _SKIP=2
57
-
58
- :win9xME_args_slurp
59
- if "x%~1" == "x" goto execute
60
-
61
- set CMD_LINE_ARGS=%*
62
-
63
67
  :execute
64
68
  @rem Setup the command line
65
69
 
66
70
  set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
67
71
 
72
+
68
73
  @rem Execute Gradle
69
- "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
74
+ "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
70
75
 
71
76
  :end
72
77
  @rem End local scope for the variables with windows NT shell
@@ -0,0 +1,8 @@
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
+ #Mon Sep 04 10:21:11 IST 2023
8
+ sdk.dir=/Users/amitpandey/Library/Android/sdk
@@ -5,6 +5,7 @@ import android.content.Intent;
5
5
  import android.content.pm.PackageManager;
6
6
  import android.content.pm.ResolveInfo;
7
7
 
8
+ import com.facebook.react.bridge.Callback;
8
9
  import com.facebook.react.bridge.ReactApplicationContext;
9
10
  import com.facebook.react.bridge.ReactContextBaseJavaModule;
10
11
  import com.facebook.react.bridge.ReactMethod;
@@ -343,6 +344,25 @@ public class AppIceReactPluginModule extends ReactContextBaseJavaModule {
343
344
  ContextSdk.pushNotificationClicked(payload, ctx);
344
345
  }
345
346
 
347
+
348
+ @ReactMethod
349
+ public void sendClickCallback(final Callback callback) {
350
+ ClickCallback clickCallback = new ClickCallback() {
351
+ @Override
352
+ public void clickPayload(String obj) {
353
+ if (obj != null && obj.length() > 0) {
354
+ try {
355
+ System.out.println("AppICEPlugin : sendClickCallback : "+obj);
356
+ callback.invoke(obj);
357
+ } catch (Throwable e) {
358
+ System.out.println("AppICEPlugin : sendClickCallback : exception "+e);
359
+ }
360
+ }
361
+ }
362
+ };
363
+ CampaignCampsReceiver campaignCampsReceiver = new CampaignCampsReceiver(clickCallback);
364
+ }
365
+
346
366
  static void sendEvent(String eventName, @Nullable WritableMap params) {
347
367
  try {
348
368
  context.
@@ -24,6 +24,15 @@ import semusi.activitysdk.ContextSdk;
24
24
 
25
25
  public class CampaignCampsReceiver extends BroadcastReceiver {
26
26
  private static final String TAG = "CampaignCampsReceiver";
27
+
28
+ public static ClickCallback clickCallback;
29
+
30
+ public CampaignCampsReceiver(ClickCallback clickCallback){
31
+ this.clickCallback = clickCallback;
32
+ }
33
+ public CampaignCampsReceiver(){
34
+ }
35
+
27
36
  @Override
28
37
  public void onReceive(Context context, Intent intent) {
29
38
  try {
@@ -34,66 +43,24 @@ public class CampaignCampsReceiver extends BroadcastReceiver {
34
43
 
35
44
  public void sendCallback(Bundle extra, Context context) {
36
45
  try {
37
- // value of user click on campaign
38
- String tap = extra.getString("tap");
39
- // value of clicked is True/False based upon user click or not
40
- String url = extra.getString("url");
46
+
41
47
  String cdata = extra.getString("cdata");
42
48
  String ai_content = extra.getString("ai_content");
49
+ boolean category = extra.getBoolean("ai_inapp");
43
50
 
44
-
45
- JSONObject json = new JSONObject();
46
-
47
- try {
48
- // gather deeplink data
49
- if (url != null && url.length() > 0) {
50
- HashMap<String, Object> deeplinkData = ContextSdk.gatherDeepLinkData(Uri.parse(url));
51
- Set<String> keys = deeplinkData.keySet();
52
- for (String key : keys) {
53
- try {
54
- json.put(key, deeplinkData.get(key));
55
- } catch (JSONException e) {
56
- }
57
- }
58
- }
59
- } catch (Exception e) {
60
- }
61
-
62
- // Gather extra data from json object root
63
- try {
51
+ if (category) {
64
52
  if (cdata != null && cdata.length() > 0) {
65
- JSONObject croot = new JSONObject(cdata);
66
- if (croot != null && croot.length() > 0) {
67
- Iterator<String> it = croot.keys();
68
- while (it.hasNext()) {
69
- String key = it.next();
70
- Object obj = croot.get(key);
71
- if (obj.getClass().equals(String.class))
72
- json.put(key, URLDecoder.decode((String) obj, "UTF-8"));
73
- else
74
- json.put(key, obj);
75
-
76
- }
77
- }
78
- }
79
- } catch (Exception e) {
80
- }
81
-
82
- json.put("click", tap);
83
-
84
- try {
85
- if (url != null && url.length() > 0) {
86
- Uri path = Uri.parse(url);
87
- json.put("host", path.getHost());
88
- json.put("path", path.getPath());
53
+ if (clickCallback != null) {
54
+ clickCallback.clickPayload(cdata);
55
+ System.out.println("CampaignRec : clickCallback "+cdata);
56
+ } else
57
+ System.out.println("callback is null");
89
58
  }
90
- } catch (Exception e) {
91
59
  }
92
60
 
93
61
  if (ai_content != null && ai_content.length()>0){
94
62
  JSONObject pushContent = new JSONObject(ai_content);
95
63
  if (pushContent != null){
96
- Log.d(TAG, "sendCallback: "+json);
97
64
  WritableMap params = Arguments.createMap();
98
65
  if (pushContent != null){
99
66
  params.putString("AppICEPushNotificationClicked", pushContent.toString());
@@ -0,0 +1,5 @@
1
+ package com.reactlibrary;
2
+
3
+ public interface ClickCallback {
4
+ void clickPayload(String obj);
5
+ }
@@ -1,14 +1,16 @@
1
1
  package com.reactlibrary;
2
2
 
3
- import android.annotation.TargetApi;
4
3
  import android.app.job.JobParameters;
5
4
  import android.app.job.JobService;
6
5
  import android.os.Build;
7
6
  import android.os.Bundle;
8
7
  import android.os.PersistableBundle;
8
+ import androidx.annotation.RequiresApi;
9
+ import androidx.work.Configuration;
9
10
 
10
11
  import java.util.Timer;
11
12
  import java.util.TimerTask;
13
+ import java.util.concurrent.atomic.AtomicReference;
12
14
 
13
15
  @TargetApi(Build.VERSION_CODES.LOLLIPOP)
14
16
  public class NotificationEventService extends JobService {
@@ -24,7 +26,9 @@ public class NotificationEventService extends JobService {
24
26
  @Override
25
27
  public void run() {
26
28
  CampaignCampsReceiver rc = new CampaignCampsReceiver();
29
+ System.out.println("NotificationEventService : data "+bundle1);
27
30
  rc.sendCallback(bundle1, getApplicationContext());
31
+ jobFinished(params,false);
28
32
  }
29
33
  }, 2 * 1000);
30
34
  }
package/index.js CHANGED
@@ -100,6 +100,10 @@ var AppICEReact = {
100
100
  AppIceReactPlugin.setUser(profile);
101
101
  },
102
102
 
103
+ /**
104
+ * Set unique user id
105
+ * @param {object} values - array of userids
106
+ */
103
107
  setUserId: function (values) {
104
108
  AppIceReactPlugin.setUserId(values);
105
109
  },
@@ -113,6 +117,14 @@ var AppICEReact = {
113
117
 
114
118
  return map;
115
119
  },
120
+
121
+ /**
122
+ * to send inapp callback to app
123
+ * @param {callback} callback - inapp callbcak send back to app
124
+ */
125
+ sendClickCallback: function (callback) {
126
+ AppIceReactPlugin.sendClickCallback(callback);
127
+ },
116
128
  };
117
129
 
118
130
 
File without changes
@@ -32,6 +32,11 @@ NS_ASSUME_NONNULL_BEGIN
32
32
  //- (void)setAttributesFromDictionary:(NSDictionary *)aDictionary;
33
33
  - (void)setAttributesFromDictionary:(NSDictionary *)aDictionary :(AppICEInboxMessage*)instance;
34
34
  +(NSString*)toJson:(NSMutableArray*)inbox;
35
+
36
+ -(NSMutableDictionary*)mediaData:(NSString *)mediaKey;
37
+ -(NSString*)mediaUrl:(NSDictionary*)mediaData;
38
+ -(NSString*)mediaType:(NSDictionary*)mediaData;
39
+ -(NSString*)mediaThumbnail:(NSDictionary*)mediaData;
35
40
  @end
36
41
 
37
42
 
@@ -8,6 +8,7 @@
8
8
  #import <Foundation/Foundation.h>
9
9
  #import <UIKit/UIKit.h>
10
10
  #import "AppICEInboxMessage.h"
11
+ #import "appICEUserDetails.h"
11
12
 
12
13
  @class appICEEventQueue;
13
14
  @class appICEUserDetails;
@@ -52,6 +53,7 @@ NS_ASSUME_NONNULL_BEGIN
52
53
 
53
54
  typedef void (^AppICEInboxSuccessBlock)(BOOL success);
54
55
  typedef void (^AppICEInboxCallback)(AppICEInboxMessage *AppICEInboxMessage);
56
+ typedef void (^AppiceClickDelegate)(NSDictionary *cData);
55
57
  //@property (nonatomic, copy) AppICEInboxSuccessBlock statement;
56
58
  - (void)synchronizeInbox:(AppICEInboxSuccessBlock)CallBack timeoutinSec:(int)timeoutinSec;
57
59
  // SET AND GET CHILD ID
@@ -176,6 +178,13 @@ typedef void (^AppICEInboxCallback)(AppICEInboxMessage *AppICEInboxMessage);
176
178
  -(void)dismissInApp;
177
179
 
178
180
 
181
+ - (BOOL)isAdvancePush:(NSDictionary*) payload;
182
+ - (NSString*)getAdvancedPushMediaUrl:(NSDictionary*) payload;
183
+
184
+ - (void)setClickCallback:(AppiceClickDelegate)CallBack;
185
+ -(void)invokeCallback:(NSDictionary*)userInfo;
186
+ -(AppiceClickDelegate)getClickCallback;
187
+
179
188
  @end
180
189
 
181
190
  NS_ASSUME_NONNULL_END
@@ -8,25 +8,56 @@
8
8
 
9
9
  #import <Foundation/Foundation.h>
10
10
 
11
+ @interface CustomUserPropertyConstants : NSObject
12
+
13
+ @property (class, nonatomic, readonly) NSString *TOP_N_PRODUCTS_VIEWED;
14
+ @property (class, nonatomic, readonly) NSString *N_COMPLAINTS_RAISED;
15
+ @property (class, nonatomic, readonly) NSString *PREF_LOGIN_DEVICE ;
16
+ @property (class, nonatomic, readonly) NSString *REFERRAL_CAMPAIGN;
17
+
18
+ @end
19
+
20
+ @interface Ecommerce : CustomUserPropertyConstants
21
+
22
+ @property (class, nonatomic, readonly) NSString *TOTAL_ORDER_VALUE;
23
+ @property (class, nonatomic, readonly) NSString *ADD_TO_CART_N_DAYS;
24
+
25
+ @end
26
+
27
+ @interface FinancialServices : CustomUserPropertyConstants
28
+
29
+ @property (class, nonatomic, readonly) NSString *CREDIT_SCORE;
30
+ @property (class, nonatomic, readonly) NSString *DEBT_TO_INCOME_RATIO;
31
+ @property (class, nonatomic, readonly) NSString *SAVINGS_BALANCE;
32
+ @property (class, nonatomic, readonly) NSString *CHECKING_BALANCE;
33
+ @property (class, nonatomic, readonly) NSString *AVERAGE_TRANSACTION_AMOUNT;
34
+ @property (class, nonatomic, readonly) NSString *FREQUENCY_OF_TRANSACTION;
35
+ @property (class, nonatomic, readonly) NSString *TYPE_OF_TRANSACTION;
36
+
37
+ @end
38
+
39
+
11
40
  @interface appICEUserDetails : NSObject
12
41
 
13
42
 
14
- extern NSString* const kCLYUserName;
15
- extern NSString* const kCLYUserUsername;
16
- extern NSString* const kCLYUserEmail;
17
- extern NSString* const kCLYUserOrganization;
18
- extern NSString* const kCLYUserPhone;
19
- extern NSString* const kCLYUserGender;
20
- extern NSString* const kCLYUserBirthYear;
21
- extern NSString* const kCLYUserIsUserEmployed;
22
- extern NSString* const kCLYUserEmploymentType;
23
- extern NSString* const kCLYUserEducationType;
24
- extern NSString* const kCLYUserIsUserMarried;
25
- extern NSString* const kCLYUserAge;
26
- extern NSString* const kCLYUserPicture;
27
- extern NSString* const kCLYUserPicturePath;
28
- extern NSString* const kCLYUserCustom;
29
- extern NSString* const kCLYAlias;
43
+ extern NSString* const kAIUserName;
44
+ extern NSString* const kAIUserUsername;
45
+ extern NSString* const kAIUserEmail;
46
+ extern NSString* const kAIUserOrganization;
47
+ extern NSString* const kAIUserPhone;
48
+ extern NSString* const kAIUserGender;
49
+ extern NSString* const kAIUserBirthYear;
50
+ extern NSString* const kAIUserIsUserEmployed;
51
+ extern NSString* const kAIUserEmploymentType;
52
+ extern NSString* const kAIUserEducationType;
53
+ extern NSString* const kAIUserIsUserMarried;
54
+ extern NSString* const kAIUserAge;
55
+ extern NSString* const kAIUserPicture;
56
+ extern NSString* const kAIUserPicturePath;
57
+ extern NSString* const kAIUserCustom;
58
+ extern NSString* const kAIAlias;
59
+ extern NSString* const kAIFirstSeen;
60
+ extern NSString* const kAILastSeen;
30
61
 
31
62
  @property (nonatomic, assign) int age;
32
63
  @property (nonatomic, assign) BOOL is_user_married;
@@ -40,7 +71,10 @@ extern NSString* const kCLYAlias;
40
71
  @property (strong, nonatomic) NSString * employment_type;
41
72
  @property (strong, nonatomic) NSString * education_type;
42
73
 
74
+ @property (nonatomic, assign) long firstSeen;
75
+ @property (nonatomic, assign) long lastSeen;
43
76
 
77
+ @property (nonatomic, strong) NSDictionary *customProperties;
44
78
 
45
79
  +(appICEUserDetails*)sharedUserDetails;
46
80
 
@@ -161,5 +161,38 @@ RCT_EXPORT_METHOD(setUser:(NSDictionary*)userProfile)
161
161
  + (void)pushNotificationReceived:(NSDictionary *)userInfo {
162
162
  [[appICE sharedInstance]pushNotificationReceived:userInfo];
163
163
  }
164
+
165
+ //InApp Deeplink Callback
166
+ RCT_EXPORT_METHOD(sendClickCallback:(RCTResponseSenderBlock)successCallback)
167
+ {
168
+
169
+ [[appICE sharedInstance] setClickCallback:^(NSDictionary * _Nonnull cData) {
170
+ // Convert cData to JSON string
171
+ NSError *error;
172
+ NSData *jsonData = [NSJSONSerialization dataWithJSONObject:cData options:NSJSONWritingPrettyPrinted error:&error];
173
+
174
+ NSString *jsonString;
175
+ if (!error) {
176
+ if (jsonData != nil || [jsonData length] != 0) {
177
+ jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
178
+ RCTLog(@"***** INapp success *** %@", jsonString);
179
+ }
180
+ else {
181
+ jsonString = @"{}";
182
+ }
183
+ } else {
184
+ jsonString = @"{}"; // Handle error case
185
+ }
186
+ // Check again if successCallback is not nil
187
+ if(successCallback != nil)
188
+ {
189
+ // Invoke successCallback with JSON string
190
+ successCallback(@[jsonString]);
191
+ }
192
+
193
+ }];
194
+
195
+ }
196
+
164
197
  @end
165
198
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "reactnative-plugin-appice",
3
- "version": "1.5.3",
3
+ "version": "1.5.4",
4
4
  "description": "appICE React Native SDK",
5
5
  "main": "index.js",
6
6
  "files": [
Binary file
@@ -1,99 +0,0 @@
1
- //
2
- // AppICEHelper.h
3
- // appiceTestApp
4
- //
5
- // Created by garima paliwal on 29/09/20.
6
- // Copyright © 2020 Semusi. All rights reserved.
7
- //
8
-
9
- #import <Foundation/Foundation.h>
10
- //#import "CallBack.h"
11
- NS_ASSUME_NONNULL_BEGIN
12
-
13
- @class appICEUserDetails;
14
-
15
- @interface AppICEHelper : NSObject
16
-
17
-
18
- + (instancetype)sharedInstance;
19
- //To start sdk
20
- +(void)startContext;
21
-
22
- //initialising keys
23
- +(void) setupKeys:(NSString *)appKey withapiKey:(NSString *)apiKey withappId:(NSString *)appId otherSdkdeviceId:(NSString*)deviceId;
24
-
25
- +(void) setupKeys:(NSString *)appKey withapiKey:(NSString *)apiKey withappId:(NSString *)appId otherSdkdeviceId:(NSString*)deviceId region:(NSString*)region baseUrl:(NSString *)baseUrl certficates:(NSArray *)certficates;
26
-
27
- +(void) setupKeys:(NSString *)appKey withapiKey:(NSString *)apiKey withappId:(NSString *)appId;
28
-
29
-
30
- //to validate integration
31
- +(BOOL)validateIntegration;
32
-
33
- //to set custom events
34
- + (void)recordEvent:(NSString *)key;
35
-
36
- +(void)recordEvent:(NSString *)key segmentation:(NSDictionary *)segmentation;
37
-
38
- //to set custom variable:
39
- +(void) setCustomVariable:(NSString*) key withStringValue:(NSString*)value;
40
-
41
- +(void) setCustomVariable:(NSString*) key withBoolValue:(BOOL)value;
42
-
43
- +(void) setCustomVariable:(NSString*)key withLongValue:(int64_t) value;
44
-
45
- +(void) setCustomVariable:(NSString*) key withIntvalue:(int32_t) value;
46
-
47
- //To check appice sdkversion
48
- +(NSString*) getSdkVersion;
49
-
50
- // to get the device id:
51
- +(NSString *)getInternalId;
52
-
53
- //to set unique userId
54
- +(void)setUserId:(NSArray*) userIdArray;
55
-
56
- // to set userDetails:
57
- +(void) setUserDetail:(appICEUserDetails*) userdetail;
58
-
59
- // to get userDetails:
60
- +(appICEUserDetails*)getUserDetail;
61
-
62
- // for camp-clicked
63
- + (void)pushNotificationClickedEvent:(NSString *)notificationData;
64
-
65
- // for camp-received
66
- - (void)handleAppICENotification:(NSString*)notificationData;
67
-
68
- //## to check if push payload is for appice:
69
- +(BOOL)isAppICENotification:(NSString *)userInfo;
70
-
71
- +(void) setTokenInPushNotification:(NSString*) appPushToken;
72
-
73
- +(void) handleClickOnPush:(NSString *)data openDeepLink:(BOOL)openDeepLink;
74
-
75
- + (BOOL)isSilentPush:(NSString*) payload;
76
-
77
- +(NSString*)getInboxMessages:(int)status userId:(NSArray*)userId key:(NSString*)key value:(NSString*)value;
78
-
79
-
80
- +(BOOL)updateInboxMessage:(int)status messageId:(NSString *)messageId userid:(NSString *)userId;
81
-
82
- +(int)getMessageCount:(int)status userId:(NSArray*)userId key:(NSString*)key value:(NSString*)value;
83
-
84
- +(NSString*)getInboxMessageForId :(NSString*)messageId userId:(NSArray *)userId;
85
-
86
- //- (void)synchronizeInbox:(CallBack*)success timeoutinSec:(int)timeoutinSec;
87
- //
88
- //-(void)sendClickCallback:(CallBack*)callbackValue;
89
- //+(void)invokeCallback:(NSDictionary*)userInfo;
90
- - (void)pushNotificationReceived:(id _Nonnull)notificationData;
91
-
92
- //inapp
93
- -(void)resumeInApp;
94
- -(void)suspendInApp;
95
- -(void)discardInApp;
96
- -(void)dismissInApp;
97
- @end
98
-
99
- NS_ASSUME_NONNULL_END