klaritics-react-native-sdk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,334 @@
1
+ <h1 align="center">klaritics-react-native-sdk</h1>
2
+
3
+ <p align="center">
4
+ <a href="https://npmjs.com/package/klaritics-react-native-sdk"><img src="https://img.shields.io/npm/v/klaritics-react-native-sdk?style=for-the-badge&labelColor=000000" alt="npm-v"></a>
5
+ <a href="https://npmjs.com/package/klaritics-react-native-sdk"><img src="https://img.shields.io/npm/dt/klaritics-react-native-sdk.svg?style=for-the-badge&labelColor=000000" alt="npm-d"></a>
6
+ <a href="https://bundlephobia.com/result?p=klaritics-react-native-sdk"><img src="https://img.shields.io/bundlephobia/minzip/klaritics-react-native-sdk?style=for-the-badge&labelColor=000000" alt="minzip"></a>
7
+ </p>
8
+
9
+ ## Description
10
+
11
+ React Native wrapper for Apxor SDK. Please refer Plugins section to integrate other Apxor plugins.
12
+
13
+ ---
14
+
15
+ ## 🏁 Getting Started
16
+
17
+ ### A. For `react-native` version `0.59.0` and lower
18
+
19
+ 1. Run the following commands:
20
+
21
+ ```bash
22
+ npm i klaritics-react-native-sdk
23
+ react-native link klaritics-react-native-sdk
24
+ ```
25
+
26
+ 2. Open up `android/app/src/main/java/[...]/MainActivity.java`
27
+
28
+ - Add `import com.deeptaai.reactnativesdk.KlariticsPackage;` to the imports at the top of the file
29
+ - Add `new KlariticsPackage()` to the list returned by the `getPackages()` method
30
+
31
+ ```java
32
+ @Override
33
+ protected List<ReactPackage> getPackages() {
34
+ return Arrays.<ReactPackage>asList(
35
+ new MainReactPackage(),
36
+ ...
37
+ new KlariticsPackage(), <- ApxorSDK package
38
+ ...
39
+ );
40
+ }
41
+ ```
42
+
43
+ 3. Append the following lines to `android/settings.gradle`:
44
+
45
+ ```groovy
46
+ include ':klaritics-react-native-sdk'
47
+ project(':klaritics-react-native-sdk').projectDir = new File(rootProject.projectDir, '../node_modules/klaritics-react-native-sdk/android')
48
+ ```
49
+
50
+ ### B. For `react-native` version `0.60.0` and higher
51
+
52
+ Run the following commands:
53
+
54
+ ```bash
55
+ npm i klaritics-react-native-sdk
56
+ ```
57
+
58
+ ---
59
+
60
+ ## 🤖 Integrate Apxor React Native Android SDK
61
+
62
+ 1. Insert the following lines inside repositories block in `android/build.gradle`
63
+
64
+ ```groovy
65
+ maven { url "http://repo.apxor.com/artifactory/list/libs-release-android/" }
66
+ maven { url "https://dl.bintray.com/apxor/apxor-android" }
67
+ ```
68
+
69
+ 2. Insert the following lines inside the dependencies block in `android/app/build.gradle`:
70
+
71
+ ```groovy
72
+ implementation 'com.apxor.androidx:apxor-android-sdk-core:2.8.3@aar'
73
+ ```
74
+
75
+ 3. Add the following `meta-data` tag inside `application` tag of `AndroidManifest.xml` file:
76
+
77
+ ```xml
78
+ <application ...>
79
+ ...
80
+ <meta-data android:name="APXOR_APP_ID" android:value=[REPLACE_YOUR_APXOR_APP_ID_HERE] />
81
+ ...
82
+ </application>
83
+ ```
84
+
85
+ ### 🧩 Plugins (Optional)
86
+
87
+ 1. Add following dependencies in the `build.gradle` file.
88
+
89
+ ```groovy
90
+ // Add this to track uninstalls and send push notifications from Apxor dashboard
91
+ // Note: We don't support firebase-messaging >= 22.0.0 yet
92
+ implementation('com.apxor.androidx:apxor-android-sdk-push:1.2.7@aar') {
93
+ exclude group: 'com.google.firebase'
94
+ }
95
+
96
+ // Add these for Realtime Actions and Surveys
97
+ implementation 'com.apxor.androidx:apxor-android-sdk-qe:1.5.1@aar'
98
+ implementation 'com.apxor.androidx:apxor-android-sdk-rtm:1.8.9@aar'
99
+ implementation 'com.apxor.androidx:surveys:1.3.6@aar'
100
+
101
+ // Add this to track application crashes
102
+ implementation 'com.apxor.androidx:apxor-android-crash-reporter:1.0.5@aar'
103
+
104
+ // Helper plugin to create walkthroughs
105
+ implementation 'com.apxor.androidx:wysiwyg:1.2.6@aar'
106
+
107
+ // Add this to log events without attributes at runtime
108
+ implementation 'com.apxor.androidx:jit-log:1.0.0@aar'
109
+
110
+ // Getting a "Could not find" error? Make sure that you've added Apxor's Maven repository to your root-level build.gradle file.
111
+ ```
112
+
113
+ > **NOTE**
114
+ >
115
+ > If you are using `firebase-messaging >= 22.0.0`, use **`"com.apxor.androidx:apxor-android-sdk-push-v2"`** instead of **`"com.apxor.androidx:apxor-android-sdk-push"`**
116
+
117
+ ```groovy
118
+ implementation('com.apxor.androidx:apxor-android-sdk-push-v2:1.2.7@aar') {
119
+ exclude group: 'com.google.firebase'
120
+ }
121
+ ```
122
+
123
+ 2. Create `plugins.json` file in the `android/app/src/main/assets/` directory.
124
+
125
+ 3. Paste the following JSON code in that file:
126
+
127
+ ```json
128
+ {
129
+ "plugins": [
130
+ {
131
+ "name": "rtm",
132
+ "class": "com.apxor.androidsdk.plugins.realtimeui.ApxorRealtimeUIPlugin"
133
+ },
134
+ {
135
+ "name": "crash",
136
+ "class": "com.apxor.androidsdk.plugins.crash.CrashReporterPlugin"
137
+ },
138
+ {
139
+ "name": "push",
140
+ "class": "com.apxor.androidsdk.plugins.push.PushPlugin"
141
+ },
142
+ {
143
+ "name": "surveys",
144
+ "class": "com.apxor.androidsdk.plugins.survey.SurveyPlugin"
145
+ },
146
+ {
147
+ "name": "wysiwyg",
148
+ "class": "com.apxor.androidsdk.plugins.wysiwyg.WYSIWYGPlugin"
149
+ },
150
+ {
151
+ "name": "jitlog",
152
+ "class": "com.apxor.androidsdk.plugins.jitlog.ApxorJITLogPlugin"
153
+ }
154
+ ]
155
+ }
156
+ ```
157
+
158
+ 4. If you have extended the `FirebaseMessagingService` in your application, please use the below code in your `extends FirebaseMessagingService` class to receive Push notifications sent from the Apxor dashboard:
159
+
160
+ ```java
161
+ if (remoteMessage.getFrom().equals(YOUR_FCM_SENDER_ID)) {
162
+ // Your logic goes here
163
+ } else {
164
+ if (ApxorPushAPI.isApxorNotification(remoteMessage)) {
165
+ ApxorPushAPI.handleNotification(remoteMessage, getApplicationContext());
166
+ } else {
167
+ // Silent or Data push notification which you can send through Apxor dashboard
168
+ }
169
+ }
170
+ ```
171
+
172
+ ---
173
+
174
+ ## 🍎 Integrate Apxor React Native iOS SDK
175
+
176
+ 1. To **Auto initialize** the SDK (**Recommended**), add the following inside your `application` plist file.
177
+ 2. Open your application's `Info.plist` as source code.
178
+ 3. Copy and paste the following piece of code, to create an entry for ApxorSDK:
179
+
180
+ ```xml
181
+ <key>Apxor</key>
182
+ <dict>
183
+ <key>Core</key>
184
+ <string>{YOUR_APP_ID}</string>
185
+ <key>APXSurveyPlugin</key>
186
+ <true/>
187
+ <key>APXRTAPlugin</key>
188
+ <true/>
189
+ <key>APXWYSIWYGPlugin</key>
190
+ <true/>
191
+ </dict>
192
+ ```
193
+
194
+ 4. To add the **APXWYSIWYGPlugin**, add the following to your application's `.podspec` file:
195
+
196
+ ```js
197
+ s.dependency 'Apxor-WYSIWYG', '1.0.84'
198
+ ```
199
+
200
+ > **NOTE**
201
+ >
202
+ > The `APXWYSIWYGPlugin` is only for **debug** builds, make sure to remove it for **production** builds.
203
+
204
+ ---
205
+
206
+ ## 🚀 API & Usage
207
+
208
+ ### Imports
209
+
210
+ ```javascript
211
+ // Import the SDK as a module
212
+ import Klaritics from 'klaritics-react-native-sdk'
213
+
214
+ // Or, import required modules
215
+ import { ApxNavigationContainer, logAppEvent } from 'klaritics-react-native-sdk'
216
+ ```
217
+
218
+ ### Set Custom User IDs
219
+
220
+ - Refer to the [Apxor Docs](https://docs.apxor.com/docs/APIs/react-native-guide#userid) for more details.
221
+
222
+ ```javascript
223
+ // Syntax
224
+ Klaritics.setUserIdentifier('user_id')
225
+
226
+ // Example
227
+ Klaritics.setUserIdentifier('john@doe.com')
228
+ ```
229
+
230
+ ### Set Custom User and Session Properties
231
+
232
+ - Refer to the [Apxor Docs](https://docs.apxor.com/docs/APIs/react-native-guide#user-properties) for more details.
233
+
234
+ ```javascript
235
+ // Syntax
236
+ Klaritics.setUserCustomInfo(properties)
237
+ Klaritics.setSessionCustomInfo(properties)
238
+
239
+ // Example
240
+ Klaritics.setUserCustomInfo({
241
+ city: 'Hyderabad',
242
+ age: 12,
243
+ })
244
+ ```
245
+
246
+ ### Wrapper Components
247
+
248
+ #### ApxorView
249
+
250
+ - A wrapper over React Native's `View` component to track the View changes in the app.
251
+
252
+ ```jsx
253
+ // Syntax
254
+ <ApxorView
255
+ tag='<unique_constant_tag>'
256
+ {...otherViewProps}
257
+ >
258
+ // Your code goes here
259
+ </ApxorView>
260
+ ```
261
+
262
+ ### Logging Events
263
+
264
+ - References :
265
+ - [App and Aggregate Events](https://docs.apxor.com/docs/APIs/react-native-guide#to-track-events)
266
+ - [Client Events](https://docs.apxor.com/docs/APIs/react-native-guide#to-track-client-events)
267
+
268
+ ```javascript
269
+ // Syntax
270
+ Klaritics.logAppEvent(event_name, properties)
271
+
272
+ // Example
273
+ Klaritics.logAppEvent('ADD_TO_CART', {
274
+ userId: 'user@example.com',
275
+ value: 1299,
276
+ item: 'Sony Head Phone 1201',
277
+ })
278
+ ```
279
+
280
+ ### Tracking Navigation
281
+
282
+ - References :
283
+ - [Track Navigation](https://docs.apxor.com/docs/APIs/react-native-guide#track-navigation)
284
+ - [React Navigation](https://reactnavigation.org/docs/getting-started/#wrapping-your-app-in-navigationcontainer)
285
+
286
+ #### A. Screen Navigation
287
+
288
+ ##### 1. If you are already using `@react-navigation` for navigation in your app, Apxor SDK automatically tracks screen navigation if you follow the below mentioned steps:
289
+
290
+ ```jsx
291
+ import { useNavigationContainerRef } from '@react-navigation/native'
292
+
293
+ const navigationRef = useNavigationContainerRef()
294
+
295
+ return (
296
+ <NavigationContainer
297
+ ref={navigationRef}
298
+ onReady={() => {
299
+ const currentRoute = navigationRef?.current.getCurrentRoute()
300
+ if (currentRoute) {
301
+ Klaritics.trackScreen(currentRoute.name)
302
+ }
303
+ }}
304
+ onStateChange={() => {
305
+ const currentRoute = navigationRef?.current.getCurrentRoute()
306
+ if (currentRoute) {
307
+ Klaritics.trackScreen(currentRoute.name)
308
+ }
309
+ }}
310
+ >
311
+ // your screens and navigators
312
+ </NavigationContainer>
313
+ )
314
+ ```
315
+
316
+ ##### 2. Otherwise
317
+
318
+ ```javascript
319
+ // Syntax
320
+ Klaritics.logNavigationEvent(screen_name)
321
+
322
+ // Example
323
+ Klaritics.logNavigationEvent('LoginScreen')
324
+ ```
325
+
326
+ #### B. Tab Navigation
327
+
328
+ ```javascript
329
+ // Syntax
330
+ Klaritics.trackScreen(tab_name)
331
+
332
+ // Example
333
+ Klaritics.trackScreen('Home')
334
+ ```
@@ -0,0 +1,66 @@
1
+ buildscript {
2
+ if (project == rootProject) {
3
+ repositories {
4
+ google()
5
+ jcenter()
6
+ }
7
+
8
+ dependencies {
9
+ classpath 'com.android.tools.build:gradle:3.5.3'
10
+ }
11
+ }
12
+ }
13
+
14
+ apply plugin: 'com.android.library'
15
+
16
+ def safeExtGet(prop, fallback) {
17
+ rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
18
+ }
19
+
20
+ android {
21
+ compileSdkVersion safeExtGet('Klaritics_compileSdkVersion', 34)
22
+ defaultConfig {
23
+ minSdkVersion safeExtGet('Klaritics_minSdkVersion', 16)
24
+ targetSdkVersion safeExtGet('Klaritics_targetSdkVersion', 29)
25
+ versionCode 1
26
+ versionName "1.0"
27
+
28
+ }
29
+
30
+ buildTypes {
31
+ release {
32
+ minifyEnabled false
33
+ }
34
+ }
35
+ lintOptions {
36
+ disable 'GradleCompatible'
37
+ abortOnError false
38
+ }
39
+ compileOptions {
40
+ sourceCompatibility JavaVersion.VERSION_1_8
41
+ targetCompatibility JavaVersion.VERSION_1_8
42
+ }
43
+ }
44
+
45
+ repositories {
46
+ mavenLocal()
47
+ maven {
48
+ // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
49
+ url("$rootDir/../node_modules/react-native/android")
50
+ }
51
+ // Klaritics Android SDK is published to a private Google Artifact Registry repo.
52
+ maven {
53
+ url "https://asia-south1-maven.pkg.dev/org-infra-471907/klaritics-android-sdk"
54
+ }
55
+ google()
56
+ jcenter()
57
+ }
58
+
59
+ dependencies {
60
+ //noinspection GradleDynamicVersion
61
+ implementation "com.facebook.react:react-native:+" // From node_modules
62
+
63
+ // Klaritics Android core SDK. `api` so the host app can access the SDK too.
64
+ api 'com.deeptaai.klaritics:klaritics-android-sdk:1.0.0'
65
+
66
+ }
@@ -0,0 +1,5 @@
1
+ distributionBase=GRADLE_USER_HOME
2
+ distributionPath=wrapper/dists
3
+ distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip
4
+ zipStoreBase=GRADLE_USER_HOME
5
+ zipStorePath=wrapper/dists
@@ -0,0 +1,185 @@
1
+ #!/usr/bin/env sh
2
+
3
+ #
4
+ # Copyright 2015 the original author or 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 UN*X
22
+ ##
23
+ ##############################################################################
24
+
25
+ # Attempt to set APP_HOME
26
+ # Resolve links: $0 may be a link
27
+ PRG="$0"
28
+ # Need this for relative symlinks.
29
+ while [ -h "$PRG" ] ; do
30
+ ls=`ls -ld "$PRG"`
31
+ link=`expr "$ls" : '.*-> \(.*\)$'`
32
+ if expr "$link" : '/.*' > /dev/null; then
33
+ PRG="$link"
34
+ else
35
+ PRG=`dirname "$PRG"`"/$link"
36
+ fi
37
+ done
38
+ SAVED="`pwd`"
39
+ cd "`dirname \"$PRG\"`/" >/dev/null
40
+ APP_HOME="`pwd -P`"
41
+ cd "$SAVED" >/dev/null
42
+
43
+ APP_NAME="Gradle"
44
+ APP_BASE_NAME=`basename "$0"`
45
+
46
+ # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
47
+ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
48
+
49
+ # Use the maximum available, or set MAX_FD != -1 to use that value.
50
+ MAX_FD="maximum"
51
+
52
+ warn () {
53
+ echo "$*"
54
+ }
55
+
56
+ die () {
57
+ echo
58
+ echo "$*"
59
+ echo
60
+ exit 1
61
+ }
62
+
63
+ # OS specific support (must be 'true' or 'false').
64
+ cygwin=false
65
+ msys=false
66
+ darwin=false
67
+ nonstop=false
68
+ case "`uname`" in
69
+ CYGWIN* )
70
+ cygwin=true
71
+ ;;
72
+ Darwin* )
73
+ darwin=true
74
+ ;;
75
+ MINGW* )
76
+ msys=true
77
+ ;;
78
+ NONSTOP* )
79
+ nonstop=true
80
+ ;;
81
+ esac
82
+
83
+ CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
84
+
85
+
86
+ # Determine the Java command to use to start the JVM.
87
+ if [ -n "$JAVA_HOME" ] ; then
88
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
89
+ # IBM's JDK on AIX uses strange locations for the executables
90
+ JAVACMD="$JAVA_HOME/jre/sh/java"
91
+ else
92
+ JAVACMD="$JAVA_HOME/bin/java"
93
+ fi
94
+ if [ ! -x "$JAVACMD" ] ; then
95
+ die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
96
+
97
+ Please set the JAVA_HOME variable in your environment to match the
98
+ location of your Java installation."
99
+ fi
100
+ else
101
+ JAVACMD="java"
102
+ which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
103
+
104
+ Please set the JAVA_HOME variable in your environment to match the
105
+ location of your Java installation."
106
+ fi
107
+
108
+ # Increase the maximum file descriptors if we can.
109
+ if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
110
+ MAX_FD_LIMIT=`ulimit -H -n`
111
+ if [ $? -eq 0 ] ; then
112
+ if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
113
+ MAX_FD="$MAX_FD_LIMIT"
114
+ fi
115
+ ulimit -n $MAX_FD
116
+ if [ $? -ne 0 ] ; then
117
+ warn "Could not set maximum file descriptor limit: $MAX_FD"
118
+ fi
119
+ else
120
+ warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
121
+ fi
122
+ fi
123
+
124
+ # For Darwin, add options to specify how the application appears in the dock
125
+ if $darwin; then
126
+ GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
127
+ fi
128
+
129
+ # For Cygwin or MSYS, switch paths to Windows format before running java
130
+ if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
131
+ APP_HOME=`cygpath --path --mixed "$APP_HOME"`
132
+ CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
133
+
134
+ JAVACMD=`cygpath --unix "$JAVACMD"`
135
+
136
+ # We build the pattern for arguments to be converted via cygpath
137
+ ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
138
+ SEP=""
139
+ for dir in $ROOTDIRSRAW ; do
140
+ ROOTDIRS="$ROOTDIRS$SEP$dir"
141
+ SEP="|"
142
+ done
143
+ OURCYGPATTERN="(^($ROOTDIRS))"
144
+ # Add a user-defined pattern to the cygpath arguments
145
+ if [ "$GRADLE_CYGPATTERN" != "" ] ; then
146
+ OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
147
+ fi
148
+ # Now convert the arguments - kludge to limit ourselves to /bin/sh
149
+ i=0
150
+ for arg in "$@" ; do
151
+ CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
152
+ CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
153
+
154
+ if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
155
+ eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
156
+ else
157
+ eval `echo args$i`="\"$arg\""
158
+ fi
159
+ i=`expr $i + 1`
160
+ done
161
+ case $i in
162
+ 0) set -- ;;
163
+ 1) set -- "$args0" ;;
164
+ 2) set -- "$args0" "$args1" ;;
165
+ 3) set -- "$args0" "$args1" "$args2" ;;
166
+ 4) set -- "$args0" "$args1" "$args2" "$args3" ;;
167
+ 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
168
+ 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
169
+ 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
170
+ 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
171
+ 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
172
+ esac
173
+ fi
174
+
175
+ # Escape application args
176
+ save () {
177
+ for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
178
+ echo " "
179
+ }
180
+ APP_ARGS=`save "$@"`
181
+
182
+ # Collect all arguments for the java command, following the shell quoting and substitution rules
183
+ eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
184
+
185
+ exec "$JAVACMD" "$@"
@@ -0,0 +1,104 @@
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
+
17
+ @if "%DEBUG%" == "" @echo off
18
+ @rem ##########################################################################
19
+ @rem
20
+ @rem Gradle startup script for Windows
21
+ @rem
22
+ @rem ##########################################################################
23
+
24
+ @rem Set local scope for the variables with windows NT shell
25
+ if "%OS%"=="Windows_NT" setlocal
26
+
27
+ set DIRNAME=%~dp0
28
+ if "%DIRNAME%" == "" set DIRNAME=.
29
+ set APP_BASE_NAME=%~n0
30
+ set APP_HOME=%DIRNAME%
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
+
35
+ @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
36
+ set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
37
+
38
+ @rem Find java.exe
39
+ if defined JAVA_HOME goto findJavaFromJavaHome
40
+
41
+ set JAVA_EXE=java.exe
42
+ %JAVA_EXE% -version >NUL 2>&1
43
+ if "%ERRORLEVEL%" == "0" goto init
44
+
45
+ echo.
46
+ echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
47
+ echo.
48
+ echo Please set the JAVA_HOME variable in your environment to match the
49
+ echo location of your Java installation.
50
+
51
+ goto fail
52
+
53
+ :findJavaFromJavaHome
54
+ set JAVA_HOME=%JAVA_HOME:"=%
55
+ set JAVA_EXE=%JAVA_HOME%/bin/java.exe
56
+
57
+ if exist "%JAVA_EXE%" goto init
58
+
59
+ echo.
60
+ echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
61
+ echo.
62
+ echo Please set the JAVA_HOME variable in your environment to match the
63
+ echo location of your Java installation.
64
+
65
+ goto fail
66
+
67
+ :init
68
+ @rem Get command-line arguments, handling Windows variants
69
+
70
+ if not "%OS%" == "Windows_NT" goto win9xME_args
71
+
72
+ :win9xME_args
73
+ @rem Slurp the command line arguments.
74
+ set CMD_LINE_ARGS=
75
+ set _SKIP=2
76
+
77
+ :win9xME_args_slurp
78
+ if "x%~1" == "x" goto execute
79
+
80
+ set CMD_LINE_ARGS=%*
81
+
82
+ :execute
83
+ @rem Setup the command line
84
+
85
+ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
86
+
87
+
88
+ @rem Execute Gradle
89
+ "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
90
+
91
+ :end
92
+ @rem End local scope for the variables with windows NT shell
93
+ if "%ERRORLEVEL%"=="0" goto mainEnd
94
+
95
+ :fail
96
+ rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
97
+ rem the _cmd.exe /c_ return code!
98
+ if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
99
+ exit /b 1
100
+
101
+ :mainEnd
102
+ if "%OS%"=="Windows_NT" endlocal
103
+
104
+ :omega
@@ -0,0 +1,4 @@
1
+ <manifest xmlns:android="http://schemas.android.com/apk/res/android"
2
+ package="com.deeptaai.reactnativesdk">
3
+
4
+ </manifest>