Skip to content

Commit

Permalink
[rum] DOCS-7809 Add supported platforms versions ios (#23120)
Browse files Browse the repository at this point in the history
* [rum] List all supported versions and platforms iOS sdk

* add catalyst

* fix links but not really

* reorder

* move to own page

* add to menu and setup page

* supported versions init push

* add related links

* fix links

* fix links

* change logs to rum pages

* Apply suggestions from code review

Co-authored-by: Ursula Chen <58821586+urseberry@users.noreply.github.com>

---------

Co-authored-by: Ursula Chen <58821586+urseberry@users.noreply.github.com>
  • Loading branch information
rtrieu and urseberry committed May 16, 2024
1 parent de056ed commit fdd6ce8
Show file tree
Hide file tree
Showing 6 changed files with 170 additions and 28 deletions.
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.

## 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>

0 comments on commit fdd6ce8

Please sign in to comment.