Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[rum] DOCS-7809 Add supported platforms versions ios #23120

Merged
merged 13 commits into from
May 16, 2024
5 changes: 5 additions & 0 deletions config/_default/menus/main.en.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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].
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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)" %}}

Expand All @@ -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"
```
Expand All @@ -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 >}}
Expand Down Expand Up @@ -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`

Expand Down Expand Up @@ -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:

Expand Down Expand Up @@ -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.
rtrieu marked this conversation as resolved.
Show resolved Hide resolved

## 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/
[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/
Original file line number Diff line number Diff line change
@@ -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" >}}
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{{ $dot := . }}
<div class="rum-platforms">
<div class="container cards-dd">
<div class="row row-cols-2 row-cols-sm-4 g-2 g-xl-3 justify-content-sm-center">
<div class="col">
<a class="card h-100" href="/real_user_monitoring/mobile_and_tv_monitoring/supported_versions/ios/">
<div class="card-body text-center py-2 px-1">
{{ partial "img.html" (dict "root" . "src" "integrations_logos/ios_large.svg" "class" "img-fluid" "alt" "ios" "width" "200") }}
</div>
</a>
</div>
</div>
</div>
</div>
Loading