@dynatrace/cordova-plugin 2.321.1 → 2.325.1
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 +23 -16
- package/files/iOS/Dynatrace.xcframework/Info.plist +8 -8
- package/files/iOS/Dynatrace.xcframework/_CodeSignature/CodeDirectory +0 -0
- package/files/iOS/Dynatrace.xcframework/_CodeSignature/CodeRequirements-1 +0 -0
- package/files/iOS/Dynatrace.xcframework/_CodeSignature/CodeResources +69 -69
- package/files/iOS/Dynatrace.xcframework/_CodeSignature/CodeSignature +0 -0
- package/files/iOS/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Dynatrace +0 -0
- package/files/iOS/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Headers/Dynatrace.h +88 -1
- package/files/iOS/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Info.plist +0 -0
- package/files/iOS/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
- package/files/iOS/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Modules/Dynatrace.swiftmodule/arm64-apple-ios.abi.json +1 -1
- package/files/iOS/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Dynatrace +0 -0
- package/files/iOS/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Headers/Dynatrace.h +88 -1
- package/files/iOS/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Info.plist +0 -0
- package/files/iOS/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
- package/files/iOS/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
- package/files/iOS/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/arm64-apple-ios-simulator.abi.json +1 -1
- package/files/iOS/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/x86_64-apple-ios-simulator.abi.json +1 -1
- package/files/iOS/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/_CodeSignature/CodeResources +15 -15
- package/files/iOS/Dynatrace.xcframework/tvos-arm64/Dynatrace.framework/Dynatrace +0 -0
- package/files/iOS/Dynatrace.xcframework/tvos-arm64/Dynatrace.framework/Headers/Dynatrace.h +88 -1
- package/files/iOS/Dynatrace.xcframework/tvos-arm64/Dynatrace.framework/Info.plist +0 -0
- package/files/iOS/Dynatrace.xcframework/tvos-arm64/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/arm64-apple-tvos.swiftsourceinfo +0 -0
- package/files/iOS/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Dynatrace +0 -0
- package/files/iOS/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Headers/Dynatrace.h +88 -1
- package/files/iOS/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Info.plist +0 -0
- package/files/iOS/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/arm64-apple-tvos-simulator.swiftsourceinfo +0 -0
- package/files/iOS/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/x86_64-apple-tvos-simulator.swiftsourceinfo +0 -0
- package/files/iOS/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/_CodeSignature/CodeResources +11 -11
- package/files/plugin.gradle +1 -1
- package/package.json +6 -6
- package/plugin.xml +2 -2
- package/scripts/Android.js +47 -27
package/README.md
CHANGED
|
@@ -24,15 +24,15 @@ For information as to why this is necessary, read more [here](#migration-from-ma
|
|
|
24
24
|
* Java 11
|
|
25
25
|
* For iOS users: Minimum iOS 12
|
|
26
26
|
* For JavaScript Agent: access to API of cluster
|
|
27
|
-
* Node: >=
|
|
27
|
+
* Node: >= 20.x
|
|
28
28
|
* Cordova: 10+
|
|
29
29
|
|
|
30
30
|
## Agent Versions
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
These agent versions are configured in this plugin:
|
|
33
33
|
|
|
34
|
-
* Android Agent: 8.
|
|
35
|
-
* iOS Agent: 8.
|
|
34
|
+
* Android Agent: 8.325.1.1007
|
|
35
|
+
* iOS Agent: 8.325.1.1012
|
|
36
36
|
|
|
37
37
|
## Quick Setup
|
|
38
38
|
|
|
@@ -218,7 +218,7 @@ There is flag for updating the CSP (Content Security Policy). By default this va
|
|
|
218
218
|
|
|
219
219
|
### Cookie Proxy
|
|
220
220
|
|
|
221
|
-
Issues with cookies are somehow a persistent companion in Ionic or Capacitor applications.
|
|
221
|
+
Issues with cookies are somehow a persistent companion in Ionic or Capacitor applications. Therefore we provide a proxy script which is wrapping the document.cookie API and are storing the cookies which are important for the Dynatrace Agents in the session storage. Of course this wrapping is still calling the original API. Please see the [Capacitor Cookie Proxy](#capacitor-cookie-proxy) section below if you are using `CapacitorCookies` in your application. If not, please see the configuration below.
|
|
222
222
|
|
|
223
223
|
Per default the cookie proxy is turned off. To make use of this proxy you need to enable it in the cordova configuration in the dynatrace.config.js:
|
|
224
224
|
|
|
@@ -278,7 +278,7 @@ module.exports = {
|
|
|
278
278
|
}
|
|
279
279
|
```
|
|
280
280
|
|
|
281
|
-
The native configuration
|
|
281
|
+
The native configuration contains all the settings which are necessary for the Mobile Agent(s). You can find all the available properties in the [documentation](#official-documentation) of the mobile agent.
|
|
282
282
|
|
|
283
283
|
The content of the `ios.config` property will be directly copied to the plist file. The content of the `android.config` property will be directly copied to the gradle file.
|
|
284
284
|
|
|
@@ -389,7 +389,7 @@ If you are having an issue retrieving the JavaScript Agent and see an error mess
|
|
|
389
389
|
Could not retrieve the JavaScript Agent! - Could not retrieve agent optionsError: unable to verify the first certificate
|
|
390
390
|
```
|
|
391
391
|
|
|
392
|
-
You are able to bypass those errors at your **OWN RISK** by using `allowanycert: true` within the `js` property. This will ignore the fact that the SSL connection is not secure (e.g. because of invalid certificate) and will retrieve the JavaScript Agent snippet anyways. An example would look like this:
|
|
392
|
+
You are able to bypass those errors at your **OWN RISK** by using `allowanycert: true` within the `js` property. This will ignore the fact that the SSL connection is not secure (e.g. because of an invalid certificate) and will retrieve the JavaScript Agent snippet anyways. An example would look like this:
|
|
393
393
|
|
|
394
394
|
```js
|
|
395
395
|
module.exports = {
|
|
@@ -604,7 +604,7 @@ Within Cordova it is also possible to use libraries that are executing native we
|
|
|
604
604
|
|
|
605
605
|
Those libraries are not executing the request within the JS scope but will rather call a JavaScript<->Native interface and will trigger the request natively. This means that our JavaScript OneAgent will not be able to detect the request. Additionally a resulting user action can be dropped as well. To prevent this behaviour you need to manually apply headers to your request.
|
|
606
606
|
|
|
607
|
-
Before using this feature you need to turn
|
|
607
|
+
Before using this feature you need to turn off web request instrumentation on iOS. You can do this by adding the following configuration to the dynatrace.config.js:
|
|
608
608
|
|
|
609
609
|
```js
|
|
610
610
|
ios: {
|
|
@@ -623,7 +623,7 @@ MyTestRequest request = new MyTestRequest("MY_URL");
|
|
|
623
623
|
|
|
624
624
|
let interceptorUtils = dynatraceMobile.getNativeNetworkInterceptorUtils();
|
|
625
625
|
|
|
626
|
-
// Creation of a user action with automated
|
|
626
|
+
// Creation of a user action with automated detection of the user action - e.g. click on
|
|
627
627
|
let actionId = interceptorUtils.enterNativeRequestAction("MY_URL", "Name of HTTP Framework", "Optional Action Fallbackname");
|
|
628
628
|
|
|
629
629
|
// Adding headers to your request - Take a look into typings.d.ts for the format of DynatraceNativeRequestHeaders
|
|
@@ -639,11 +639,11 @@ interceptorUtils.leaveNativeRequestAction(actionId);
|
|
|
639
639
|
|
|
640
640
|
**Attention:** This feature requires a instrumented webserver with version 1.211.x running at your Mobile First server. Also, only version >= 8.x.x is supported.
|
|
641
641
|
|
|
642
|
-
If you are using IBM Mobile First you might take a look at our `dynatraceMobile.getMobileFirstNetworkInterceptor()`. This interceptor gives you the option to make the request going to Mobile First more visible. The Mobile First library is doing native mobile web requests, that's why those
|
|
642
|
+
If you are using IBM Mobile First you might take a look at our `dynatraceMobile.getMobileFirstNetworkInterceptor()`. This interceptor gives you the option to make the request going to Mobile First more visible. The Mobile First library is doing native mobile web requests, that's why those requests can't be linked with user actions happening in the web part.
|
|
643
643
|
|
|
644
644
|
This interceptor is creating wrapping actions according to the user input that happened right before the request. By this modification you will be able to see the request in the user session linked with user actions.
|
|
645
645
|
|
|
646
|
-
Before using this feature you need to turn
|
|
646
|
+
Before using this feature you need to turn off web request instrumentation on iOS. You can do this by adding the following configuration to the dynatrace.config.js:
|
|
647
647
|
|
|
648
648
|
After Mobile First has been initialized make the following call:
|
|
649
649
|
|
|
@@ -714,7 +714,7 @@ This will download the version `1.191.1` of our plugin. In general we recommend
|
|
|
714
714
|
* If both custom CLI arguments and [custom configuration arguments](#cordova-configuration) are used, custom CLI arguments will be used.
|
|
715
715
|
* Custom arguments will only work with Capacitor based projects if you directly modify the "capacitor:sync:after" command. (See example below)
|
|
716
716
|
|
|
717
|
-
Our
|
|
717
|
+
Our script assumes that the usual cordova project structure is given. The following arguments can be specified for our instrumentation script if the project structure is different.
|
|
718
718
|
|
|
719
719
|
* `--gradle=C:\MyCordovaAndroidProject\platforms\android\build.gradle` - the location of the root build.gradle file. We will assume that the other gradle file resides in `/app/build.gradle`. This will add all agent dependencies automatically for you and will update the configuration.
|
|
720
720
|
* `--plist=C:\MyCordovaIOSProject\platforms\ios\projectName\projectName-Info.plist` - Tell the script where your Info.plist file is. The plist file is used for updating the configuration for the agent.
|
|
@@ -750,7 +750,7 @@ For the local script file, we copy the specified file 1:1. It is best to downloa
|
|
|
750
750
|
|
|
751
751
|
## Migration from major version 1 to 2
|
|
752
752
|
|
|
753
|
-
The id has now changed for the plugin from `dynatrace-cordova-plugin` to `@
|
|
753
|
+
The id has now changed for the plugin from `dynatrace-cordova-plugin` to `@dynatrace/cordova-plugin`. Because of this, there can be some issues with the upgrading of the plugin from major version `1.xxx.x` to `2.xxx.x`. You will likely see the following error if you are just trying to install the newest version of the plugin:
|
|
754
754
|
|
|
755
755
|
```
|
|
756
756
|
Error during processing of action! Attempting to revert...
|
|
@@ -784,7 +784,7 @@ make sure you insert some other version like `7.6.4` here:
|
|
|
784
784
|
var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || 'https\\://services.gradle.org/distributions/gradle-7.6.4-all.zip';
|
|
785
785
|
```
|
|
786
786
|
|
|
787
|
-
If you having trouble with this option you can always set the global process property `CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL` :
|
|
787
|
+
If you are having trouble with this option you can always set the global process property `CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL` :
|
|
788
788
|
|
|
789
789
|
```
|
|
790
790
|
process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] = 'https\\://services.gradle.org/distributions/gradle-7.6.4-all.zip';
|
|
@@ -862,7 +862,7 @@ The log file will also include a list of your `package.json` *dependencies* and
|
|
|
862
862
|
|
|
863
863
|
## Instrumentation Overhead
|
|
864
864
|
|
|
865
|
-
When using auto-
|
|
865
|
+
When using auto-instrumentation through our plugin, here are some examples of the size differences before and after instrumentation for release builds:
|
|
866
866
|
|
|
867
867
|
| Built with | App template | Version | Size Before | Size After | Difference |
|
|
868
868
|
|----------------------|-------------------------|-------------|-----------------|----------------|----------------|
|
|
@@ -881,7 +881,7 @@ Basically if you have problems with the plugin please have a look into the logs.
|
|
|
881
881
|
|
|
882
882
|
* If you see a message like "Error: Could not retrieve the JSAgent! Error: self signed certificate in certificate chain" try to switch the JavaScript Agent configuration from HTTPS to HTTP.
|
|
883
883
|
* If you use live reload (e.g. ionic cordova run android -l) be aware that Ionic/Cordova doesn't use files from the platform folder, so the JavaScript Agent injection will not take place, as we only instrument the temporary platform folder. You are still able to add the copied JS Agent code snippet from the WebUI manually to your index.html (in the source directory). To get to this page, go to your **Web Application** settings and then select **Setup**. Auto-Instrumentation with the Mobile Agent still takes place.
|
|
884
|
-
* If you have problems retrieving the JavaScript Agent and you get error messages that the JavaScript Agent can not be retrieved, you probably don't have access to the API or there is a certificate issue. If this is the certificate use the [
|
|
884
|
+
* If you have problems retrieving the JavaScript Agent and you get error messages that the JavaScript Agent can not be retrieved, you probably don't have access to the API or there is a certificate issue. If this is the certificate use the [allow any certificate](#allow-any-certificate) feature. In any other case a workaround is possible to use the cli and add the `--jsagent=` custom parameter and download the full Javascript Agent and add the path to the downloaded JS Agent file to the custom parameter value - With this the plugin will not retrieve the JS agent and will use the one that is specified.
|
|
885
885
|
* If you are not seeing data when using Capacitor 3+, please make sure you follow the steps in the [Capacitor Instrumentation](#capacitor-instrumentation) section (more specifically step 4 for the proper commands). Please read the note at the bottom of that section for more information.
|
|
886
886
|
* For Android, if you see an error like "Gradle sync failed: Could not find com.dynatrace.tools.android:gradle-plugin:8.221.1.1005.", please see the [MavenCentral](#mavencentral-in-top-level-gradle-file) section for an example and more information.
|
|
887
887
|
|
|
@@ -904,6 +904,13 @@ When using Apple Pay with WKWebView, there are specific checks that WebKit (Appl
|
|
|
904
904
|
|
|
905
905
|
## Changelog
|
|
906
906
|
|
|
907
|
+
2.325.1
|
|
908
|
+
* Updated Android (8.325.1.1007) & iOS Agent (8.325.1.1012)
|
|
909
|
+
|
|
910
|
+
2.323.1
|
|
911
|
+
* Deprecation of Node 18
|
|
912
|
+
* Updated Android (8.323.2.1002) & iOS Agent (8.323.1.1009)
|
|
913
|
+
|
|
907
914
|
2.321.1
|
|
908
915
|
* Updated Android (8.321.2.1009) & iOS Agent (8.321.1.1007)
|
|
909
916
|
|
|
@@ -8,18 +8,15 @@
|
|
|
8
8
|
<key>BinaryPath</key>
|
|
9
9
|
<string>Dynatrace.framework/Dynatrace</string>
|
|
10
10
|
<key>LibraryIdentifier</key>
|
|
11
|
-
<string>
|
|
11
|
+
<string>tvos-arm64</string>
|
|
12
12
|
<key>LibraryPath</key>
|
|
13
13
|
<string>Dynatrace.framework</string>
|
|
14
14
|
<key>SupportedArchitectures</key>
|
|
15
15
|
<array>
|
|
16
16
|
<string>arm64</string>
|
|
17
|
-
<string>x86_64</string>
|
|
18
17
|
</array>
|
|
19
18
|
<key>SupportedPlatform</key>
|
|
20
|
-
<string>
|
|
21
|
-
<key>SupportedPlatformVariant</key>
|
|
22
|
-
<string>simulator</string>
|
|
19
|
+
<string>tvos</string>
|
|
23
20
|
</dict>
|
|
24
21
|
<dict>
|
|
25
22
|
<key>BinaryPath</key>
|
|
@@ -42,21 +39,24 @@
|
|
|
42
39
|
<key>BinaryPath</key>
|
|
43
40
|
<string>Dynatrace.framework/Dynatrace</string>
|
|
44
41
|
<key>LibraryIdentifier</key>
|
|
45
|
-
<string>ios-
|
|
42
|
+
<string>ios-arm64_x86_64-simulator</string>
|
|
46
43
|
<key>LibraryPath</key>
|
|
47
44
|
<string>Dynatrace.framework</string>
|
|
48
45
|
<key>SupportedArchitectures</key>
|
|
49
46
|
<array>
|
|
50
47
|
<string>arm64</string>
|
|
48
|
+
<string>x86_64</string>
|
|
51
49
|
</array>
|
|
52
50
|
<key>SupportedPlatform</key>
|
|
53
51
|
<string>ios</string>
|
|
52
|
+
<key>SupportedPlatformVariant</key>
|
|
53
|
+
<string>simulator</string>
|
|
54
54
|
</dict>
|
|
55
55
|
<dict>
|
|
56
56
|
<key>BinaryPath</key>
|
|
57
57
|
<string>Dynatrace.framework/Dynatrace</string>
|
|
58
58
|
<key>LibraryIdentifier</key>
|
|
59
|
-
<string>
|
|
59
|
+
<string>ios-arm64</string>
|
|
60
60
|
<key>LibraryPath</key>
|
|
61
61
|
<string>Dynatrace.framework</string>
|
|
62
62
|
<key>SupportedArchitectures</key>
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
<string>arm64</string>
|
|
65
65
|
</array>
|
|
66
66
|
<key>SupportedPlatform</key>
|
|
67
|
-
<string>
|
|
67
|
+
<string>ios</string>
|
|
68
68
|
</dict>
|
|
69
69
|
</array>
|
|
70
70
|
<key>CFBundlePackageType</key>
|
|
Binary file
|
|
Binary file
|