cordova-plugin-appice 2.0.4 → 2.0.7
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 +2 -0
- package/example/config.xml +59 -0
- package/example/package.json +39 -0
- package/example/res/ai_android.pem +40 -0
- package/example/www/css/index.css +117 -0
- package/example/www/img/cordova_logo.png +0 -0
- package/example/www/img/logo.png +0 -0
- package/example/www/index.html +62 -0
- package/example/www/js/index.js +102 -0
- package/libcordova/android-release-aar.gradle +63 -0
- package/libcordova/build.gradle +50 -0
- package/libcordova/cordova.jar +0 -0
- package/libcordova/proguard-rules.pro +21 -0
- package/libcordova/src/main/AndroidManifest.xml +24 -0
- package/libcordova/src/main/java/com/appice/cordova/AppICEPlugin.java +969 -0
- package/libcordova/src/main/java/com/appice/cordova/CampaignCampsReceiver.java +95 -0
- package/libcordova/src/main/java/com/appice/cordova/NotificationEventService.java +55 -0
- package/libcordova/src/main/res/values/strings.xml +3 -0
- package/package.json +2 -2
- package/plugin.xml +5 -6
- package/scripts/BeforeAndroidBuilt.js +2 -7
- package/src/firebase/modified/modified.iml +11 -0
- package/src/firebase/original/original.iml +11 -0
- package/src/ios/AppICEPlugin.h +1 -0
- package/src/ios/AppICEPlugin.m +19 -0
package/README.md
CHANGED
|
@@ -88,6 +88,8 @@ AppICE.setCustomVariable("<variable name>", "<variable value>");
|
|
|
88
88
|
// To set user info
|
|
89
89
|
AppICE.setUser("<user-name>", "<user-phone>", "<user-email>");
|
|
90
90
|
|
|
91
|
+
//To set user id
|
|
92
|
+
AppICE.setUserId("<userID>");
|
|
91
93
|
// Build project and run
|
|
92
94
|
if (cordova-plugin) {
|
|
93
95
|
// If you are using plugin as cordova wrapper
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
<?xml version='1.0' encoding='utf-8'?>
|
|
2
|
+
<widget id="com.appice.sample" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0" xmlns:mfp="http://www.ibm.com/mobilefirst/cordova-plugin-mfp">
|
|
3
|
+
<name>SampleApp</name>
|
|
4
|
+
<description>Sample Apache Cordova App</description>
|
|
5
|
+
<author email="dev@cordova.apache.org" href="https://cordova.apache.org">
|
|
6
|
+
Apache Cordova Team
|
|
7
|
+
</author>
|
|
8
|
+
<content src="index.html" />
|
|
9
|
+
<allow-intent href="http://*/*" />
|
|
10
|
+
<allow-intent href="https://*/*" />
|
|
11
|
+
<platform name="android">
|
|
12
|
+
<preference name="APPICE_FIREBASE_UPDATE" value="false" />
|
|
13
|
+
<preference name="APPICE_APPLICATIONCLASS_INCLUDE" value="false" />
|
|
14
|
+
<preference name="MFP_PUSH" value="true" />
|
|
15
|
+
</platform>
|
|
16
|
+
<mfp:android>
|
|
17
|
+
<mfp:sdkChecksum>2324313685</mfp:sdkChecksum>
|
|
18
|
+
<mfp:appChecksum>0</mfp:appChecksum>
|
|
19
|
+
<mfp:security>
|
|
20
|
+
<mfp:testWebResourcesChecksum enabled="false" ignoreFileExtensions="png, jpg, jpeg, gif, mp4, mp3" />
|
|
21
|
+
</mfp:security>
|
|
22
|
+
</mfp:android>
|
|
23
|
+
<mfp:ios>
|
|
24
|
+
<mfp:sdkChecksum>3763319975</mfp:sdkChecksum>
|
|
25
|
+
<mfp:appChecksum>0</mfp:appChecksum>
|
|
26
|
+
<mfp:security>
|
|
27
|
+
<mfp:testWebResourcesChecksum enabled="false" ignoreFileExtensions="png, jpg, jpeg, gif, mp4, mp3" />
|
|
28
|
+
</mfp:security>
|
|
29
|
+
</mfp:ios>
|
|
30
|
+
<mfp:windows>
|
|
31
|
+
<mfp:windows8>
|
|
32
|
+
<mfp:sdkChecksum>0</mfp:sdkChecksum>
|
|
33
|
+
<mfp:security>
|
|
34
|
+
<mfp:testWebResourcesChecksum enabled="false" ignoreFileExtensions="png, jpg, jpeg, gif, mp4, mp3" />
|
|
35
|
+
</mfp:security>
|
|
36
|
+
</mfp:windows8>
|
|
37
|
+
<mfp:windowsphone8>
|
|
38
|
+
<mfp:sdkChecksum>0</mfp:sdkChecksum>
|
|
39
|
+
<mfp:security>
|
|
40
|
+
<mfp:testWebResourcesChecksum enabled="false" ignoreFileExtensions="png, jpg, jpeg, gif, mp4, mp3" />
|
|
41
|
+
</mfp:security>
|
|
42
|
+
</mfp:windowsphone8>
|
|
43
|
+
<mfp:windows10>
|
|
44
|
+
<mfp:sdkChecksum>0</mfp:sdkChecksum>
|
|
45
|
+
<mfp:security>
|
|
46
|
+
<mfp:testWebResourcesChecksum enabled="false" ignoreFileExtensions="png, jpg, jpeg, gif, mp4, mp3" />
|
|
47
|
+
</mfp:security>
|
|
48
|
+
</mfp:windows10>
|
|
49
|
+
<mfp:appChecksum>0</mfp:appChecksum>
|
|
50
|
+
</mfp:windows>
|
|
51
|
+
<mfp:platformVersion>8.0.0.00-20230405-123148</mfp:platformVersion>
|
|
52
|
+
<mfp:clientCustomInit enabled="false" />
|
|
53
|
+
<mfp:server runtime="mfp" url="http://10.0.0.1:9080" />
|
|
54
|
+
<mfp:serverUri url="" />
|
|
55
|
+
<mfp:directUpdateAuthenticityPublicKey />
|
|
56
|
+
<mfp:languagePreferences>en</mfp:languagePreferences>
|
|
57
|
+
<mfp:APIproxyURL>/adapters/MobileAPIProxy</mfp:APIproxyURL>
|
|
58
|
+
<mfp:SDKProtocolVersion>2</mfp:SDKProtocolVersion>
|
|
59
|
+
</widget>
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "com.appice.sample",
|
|
3
|
+
"displayName": "SampleApp",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"description": "A sample Apache Cordova application that responds to the deviceready event.",
|
|
6
|
+
"main": "index.js",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"test": "echo \"Error: no test specified\" && exit 1"
|
|
9
|
+
},
|
|
10
|
+
"keywords": [
|
|
11
|
+
"ecosystem:cordova"
|
|
12
|
+
],
|
|
13
|
+
"author": "Apache Cordova Team",
|
|
14
|
+
"license": "Apache-2.0",
|
|
15
|
+
"devDependencies": {
|
|
16
|
+
"cordova-android": "^10.1.2",
|
|
17
|
+
"cordova-ios": "^6.3.0",
|
|
18
|
+
"cordova-plugin-appice": "^2.0.4",
|
|
19
|
+
"cordova-plugin-device": "^2.1.0",
|
|
20
|
+
"cordova-plugin-dialogs": "^2.0.2",
|
|
21
|
+
"cordova-plugin-file": "^7.0.0",
|
|
22
|
+
"cordova-plugin-globalization": "^1.11.0",
|
|
23
|
+
"cordova-plugin-mfp": "^8.0.2023050905"
|
|
24
|
+
},
|
|
25
|
+
"cordova": {
|
|
26
|
+
"platforms": [
|
|
27
|
+
"android",
|
|
28
|
+
"ios"
|
|
29
|
+
],
|
|
30
|
+
"plugins": {
|
|
31
|
+
"cordova-plugin-mfp": {},
|
|
32
|
+
"cordova-plugin-appice": {
|
|
33
|
+
"APPICE_APP_ID": "5bebe93c25d705690ffbc758",
|
|
34
|
+
"APPICE_API_KEY": "d985715d1bb48942d36d5d08de3b6a8c",
|
|
35
|
+
"APPICE_APP_KEY": "9e9ec60197c8373a11ac15ce4dae80e973608ab2"
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
MIIG8jCCBdqgAwIBAgIQDVRO7n1m2pUcMWP2AF6VMDANBgkqhkiG9w0BAQsFADBE
|
|
3
|
+
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMR4wHAYDVQQDExVE
|
|
4
|
+
aWdpQ2VydCBFViBSU0EgQ0EgRzIwHhcNMjMwNDEwMDAwMDAwWhcNMjQwNTEwMjM1
|
|
5
|
+
OTU5WjCBuTETMBEGCysGAQQBgjc8AgEDEwJJTjEaMBgGA1UEDwwRR292ZXJubWVu
|
|
6
|
+
dCBFbnRpdHkxGjAYBgNVBAUTEUdvdmVybm1lbnQgRW50aXR5MQswCQYDVQQGEwJJ
|
|
7
|
+
TjEUMBIGA1UECBMLTWFoYXJhc2h0cmExDzANBgNVBAcTBk11bWJhaTEcMBoGA1UE
|
|
8
|
+
ChMTU1RBVEUgQkFOSyBPRiBJTkRJQTEYMBYGA1UEAxMPdWF0YXBpLnlvbm8uc2Jp
|
|
9
|
+
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAm0aLah+u/1tM5N+jSlVy
|
|
10
|
+
A6i3DHeTr29T9JQutQJEMv53GwrKVCN1ZBWn3tvUf9pxXVG0h+e3q//zTnOsWKiJ
|
|
11
|
+
kbtRKgajg+EUDvGtdcItfNg4sP1dAUFxDi6RhmNGXnxxA/9LUwBcW5TRhciZg2g8
|
|
12
|
+
CE1YXL+3IHvdvZ0luHLOlkxCW/I/bujC+Rt8vnWWURBalK7RwmjeTTN6wbOba9KZ
|
|
13
|
+
Ui+Y3BTdajm+3xur2Qzb/EubxDYypHVGZVGQwEzyKOp3n3QEAoLmeOzFgg9oXBv5
|
|
14
|
+
frjJoGDzGO3qwplQ9anPmNU13ge/tvYSfxkBWYYrri9gpwhNiY1o5nEhsd9aqLqH
|
|
15
|
+
oQIDAQABo4IDaDCCA2QwHwYDVR0jBBgwFoAUak5Qv5honVt7IHXUWQF5SGaSMgYw
|
|
16
|
+
HQYDVR0OBBYEFDd/i9X1xXKF7s8RGMe2KstoZxcGMC8GA1UdEQQoMCaCD3VhdGFw
|
|
17
|
+
aS55b25vLnNiaYITd3d3LnVhdGFwaS55b25vLnNiaTAOBgNVHQ8BAf8EBAMCBaAw
|
|
18
|
+
HQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMHUGA1UdHwRuMGwwNKAyoDCG
|
|
19
|
+
Lmh0dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEVWUlNBQ0FHMi5jcmww
|
|
20
|
+
NKAyoDCGLmh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEVWUlNBQ0FH
|
|
21
|
+
Mi5jcmwwSgYDVR0gBEMwQTALBglghkgBhv1sAgEwMgYFZ4EMAQEwKTAnBggrBgEF
|
|
22
|
+
BQcCARYbaHR0cDovL3d3dy5kaWdpY2VydC5jb20vQ1BTMHMGCCsGAQUFBwEBBGcw
|
|
23
|
+
ZTAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29tMD0GCCsGAQUF
|
|
24
|
+
BzAChjFodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRFVlJTQUNB
|
|
25
|
+
RzIuY3J0MAkGA1UdEwQCMAAwggF9BgorBgEEAdZ5AgQCBIIBbQSCAWkBZwB2AHb/
|
|
26
|
+
iD8KtvuVUcJhzPWHujS0pM27KdxoQgqf5mdMWjp0AAABh2uGCNsAAAQDAEcwRQIg
|
|
27
|
+
efccvRnXWr2MfdFvoRv6k5iXNK7xyyTe4vBYWgBe+GECIQDPGLqb+Y5annyn2mrC
|
|
28
|
+
roinpOM0U0Qj4FloDqqrEATRRQB2AHPZnokbTJZ4oCB9R53mssYc0FFecRkqjGuA
|
|
29
|
+
EHrBd3K1AAABh2uGCPcAAAQDAEcwRQIgSLsfExkcPPbjVC6eC7SOrLWzf422w4Zv
|
|
30
|
+
+ik6wAc0m6ECIQCQxsKuLPkH3dybLvk+pcPrSylvRArnWI/Fd505GGW6JgB1AEiw
|
|
31
|
+
42vapkc0D+VqAvqdMOscUgHLVt0sgdm7v6s52IRzAAABh2uGCMUAAAQDAEYwRAIg
|
|
32
|
+
eP9dQ50O8kUZMbne7/rT6bmkXpUP/4BfrGQFlOZWBcYCIGoYT6YSqYS/MDagiIyF
|
|
33
|
+
obUyabjeKX5QafZlfepEymx1MA0GCSqGSIb3DQEBCwUAA4IBAQAD0o+vC4+vK+f4
|
|
34
|
+
mZA30iiSmahndi9sLFr5QAPe0BLH1tp7OWlyKdTNCdpclPFoB0AexnKACyXiA7Dg
|
|
35
|
+
EVhzzxZ9a6ovZle3aq8mZeuRo2caeTHYoM3MYIHF998k4LvfWz3qxPcjQYXCEwjb
|
|
36
|
+
zxnuZmMiRkLv/yQMFlM4RoaHc9NJYlsiyaMI6YJZp5WsCa3D2ZkaX7QVuYdL5mad
|
|
37
|
+
Gqax5Yk61DPJ0B/9uj1MTRvwI/gh/KQG8RQFBOAmmkSb5R1ZmXWbPKOqGFKkkZqs
|
|
38
|
+
9b8/p6pbHeJE94WjhT0L/VCa7d5kvhgxtXvYb15ZhpaENFSMSfmknkr0O1VndcpR
|
|
39
|
+
pLMUJZww
|
|
40
|
+
-----END CERTIFICATE-----
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Licensed to the Apache Software Foundation (ASF) under one
|
|
3
|
+
* or more contributor license agreements. See the NOTICE file
|
|
4
|
+
* distributed with this work for additional information
|
|
5
|
+
* regarding copyright ownership. The ASF licenses this file
|
|
6
|
+
* to you under the Apache License, Version 2.0 (the
|
|
7
|
+
* "License"); you may not use this file except in compliance
|
|
8
|
+
* with the License. You may obtain a copy of the License at
|
|
9
|
+
*
|
|
10
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
*
|
|
12
|
+
* Unless required by applicable law or agreed to in writing,
|
|
13
|
+
* software distributed under the License is distributed on an
|
|
14
|
+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
15
|
+
* KIND, either express or implied. See the License for the
|
|
16
|
+
* specific language governing permissions and limitations
|
|
17
|
+
* under the License.
|
|
18
|
+
*/
|
|
19
|
+
* {
|
|
20
|
+
-webkit-tap-highlight-color: rgba(0,0,0,0); /* make transparent link selection, adjust last value opacity 0 to 1.0 */
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
body {
|
|
24
|
+
-webkit-touch-callout: none; /* prevent callout to copy image, etc when tap to hold */
|
|
25
|
+
-webkit-text-size-adjust: none; /* prevent webkit from resizing text to fit */
|
|
26
|
+
-webkit-user-select: none; /* prevent copy paste, to allow, change 'none' to 'text' */
|
|
27
|
+
background-color:#E4E4E4;
|
|
28
|
+
background-image:linear-gradient(to bottom, #FFFFFF 0%, #E4E4E4 51%);
|
|
29
|
+
font-family: system-ui, -apple-system, -apple-system-font, 'Segoe UI', 'Roboto', sans-serif;
|
|
30
|
+
font-size:12px;
|
|
31
|
+
height:100vh;
|
|
32
|
+
margin:0px;
|
|
33
|
+
padding:0px;
|
|
34
|
+
/* Padding to avoid the "unsafe" areas behind notches in the screen */
|
|
35
|
+
padding: env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px);
|
|
36
|
+
text-transform:uppercase;
|
|
37
|
+
width:100%;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/* Portrait layout (default) */
|
|
41
|
+
.app {
|
|
42
|
+
background:url(../img/logo.png) no-repeat center top; /* 170px x 200px */
|
|
43
|
+
/* position in the center of the screen */
|
|
44
|
+
|
|
45
|
+
text-align:center;
|
|
46
|
+
padding:224px 0px 55px 53px; /* image height is 200px (bottom 20px are overlapped with text) */
|
|
47
|
+
margin:48px 0px 0px -48px; /* offset vertical: half of image height and text area height */
|
|
48
|
+
/* offset horizontal: half of text area width */
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/* Landscape layout (with min-width) */
|
|
52
|
+
/* @media screen and (min-aspect-ratio: 1/1) and (min-width:400px) {
|
|
53
|
+
.app {
|
|
54
|
+
background-position:left center;
|
|
55
|
+
padding:75px 0px 75px 170px; padding-top + padding-bottom + text area = image height
|
|
56
|
+
margin:-90px 0px 0px -198px; offset vertical: half of image height
|
|
57
|
+
offset horizontal: half of image width and text area width
|
|
58
|
+
}
|
|
59
|
+
} */
|
|
60
|
+
|
|
61
|
+
h1 {
|
|
62
|
+
font-size:24px;
|
|
63
|
+
font-weight:normal;
|
|
64
|
+
margin:0px;
|
|
65
|
+
overflow:visible;
|
|
66
|
+
padding:0px;
|
|
67
|
+
text-align:center;
|
|
68
|
+
color:#FFFFFF;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.event {
|
|
72
|
+
border-radius:4px;
|
|
73
|
+
color:#FFFFFF;
|
|
74
|
+
font-size:12px;
|
|
75
|
+
margin:0px 30px;
|
|
76
|
+
padding:2px 0px;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.event.listening {
|
|
80
|
+
background-color:#FFFFFF;
|
|
81
|
+
display:block;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.event.received {
|
|
85
|
+
background-color:#4B946A;
|
|
86
|
+
display:none;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
#deviceready.ready .event.listening { display: none; }
|
|
90
|
+
#deviceready.ready .event.received { display: block; }
|
|
91
|
+
|
|
92
|
+
@keyframes fade {
|
|
93
|
+
from { opacity: 1.0; }
|
|
94
|
+
50% { opacity: 0.4; }
|
|
95
|
+
to { opacity: 1.0; }
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.blink {
|
|
99
|
+
animation:fade 3000ms infinite;
|
|
100
|
+
-webkit-animation:fade 3000ms infinite;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
@media screen and (prefers-color-scheme: dark) {
|
|
105
|
+
body {
|
|
106
|
+
background-image:linear-gradient(to bottom, #FFFFFF 0%, #FFFFFF 51%);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.btn2{
|
|
111
|
+
padding-top: 20px;
|
|
112
|
+
padding-bottom: 20px;
|
|
113
|
+
background-color: #4B946A;
|
|
114
|
+
color: #FFFFFF;
|
|
115
|
+
width: 139px;
|
|
116
|
+
|
|
117
|
+
}
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<!--
|
|
3
|
+
Licensed to the Apache Software Foundation (ASF) under one
|
|
4
|
+
or more contributor license agreements. See the NOTICE file
|
|
5
|
+
distributed with this work for additional information
|
|
6
|
+
regarding copyright ownership. The ASF licenses this file
|
|
7
|
+
to you under the Apache License, Version 2.0 (the
|
|
8
|
+
"License"); you may not use this file except in compliance
|
|
9
|
+
with the License. You may obtain a copy of the License at
|
|
10
|
+
|
|
11
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
|
|
13
|
+
Unless required by applicable law or agreed to in writing,
|
|
14
|
+
software distributed under the License is distributed on an
|
|
15
|
+
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
16
|
+
KIND, either express or implied. See the License for the
|
|
17
|
+
specific language governing permissions and limitations
|
|
18
|
+
under the License.
|
|
19
|
+
-->
|
|
20
|
+
<html>
|
|
21
|
+
<head>
|
|
22
|
+
<meta charset="utf-8">
|
|
23
|
+
<!--
|
|
24
|
+
Customize this policy to fit your own app's needs. For more guidance, please refer to the docs:
|
|
25
|
+
https://cordova.apache.org/docs/en/latest/
|
|
26
|
+
Some notes:
|
|
27
|
+
* https://ssl.gstatic.com is required only on Android and is needed for TalkBack to function properly
|
|
28
|
+
* Disables use of inline scripts in order to mitigate risk of XSS vulnerabilities. To change this:
|
|
29
|
+
* Enable inline JS: add 'unsafe-inline' to default-src
|
|
30
|
+
-->
|
|
31
|
+
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; img-src 'self' data: content:;">
|
|
32
|
+
<meta name="format-detection" content="telephone=no">
|
|
33
|
+
<meta name="msapplication-tap-highlight" content="no">
|
|
34
|
+
<meta name="viewport" content="initial-scale=1, width=device-width, viewport-fit=cover">
|
|
35
|
+
<meta name="color-scheme" content="light dark">
|
|
36
|
+
<link rel="stylesheet" href="css/index.css">
|
|
37
|
+
<title>Hello World</title>
|
|
38
|
+
</head>
|
|
39
|
+
<body>
|
|
40
|
+
<div class="app">
|
|
41
|
+
<div id="deviceready" class="blink">
|
|
42
|
+
<p class="event listening">Connecting to Device</p>
|
|
43
|
+
<p class="event received">Device is Ready</p>
|
|
44
|
+
</div>
|
|
45
|
+
|
|
46
|
+
</div>
|
|
47
|
+
|
|
48
|
+
<div style="padding-top:10px ; padding-bottom: 10px; margin-left: 123px;">
|
|
49
|
+
<button id="event" class="btn2">Event</button>
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
<div style="padding-top:10px ; padding-bottom: 10px; margin-left: 123px;">
|
|
53
|
+
<button id="userid" class="btn2">User ID</button>
|
|
54
|
+
</div>
|
|
55
|
+
|
|
56
|
+
<div style="padding-top:10px ; padding-bottom: 10px; margin-left: 123px;">
|
|
57
|
+
<button id="userinfo" class="btn2">User Info</button>
|
|
58
|
+
</div>
|
|
59
|
+
<script src="cordova.js"></script>
|
|
60
|
+
<script src="js/index.js"></script>
|
|
61
|
+
</body>
|
|
62
|
+
</html>
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Licensed to the Apache Software Foundation (ASF) under one
|
|
3
|
+
* or more contributor license agreements. See the NOTICE file
|
|
4
|
+
* distributed with this work for additional information
|
|
5
|
+
* regarding copyright ownership. The ASF licenses this file
|
|
6
|
+
* to you under the Apache License, Version 2.0 (the
|
|
7
|
+
* "License"); you may not use this file except in compliance
|
|
8
|
+
* with the License. You may obtain a copy of the License at
|
|
9
|
+
*
|
|
10
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
*
|
|
12
|
+
* Unless required by applicable law or agreed to in writing,
|
|
13
|
+
* software distributed under the License is distributed on an
|
|
14
|
+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
15
|
+
* KIND, either express or implied. See the License for the
|
|
16
|
+
* specific language governing permissions and limitations
|
|
17
|
+
* under the License.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
// Wait for the deviceready event before using any of Cordova's device APIs.
|
|
21
|
+
// See https://cordova.apache.org/docs/en/latest/cordova/events/events.html#deviceready
|
|
22
|
+
document.addEventListener('deviceready', onDeviceReady, false);
|
|
23
|
+
|
|
24
|
+
function onDeviceReady() {
|
|
25
|
+
// Cordova is now initialized. Have fun!
|
|
26
|
+
|
|
27
|
+
console.log('Running cordova-' + cordova.platformId + '@' + cordova.version);
|
|
28
|
+
document.getElementById('deviceready').classList.add('ready');
|
|
29
|
+
initializesdk();
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// initialize appice sdk
|
|
33
|
+
//document.getElementById("initsdk").addEventListener("click", initializesdk);
|
|
34
|
+
function initializesdk(){
|
|
35
|
+
var certs = [];
|
|
36
|
+
// certs = ["assets/ai_android.pem"]; this is for enabling ssl pinning if no ssl certificates pass null
|
|
37
|
+
console.log("certs : ", certs);
|
|
38
|
+
AppICE.initSdk("5bebe93c25d705690ffbc758", "9e9ec60197c8373a11ac15ce4dae80e973608ab2", "d985715d1bb48942d36d5d08de3b6a8c", "",
|
|
39
|
+
"US",
|
|
40
|
+
"https://a.appice.io",
|
|
41
|
+
certs,
|
|
42
|
+
function (success) {
|
|
43
|
+
console.log("init success", success);
|
|
44
|
+
}, function (error) {
|
|
45
|
+
console.log("init Failed", error);
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
AppICE.setSessionTimeout(1800,
|
|
50
|
+
function(success){
|
|
51
|
+
console.log("Session success " + success);
|
|
52
|
+
},function(error){
|
|
53
|
+
console.log("Session Failed "+ error);
|
|
54
|
+
}
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
//set user id
|
|
60
|
+
document.getElementById("userid").addEventListener("click", userid);
|
|
61
|
+
function userid(){
|
|
62
|
+
const userid = ["987"];
|
|
63
|
+
AppICE.setUserId(userid,
|
|
64
|
+
function (success) {
|
|
65
|
+
console.log("Set user id success", success);
|
|
66
|
+
}, function (error) {
|
|
67
|
+
console.log("Set user id Failed", error);
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
//set user details
|
|
75
|
+
document.getElementById("userinfo").addEventListener("click", userinfo);
|
|
76
|
+
function userinfo(){
|
|
77
|
+
AppICE.setUser("Jhon Doe", "9876543210", "a@gmail.com", function (success) {
|
|
78
|
+
console.log("Set user success",success);
|
|
79
|
+
}, function (error) {
|
|
80
|
+
console.log("Set user error",error);
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
//get event
|
|
86
|
+
document.getElementById("event").addEventListener("click", allevent);
|
|
87
|
+
function allevent(){
|
|
88
|
+
console.log("inside event method");
|
|
89
|
+
var dataObj = {
|
|
90
|
+
"ClickedMenuBtn":"false",
|
|
91
|
+
"CLickedSubmitBtn":"false",
|
|
92
|
+
"AppName":"SampleApp"
|
|
93
|
+
};
|
|
94
|
+
AppICE.tagEvent("SampleApp", dataObj,
|
|
95
|
+
function(success) {
|
|
96
|
+
console.log("tagEvent success: " + JSON.stringify(success));
|
|
97
|
+
|
|
98
|
+
}, function(error) {
|
|
99
|
+
console.error("tagEvent Error : " + error);
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
// ./gradlew clean build generateRelease
|
|
2
|
+
apply plugin: 'maven'
|
|
3
|
+
|
|
4
|
+
def groupId = project.PUBLISH_GROUP_ID
|
|
5
|
+
def artifactId = project.PUBLISH_ARTIFACT_ID
|
|
6
|
+
def version = project.PUBLISH_VERSION
|
|
7
|
+
|
|
8
|
+
def localReleaseDest = "${buildDir}/release/${version}"
|
|
9
|
+
|
|
10
|
+
task androidJavadocs(type: Javadoc) {
|
|
11
|
+
source = android.sourceSets.main.java.srcDirs
|
|
12
|
+
ext.androidJar = "${android.sdkDirectory}/platforms/${android.compileSdkVersion}/android.jar"
|
|
13
|
+
classpath += files(ext.androidJar)
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) {
|
|
17
|
+
classifier = 'javadoc'
|
|
18
|
+
// from androidJavadocs.destinationDir
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
task androidSourcesJar(type: Jar) {
|
|
22
|
+
classifier = 'sources'
|
|
23
|
+
// from android.sourceSets.main.java.srcDirs
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
uploadArchives {
|
|
27
|
+
repositories.mavenDeployer {
|
|
28
|
+
pom.groupId = groupId
|
|
29
|
+
pom.artifactId = artifactId
|
|
30
|
+
pom.version = version
|
|
31
|
+
// Add other pom properties here if you want (developer details / licenses)
|
|
32
|
+
repository(url: "file://${localReleaseDest}")
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
task zipRelease(type: Zip) {
|
|
37
|
+
from localReleaseDest
|
|
38
|
+
destinationDir buildDir
|
|
39
|
+
archiveName "release-${version}.zip"
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
task generateRelease {
|
|
43
|
+
println "Release ${version} can be found at ${localReleaseDest}/"
|
|
44
|
+
println "Release ${version} zipped can be found ${buildDir}/release-${version}.zip"
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
generateRelease.dependsOn(uploadArchives)
|
|
48
|
+
generateRelease.dependsOn(zipRelease)
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
artifacts {
|
|
52
|
+
archives androidSourcesJar
|
|
53
|
+
archives androidJavadocsJar
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
//def installer = install.repositories.mavenInstaller
|
|
57
|
+
def deployer = uploadArchives.repositories.mavenDeployer
|
|
58
|
+
|
|
59
|
+
//[deployer]*.pom*.whenConfigured {
|
|
60
|
+
// pom -> pom.dependencies.find {dep -> dep.groupId == 'appice.io.android' && dep.artifactId == 'sdk' }.optional = true
|
|
61
|
+
//}
|
|
62
|
+
|
|
63
|
+
tasks.findByPath(":libcordova:androidJavadocs").enabled = false
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
apply plugin: 'com.android.library'
|
|
2
|
+
|
|
3
|
+
ext {
|
|
4
|
+
PUBLISH_GROUP_ID = 'appice.io.android'
|
|
5
|
+
PUBLISH_ARTIFACT_ID = 'cordova'
|
|
6
|
+
PUBLISH_VERSION = '2.5.47'
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
android {
|
|
10
|
+
compileSdkVersion 31
|
|
11
|
+
|
|
12
|
+
defaultConfig {
|
|
13
|
+
minSdkVersion 14
|
|
14
|
+
targetSdkVersion 31
|
|
15
|
+
versionCode 1
|
|
16
|
+
versionName "1.0"
|
|
17
|
+
consumerProguardFiles 'proguard-rules.pro'
|
|
18
|
+
}
|
|
19
|
+
buildTypes {
|
|
20
|
+
release {
|
|
21
|
+
minifyEnabled false
|
|
22
|
+
useProguard false
|
|
23
|
+
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
|
24
|
+
}
|
|
25
|
+
debug {
|
|
26
|
+
minifyEnabled false
|
|
27
|
+
useProguard false
|
|
28
|
+
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
lintOptions {
|
|
32
|
+
abortOnError false
|
|
33
|
+
}
|
|
34
|
+
buildToolsVersion '29.0.3'
|
|
35
|
+
compileOptions {
|
|
36
|
+
sourceCompatibility JavaVersion.VERSION_1_8
|
|
37
|
+
targetCompatibility JavaVersion.VERSION_1_8
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
dependencies {
|
|
42
|
+
implementation fileTree(include: ['*.jar'], dir: 'libs')
|
|
43
|
+
implementation 'androidx.appcompat:appcompat:1.1.0'
|
|
44
|
+
|
|
45
|
+
compileOnly files('cordova.jar')
|
|
46
|
+
|
|
47
|
+
implementation 'com.gitlab.grp_appice:src_android_appice-sdk:2.5.50'
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
apply from: 'android-release-aar.gradle'
|
|
Binary file
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Add project specific ProGuard rules here.
|
|
2
|
+
# You can control the set of applied configuration files using the
|
|
3
|
+
# proguardFiles setting in build.gradle.
|
|
4
|
+
#
|
|
5
|
+
# For more details, see
|
|
6
|
+
# http://developer.android.com/guide/developing/tools/proguard.html
|
|
7
|
+
|
|
8
|
+
# If your project uses WebView with JS, uncomment the following
|
|
9
|
+
# and specify the fully qualified class name to the JavaScript interface
|
|
10
|
+
# class:
|
|
11
|
+
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
|
12
|
+
# public *;
|
|
13
|
+
#}
|
|
14
|
+
|
|
15
|
+
# Uncomment this to preserve the line number information for
|
|
16
|
+
# debugging stack traces.
|
|
17
|
+
#-keepattributes SourceFile,LineNumberTable
|
|
18
|
+
|
|
19
|
+
# If you keep the line number information, uncomment this to
|
|
20
|
+
# hide the original source file name.
|
|
21
|
+
#-renamesourcefileattribute SourceFile
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
2
|
+
package="com.motobitinfo.libcordova">
|
|
3
|
+
|
|
4
|
+
<application android:allowBackup="false">
|
|
5
|
+
|
|
6
|
+
<receiver
|
|
7
|
+
android:name="com.appice.cordova.CampaignCampsReceiver"
|
|
8
|
+
android:exported="false"
|
|
9
|
+
android:protectionLevel="signature">
|
|
10
|
+
<intent-filter>
|
|
11
|
+
<action android:name="com.appice.campaignEvent" />
|
|
12
|
+
</intent-filter>
|
|
13
|
+
</receiver>
|
|
14
|
+
<service
|
|
15
|
+
android:name="com.appice.cordova.NotificationEventService"
|
|
16
|
+
android:exported="false"
|
|
17
|
+
android:permission="android.permission.BIND_JOB_SERVICE">
|
|
18
|
+
<intent-filter>
|
|
19
|
+
<action android:name="com.appice.campaignEvent" />
|
|
20
|
+
</intent-filter>
|
|
21
|
+
</service>
|
|
22
|
+
</application>
|
|
23
|
+
|
|
24
|
+
</manifest>
|