cordova-plugin-appice 2.0.8 → 2.0.10
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 +120 -122
- package/package.json +45 -27
- package/plugin.xml +168 -103
- package/scripts/BeforeAndroidBuilt.js +160 -126
- package/scripts/BeforeIosBuilt.js +38 -38
- package/scripts/androidAfterPluginAdd.js +159 -159
- package/scripts/androidAfterPluginRm.js +195 -195
- package/scripts/iOSAfterPluginAdd.js +98 -98
- package/scripts/iOSAfterPluginRm.js +73 -74
- package/src/android/AppICEMFPPush.java +177 -0
- package/{libcordova/src/main/java/com/appice/cordova → src/android}/AppICEPlugin.java +405 -489
- package/{libcordova/src/main/java/com/appice/cordova → src/android}/CampaignCampsReceiver.java +8 -9
- package/{libcordova/src/main/java/com/appice/cordova → src/android}/NotificationEventService.java +16 -7
- package/src/build.gradle +16 -14
- package/src/firebase/modified/android/FirebasePluginMessagingService.java +356 -356
- package/src/firebase/modified/ios/AppDelegate+FirebasePlugin.m +529 -529
- package/src/firebase/original/android/FirebasePluginMessagingService.java +348 -348
- package/src/firebase/original/ios/AppDelegate+FirebasePlugin.m +519 -519
- package/src/ios/AppDelegate+AppICEPlugin.h +8 -8
- package/src/ios/AppDelegate+AppICEPlugin.m +278 -191
- package/src/ios/AppICEPlugin.h +93 -90
- package/src/ios/AppICEPlugin.m +1161 -1062
- package/www/AppICE.js +289 -284
- package/libcordova/android-release-aar.gradle +0 -63
- package/libcordova/build.gradle +0 -50
- package/libcordova/cordova.jar +0 -0
- package/libcordova/proguard-rules.pro +0 -21
- package/libcordova/src/main/AndroidManifest.xml +0 -24
- package/libcordova/src/main/res/values/strings.xml +0 -3
- package/src/firebase/modified/modified.iml +0 -11
- package/src/firebase/original/original.iml +0 -11
|
@@ -1,126 +1,160 @@
|
|
|
1
|
-
module.exports = function(context) {
|
|
2
|
-
var fs =require
|
|
3
|
-
var path = require('path');
|
|
4
|
-
var shell = require('shelljs');
|
|
5
|
-
|
|
6
|
-
var platformRoot = path.join(context.opts.projectRoot, 'platforms/android');
|
|
7
|
-
var platformRootios = path.join(context.opts.projectRoot, 'platforms/ios');
|
|
8
|
-
|
|
9
|
-
var root_cert = path.join(context.opts.projectRoot, 'res');
|
|
10
|
-
//var root_cert_ios = path.join(context.opts.projectRoot, 'res/ai_ios.cer');
|
|
11
|
-
|
|
12
|
-
const cordovaCommon = context.requireCordovaModule('cordova-common');
|
|
13
|
-
const appConfig = new cordovaCommon.ConfigParser('config.xml');
|
|
14
|
-
const appName = appConfig.name();
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
1
|
+
module.exports = function (context) {
|
|
2
|
+
var fs = require('fs');
|
|
3
|
+
var path = require('path');
|
|
4
|
+
var shell = require('shelljs');
|
|
5
|
+
|
|
6
|
+
var platformRoot = path.join(context.opts.projectRoot, 'platforms/android');
|
|
7
|
+
var platformRootios = path.join(context.opts.projectRoot, 'platforms/ios');
|
|
8
|
+
|
|
9
|
+
var root_cert = path.join(context.opts.projectRoot, 'res');
|
|
10
|
+
//var root_cert_ios = path.join(context.opts.projectRoot, 'res/ai_ios.cer');
|
|
11
|
+
|
|
12
|
+
const cordovaCommon = context.requireCordovaModule('cordova-common');
|
|
13
|
+
const appConfig = new cordovaCommon.ConfigParser('config.xml');
|
|
14
|
+
const appName = appConfig.name();
|
|
15
|
+
var APPICE_FIREBASE_UPDATE = appConfig.getPlatformPreference("APPICE_FIREBASE_UPDATE", "android");
|
|
16
|
+
var APPICE_APPLICATIONCLASS_INCLUDE = appConfig.getPlatformPreference("APPICE_APPLICATIONCLASS_INCLUDE", "android");
|
|
17
|
+
var MFP_PUSH = appConfig.getPlatformPreference("MFP_PUSH", "android");
|
|
18
|
+
var SSL_PINNING = appConfig.getPlatformPreference("SSL_PINNING", "android");
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
var project_properties = path.join(platformRoot, 'project.properties');
|
|
22
|
+
///for SSL pinning
|
|
23
|
+
|
|
24
|
+
var appBuildGradlePath = path.join(platformRoot, 'app/build.gradle'); // Path to the app's build.gradle file
|
|
25
|
+
const pluginName = 'cordova-plugin-appice';
|
|
26
|
+
const pluginXmlPath = path.join(context.opts.projectRoot, 'plugins', pluginName, 'plugin.xml');
|
|
27
|
+
const sourceFileEntry = '<source-file src="src/android/AppICEMFPPush.java" target-dir="com/appice/cordova/" />';
|
|
28
|
+
|
|
29
|
+
if (MFP_PUSH === "true") {
|
|
30
|
+
var manifestFileNew = path.join(platformRoot, '/app/src/main/AndroidManifest.xml');
|
|
31
|
+
|
|
32
|
+
if (fs.existsSync(manifestFileNew)) {
|
|
33
|
+
try {
|
|
34
|
+
fs.readFile(manifestFileNew, 'utf8', function (err, data) {
|
|
35
|
+
if (err) {
|
|
36
|
+
throw new Error('Unable to find AndroidManifest.xml: ' + err);
|
|
37
|
+
}
|
|
38
|
+
var serviceTag = '<service android:exported="true" android:name="com.appice.cordova.AppICEMFPPush">';
|
|
39
|
+
|
|
40
|
+
if (data.indexOf(serviceTag) == -1) {
|
|
41
|
+
var result = data.replace(/<service android:exported="false" android:name="com.ibm.fcmtest.myIntentService">/g, serviceTag);
|
|
42
|
+
fs.writeFile(manifestFileNew, result, 'utf8', function (err) {
|
|
43
|
+
if (err) {
|
|
44
|
+
throw new Error('Unable to write into AndroidManifest.xml: ' + err);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
} catch (err) {
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// Add the dependency to the app's build.gradle file
|
|
54
|
+
try {
|
|
55
|
+
const buildGradleContent = fs.readFileSync(appBuildGradlePath, 'utf8');
|
|
56
|
+
|
|
57
|
+
// Dependencies to be added
|
|
58
|
+
const dependencies = [
|
|
59
|
+
"com.ibm.mobilefirstplatform.clientsdk.android:core:3.+",
|
|
60
|
+
"com.ibm.mobilefirstplatform.clientsdk.android:push:4.3.2"
|
|
61
|
+
];
|
|
62
|
+
|
|
63
|
+
for (const dependency of dependencies) {
|
|
64
|
+
if (!buildGradleContent.includes(dependency)) {
|
|
65
|
+
const dependencyLine = `implementation '${dependency}'`;
|
|
66
|
+
fs.appendFileSync(appBuildGradlePath, '\n' + dependencyLine);
|
|
67
|
+
console.log(`Added dependency '${dependency}' to ${appBuildGradlePath}`);
|
|
68
|
+
} else {
|
|
69
|
+
console.log(`Dependency '${dependency}' already exists in ${appBuildGradlePath}`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
} catch (err) {
|
|
73
|
+
console.error(`Failed to modify ${appBuildGradlePath}: ${err}`);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
try {
|
|
77
|
+
const pluginXmlContent = fs.readFileSync(pluginXmlPath, 'utf8');
|
|
78
|
+
|
|
79
|
+
if (pluginXmlContent.indexOf(sourceFileEntry) === -1) {
|
|
80
|
+
const platformPosition = pluginXmlContent.indexOf('<platform name="android">');
|
|
81
|
+
const updatedPluginXmlContent = pluginXmlContent.slice(0, platformPosition) + '\n' + sourceFileEntry + '\n' + pluginXmlContent.slice(platformPosition);
|
|
82
|
+
|
|
83
|
+
fs.writeFileSync(pluginXmlPath, updatedPluginXmlContent, 'utf8');
|
|
84
|
+
console.log(`Added <source-file> entry to ${pluginXmlPath}`);
|
|
85
|
+
} else {
|
|
86
|
+
console.log(`<source-file> entry already exists in ${pluginXmlPath}`);
|
|
87
|
+
}
|
|
88
|
+
} catch (err) {
|
|
89
|
+
console.error(`Failed to modify ${pluginXmlPath}: ${err}`);
|
|
90
|
+
}
|
|
91
|
+
} else {
|
|
92
|
+
var manifestFileNewRoot = path.join(platformRoot, 'AndroidManifest.xml');
|
|
93
|
+
if (fs.existsSync(manifestFileNewRoot)) {
|
|
94
|
+
try {
|
|
95
|
+
fs.readFile(manifestFileNewRoot, 'utf8', function (err, data) {
|
|
96
|
+
if (err) {
|
|
97
|
+
throw new Error('Unable to find AndroidManifest.xml: ' + err);
|
|
98
|
+
}
|
|
99
|
+
var serviceTag = '<service android:exported="true" android:name="com.appice.cordova.AppICEMFPPush">';
|
|
100
|
+
|
|
101
|
+
if (data.indexOf(serviceTag) == -1) {
|
|
102
|
+
var result = data.replace(/<service android:exported="false" android:name="com.ibm.fcmtest.myIntentService">/g, serviceTag);
|
|
103
|
+
fs.writeFile(manifestFileNewRoot, result, 'utf8', function (err) {
|
|
104
|
+
if (err) {
|
|
105
|
+
throw new Error('Unable to write into AndroidManifest.xml: ' + err);
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
} catch (err) {
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
if (fs.existsSync(project_properties)) {
|
|
117
|
+
try {
|
|
118
|
+
fs.readFile(project_properties, 'utf8', function (err, data) {
|
|
119
|
+
if (err) {
|
|
120
|
+
throw new Error('Unable to find project_properties: ' + err);
|
|
121
|
+
}
|
|
122
|
+
var modifiedBuildGradle = data;
|
|
123
|
+
var libmfp_prop = 'cordova.system.library.13=appice.io.android:libmfp:1.0.0'
|
|
124
|
+
//+ '\nimplementation appice.io.android:libmfp:+"';
|
|
125
|
+
if (data.indexOf(libmfp_prop) == -1) {
|
|
126
|
+
fs.appendFileSync(project_properties, '\n' + libmfp_prop);
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
catch (err) {
|
|
131
|
+
console.log("project_properties found :", err);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
if (SSL_PINNING === "true") {
|
|
137
|
+
|
|
138
|
+
var target_cert_android = path.join(platformRoot, '/app/src/main/assets/');
|
|
139
|
+
var target_cert_ios = path.join(platformRootios, appName + '/Resources/');
|
|
140
|
+
//checking existing in android
|
|
141
|
+
if (fs.existsSync(target_cert_android + 'ai_android.pem')) {
|
|
142
|
+
try {
|
|
143
|
+
shell.rm('-Rf', target_cert_android + 'ai_android.pem');
|
|
144
|
+
} catch (err) {
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
//putting files in assest folder for android
|
|
150
|
+
var android_Certificate = path.join(root_cert, 'ai_android.pem');
|
|
151
|
+
try {
|
|
152
|
+
shell.cp('-f', android_Certificate, target_cert_android);
|
|
153
|
+
console.log("android_Certificate copied");
|
|
154
|
+
} catch (err) {
|
|
155
|
+
console.log("android_Certificate Failed");
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
}
|
|
160
|
+
}
|
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
module.exports = function(context) {
|
|
2
|
-
|
|
3
|
-
var fs =require
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const cordovaCommon = context.requireCordovaModule('cordova-common');
|
|
13
|
-
const appConfig = new cordovaCommon.ConfigParser('config.xml');
|
|
14
|
-
const appName = appConfig.name();
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
1
|
+
module.exports = function (context) {
|
|
2
|
+
|
|
3
|
+
var fs = require('fs');
|
|
4
|
+
var path = require('path');
|
|
5
|
+
var shell = require('shelljs');
|
|
6
|
+
|
|
7
|
+
var platformRootios = path.join(context.opts.projectRoot, 'platforms/ios');
|
|
8
|
+
|
|
9
|
+
var root_cert = path.join(context.opts.projectRoot, 'res');
|
|
10
|
+
//var root_cert_ios = path.join(context.opts.projectRoot, 'res/ai_ios.cer');
|
|
11
|
+
|
|
12
|
+
const cordovaCommon = context.requireCordovaModule('cordova-common');
|
|
13
|
+
const appConfig = new cordovaCommon.ConfigParser('config.xml');
|
|
14
|
+
const appName = appConfig.name();
|
|
15
|
+
|
|
16
|
+
var SSL_PINNING = appConfig.getPlatformPreference("SSL_PINNING", "android");
|
|
17
|
+
if (SSL_PINNING === "true") {
|
|
18
|
+
|
|
19
|
+
var target_cert_ios = path.join(platformRootios, appName + '/Resources/');
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
//checking in ios
|
|
23
|
+
if (fs.existsSync(target_cert_ios + 'ai_ios.der')) {
|
|
24
|
+
try {
|
|
25
|
+
shell.rm('-Rf', target_cert_ios + 'ai_ios.der');
|
|
26
|
+
} catch (err) {
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
////putting files in assest folder for ios
|
|
31
|
+
var ios_Certificate = path.join(root_cert, 'ai_ios.der');
|
|
32
|
+
try {
|
|
33
|
+
shell.cp('-f', ios_Certificate, target_cert_ios);
|
|
34
|
+
console.log("ios_Certificate copied");
|
|
35
|
+
} catch (err) {
|
|
36
|
+
console.log("ios_Certificate Failed");
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
39
|
}
|