diff --git a/config/_default/menus/main.en.yaml b/config/_default/menus/main.en.yaml index 08c6c40e2a75a..5e7f711906532 100644 --- a/config/_default/menus/main.en.yaml +++ b/config/_default/menus/main.en.yaml @@ -5169,6 +5169,11 @@ menu: parent: mobile_and_tv_monitoring identifier: rum_mobile_troubleshooting weight: 208 + - name: Supported Versions + url: real_user_monitoring/mobile_and_tv_monitoring/supported_versions/ + parent: mobile_and_tv_monitoring + identifier: rum_mobile_supported_versions + weight: 209 - name: Product Analytics identifier: rum_product_analytics url: real_user_monitoring/product_analytics diff --git a/content/en/real_user_monitoring/mobile_and_tv_monitoring/advanced_configuration/ios.md b/content/en/real_user_monitoring/mobile_and_tv_monitoring/advanced_configuration/ios.md index f4e8624f87d7a..476c5a0c27dec 100644 --- a/content/en/real_user_monitoring/mobile_and_tv_monitoring/advanced_configuration/ios.md +++ b/content/en/real_user_monitoring/mobile_and_tv_monitoring/advanced_configuration/ios.md @@ -13,6 +13,9 @@ further_reading: - link: "/real_user_monitoring" tag: "Documentation" text: "RUM & Session Replay" + - link: "/real_user_monitoring/mobile_and_tv_monitoring/supported_versions/ios/" + tag: "Documentation" + text: "RUM iOS and tvOS monitoring supported versions" --- If you have not set up the RUM iOS SDK yet, follow the [in-app setup instructions][1] or refer to the [RUM iOS setup documentation][2]. diff --git a/content/en/real_user_monitoring/mobile_and_tv_monitoring/setup/ios.md b/content/en/real_user_monitoring/mobile_and_tv_monitoring/setup/ios.md index eb1bee9a0ba9c..78221b01c3468 100644 --- a/content/en/real_user_monitoring/mobile_and_tv_monitoring/setup/ios.md +++ b/content/en/real_user_monitoring/mobile_and_tv_monitoring/setup/ios.md @@ -28,6 +28,9 @@ further_reading: - link: "/real_user_monitoring/ios/swiftui/" tag: "Documentation" text: "Learn about instrumenting SwiftUI applications" + - link: "/real_user_monitoring/mobile_and_tv_monitoring/supported_versions/ios/" + tag: "Documentation" + text: "RUM iOS and tvOS monitoring supported versions" --- ## Overview @@ -50,14 +53,14 @@ Declare the library as a dependency depending on your package manager: {{< tabs >}} {{% tab "CocoaPods" %}} -You can use [CocoaPods][4] to install `dd-sdk-ios`: +You can use [CocoaPods][1] to install `dd-sdk-ios`: ``` pod 'DatadogCore' pod 'DatadogRUM' ``` -[4]: https://cocoapods.org/ +[1]: https://cocoapods.org/ {{% /tab %}} {{% tab "Swift Package Manager (SPM)" %}} @@ -75,7 +78,7 @@ DatadogRUM {{% /tab %}} {{% tab "Carthage" %}} -You can use [Carthage][5] to install `dd-sdk-ios`: +You can use [Carthage][1] to install `dd-sdk-ios`: ``` github "DataDog/dd-sdk-ios" ``` @@ -87,29 +90,29 @@ DatadogCore.xcframework DatadogRUM.xcframework ``` -[5]: https://github.com/Carthage/Carthage +[1]: https://github.com/Carthage/Carthage {{% /tab %}} {{< /tabs >}} ### Specify application details in the UI -1. Navigate to [**Digital Experience** > **Add an Application**][5]. +1. Navigate to [**Digital Experience** > **Add an Application**][8]. 2. Select `iOS` as the application type and enter an application name to generate a unique Datadog application ID and client token. -3. To instrument your web views, click the **Instrument your webviews** toggle. For more information, see [Web View Tracking][12]. -4. To disable automatic user data collection for either client IP or geolocation data, uncheck the boxes for those settings. For more information, see [RUM iOS Data Collected][14]. +3. To instrument your web views, click the **Instrument your webviews** toggle. For more information, see [Web View Tracking][9]. +4. To disable automatic user data collection for either client IP or geolocation data, uncheck the boxes for those settings. For more information, see [RUM iOS Data Collected][10]. {{< img src="real_user_monitoring/ios/ios-create-application.png" alt="Create a RUM application for iOS in Datadog" style="width:100%;border:none" >}} -To ensure the safety of your data, you must use a client token. If you used only [Datadog API keys][6] to configure the `dd-sdk-ios` library, they would be exposed client-side in the iOS application's byte code. +To ensure the safety of your data, you must use a client token. If you used only [Datadog API keys][11] to configure the `dd-sdk-ios` library, they would be exposed client-side in the iOS application's byte code. -For more information about setting up a client token, see the [Client token documentation][7]. +For more information about setting up a client token, see the [Client token documentation][12]. ### Initialize the library In the initialization snippet, set an environment name, service name, and version number. In the examples below, `app-name` specifies the variant of the application that generates data. -For more information, see [Using Tags][11]. +For more information, see [Using Tags][13]. {{< site-region region="us" >}} {{< tabs >}} @@ -302,7 +305,7 @@ configuration.site = [DDSite ap1]; {{< /tabs >}} {{< /site-region >}} -The RUM iOS SDK automatically tracks user sessions depending on options provided at the SDK initialization. To add GDPR compliance for your EU users and other [initialization parameters][9] to the SDK configuration, see the [Set tracking consent documentation][8]. +The RUM iOS SDK automatically tracks user sessions depending on options provided at the SDK initialization. To add GDPR compliance for your EU users and other [initialization parameters][14] to the SDK configuration, see the [Set tracking consent documentation][15]. ### Initialize the RUM Monitor and enable `URLSessionInstrumentation` @@ -370,7 +373,7 @@ NSURLSession *session = [NSURLSession sessionWithConfiguration:[NSURLSessionConf ### Sample RUM sessions -To control the data your application sends to Datadog RUM, you can specify a sampling rate for RUM sessions while [initializing the RUM iOS SDK][1] as a percentage between 0 and 100. +To control the data your application sends to Datadog RUM, you can specify a sampling rate for RUM sessions while [initializing the RUM iOS SDK][16] as a percentage between 0 and 100. For example, to only keep 50% of sessions use: @@ -457,24 +460,32 @@ RUM.enable( ## Track iOS errors -[iOS Crash Reporting and Error Tracking][13] displays any issues in your application and the latest available errors. You can view error details and attributes including JSON in the [RUM Explorer][10]. +[iOS Crash Reporting and Error Tracking][17] displays any issues in your application and the latest available errors. You can view error details and attributes including JSON in the [RUM Explorer][18]. + +## Supported versions + +See [Supported versions][19] for a list operating system versions and platforms that are compatible with the RUM iOS SDK. ## Further Reading {{< partial name="whats-next/whats-next.html" >}} - -[1]: https://github.com/DataDog/dd-sdk-ios -[2]: https://cocoapods.org/ -[3]: https://swift.org/package-manager/ -[4]: https://github.com/Carthage/Carthage -[5]: https://app.datadoghq.com/rum/application/create -[6]: https://docs.datadoghq.com/account_management/api-app-keys/#api-keys -[7]: https://docs.datadoghq.com/account_management/api-app-keys/#client-tokens -[8]: https://docs.datadoghq.com/real_user_monitoring/ios/advanced_configuration/#set-tracking-consent-gdpr-compliance -[9]: https://docs.datadoghq.com/real_user_monitoring/ios/advanced_configuration/#initialization-parameters -[10]: https://docs.datadoghq.com/real_user_monitoring/explorer/ -[11]: https://docs.datadoghq.com/getting_started/tagging/using_tags/#rum--session-replay -[12]: https://docs.datadoghq.com/real_user_monitoring/ios/web_view_tracking/ -[13]: https://docs.datadoghq.com/real_user_monitoring/error_tracking/ios/ -[14]: https://docs.datadoghq.com/real_user_monitoring/ios/data_collected/ \ No newline at end of file +[1]: https://github.com/microsoft/plcrashreporter/issues/288 +[2]: https://developer.apple.com/xcode/ +[3]: https://developer.apple.com/news/?id=jd9wcyov +[4]: /logs/log_collection/ios/?tab=swiftpackagemanagerspm +[5]: /logs/log_collection/ios/?tab=carthage +[6]: https://github.com/DataDog/dd-sdk-ios/tree/develop/DatadogExtensions/Alamofire +[7]: https://github.com/microsoft/plcrashreporter +[8]: https://app.datadoghq.com/rum/application/create +[9]: /real_user_monitoring/ios/web_view_tracking/ +[10]: /real_user_monitoring/ios/data_collected/ +[11]: /account_management/api-app-keys/#api-keys +[12]: /account_management/api-app-keys/#client-tokens +[13]: /getting_started/tagging/using_tags/#rum--session-replay +[14]: /real_user_monitoring/ios/advanced_configuration/#initialization-parameters +[15]: /real_user_monitoring/ios/advanced_configuration/#set-tracking-consent-gdpr-compliance +[16]: https://github.com/DataDog/dd-sdk-ios +[17]: /real_user_monitoring/error_tracking/ios/ +[18]: /real_user_monitoring/explorer/ +[19]: /real_user_monitoring/mobile_and_tv_monitoring/supported_versions/ios/ diff --git a/content/en/real_user_monitoring/mobile_and_tv_monitoring/supported_versions/_index.md b/content/en/real_user_monitoring/mobile_and_tv_monitoring/supported_versions/_index.md new file mode 100644 index 0000000000000..d9262c321bcaa --- /dev/null +++ b/content/en/real_user_monitoring/mobile_and_tv_monitoring/supported_versions/_index.md @@ -0,0 +1,9 @@ +--- +title: Mobile and TV Monitoring Supported Versions +kind: documentation +type: multi-code-lang +--- + +For information about supported OS and platforms for your application, choose a platform: + +{{< partial name="rum/rum-getting-started-mobile-supported-versions.html" >}} \ No newline at end of file diff --git a/content/en/real_user_monitoring/mobile_and_tv_monitoring/supported_versions/ios.md b/content/en/real_user_monitoring/mobile_and_tv_monitoring/supported_versions/ios.md new file mode 100644 index 0000000000000..2433021df5c4f --- /dev/null +++ b/content/en/real_user_monitoring/mobile_and_tv_monitoring/supported_versions/ios.md @@ -0,0 +1,100 @@ +--- +title: RUM iOS and tvOS Monitoring Supported Versions +kind: documentation +beta: true +description: "List of supported operating systems and platforms for the RUM iOS SDK." +aliases: + - /real_user_monitoring/ios + - /real_user_monitoring/ios/getting_started +code_lang: ios +type: multi-code-lang +code_lang_weight: 20 +further_reading: + - link: /real_user_monitoring/mobile_and_tv_monitoring/advanced_configuration/ios + tag: Documentation + text: RUM iOS Advanced Configuration + - link: "https://github.com/DataDog/dd-sdk-ios" + tag: "Github" + text: "Source code for dd-sdk-ios" + - link: "/real_user_monitoring" + tag: "Documentation" + text: "Learn how to explore your RUM data" + - link: "/real_user_monitoring/error_tracking/ios/" + tag: "Documentation" + text: "Learn how to track iOS errors" + - link: "/real_user_monitoring/ios/swiftui/" + tag: "Documentation" + text: "Learn about instrumenting SwiftUI applications" +--- + + +## Supported versions + +The RUM iOS SDK supports the following iOS versions: + +| Platform | Supported | Version | Notes | +|--------|-------------|---------|-------| +| iOS | {{< X >}} | 11+ | | +| tvOS | {{< X >}} | 11+ | | +| iPadOS | {{< X >}} | 11+ | | +| macOS (Designed for iPad) | {{< X >}} | 11+ | | +| macOS (Catalyst) | partially supported | 12+ | Catalyst is supported in build mode only, which means that macOS targets build, but functionalities for the SDK might not work for this target. | +| macOS | | 12+ | macOS is not officially supported by the Datadog SDK. Some features may not be fully functional. **Note**: `DatadogRUM`, `DatadogSessionReplay`, and `DatadogObjc`, which heavily depend on `UIKit`, do not build on macOS. | +| visionOS | | 1.0+ | visionOS is not officially supported by the Datadog SDK. Some features may not be fully functional. **Note**: `DatadogCrashReporting` is not supported on visionOS due to a lack of support on the [PLCrashreporter][1] side. | +| watchOS | | n/a | | +| Linux | | n/a | | + +## Supported platforms + +### Xcode +The SDK is built using the most recent version of [Xcode][2], but is always backwards compatible with the [lowest supported Xcode version][3] for AppStore submission. + +### Dependency managers +We currently support integration of the SDK using the following dependency managers: + +- [Swift Package Manager][4] +- [Cocoapods][5] +- [Carthage][6] + +### Languages + +| Language | Version | +|----------|---------| +| UIKit | 5.* | +| Objective-C | 2.0 | + +### UI framework instrumentation + +| Framework | Automatic | Manual | +|--------|-------|-------| +| UIKit | {{< X >}} | {{< X >}} | +| SwiftUI | | {{< X >}} | + +### Network compatibility + +| Framework | Automatic | Manual | +|--------|-------|-------| +| URLSession | {{< X >}} | {{< X >}} | +| [AlamoFire 5+][7] | | {{< X >}} | +| SwiftNIO | | | + +**Note**: Third-party networking libraries can be instrumented by implementing custom `DDURLSessionDelegate`. + +### Dependencies + +The Datadog RUM SDK depends on the following third-party library: + +- [PLCrashReporter][8] 1.11.1 + +## Further Reading + +{{< partial name="whats-next/whats-next.html" >}} + +[1]: https://github.com/microsoft/plcrashreporter/issues/288 +[2]: https://developer.apple.com/xcode/ +[3]: https://developer.apple.com/news/?id=jd9wcyov +[4]: /real_user_monitoring/mobile_and_tv_monitoring/setup/ios/?tab=swiftpackagemanagerspm#declare-the-sdk-as-a-dependency +[5]: /real_user_monitoring/mobile_and_tv_monitoring/setup/ios/?tab=cocoapods#declare-the-sdk-as-a-dependency +[6]: /real_user_monitoring/mobile_and_tv_monitoring/setup/ios/?tab=carthage#declare-the-sdk-as-a-dependency +[7]: https://github.com/DataDog/dd-sdk-ios/tree/develop/DatadogExtensions/Alamofire +[8]: https://github.com/microsoft/plcrashreporter \ No newline at end of file diff --git a/layouts/partials/rum/rum-getting-started-mobile-supported-versions.html b/layouts/partials/rum/rum-getting-started-mobile-supported-versions.html new file mode 100644 index 0000000000000..535bc77d82bbc --- /dev/null +++ b/layouts/partials/rum/rum-getting-started-mobile-supported-versions.html @@ -0,0 +1,14 @@ +{{ $dot := . }} +
+
+ +
+