Skip to content

Conversation

rtrieu
Copy link
Contributor

@rtrieu rtrieu commented Sep 23, 2025

What does this PR do? What is the motivation?

  • Copies iOS SDK setup instructions from RUM to Error Tracking, with lots of rewriting and rearranging of content
  • Removes mentions of Error Tracking from the RUM Android SDK setup steps except where relevant
  • Reorders links

Merge instructions

Merge readiness:

  • Ready for merge

For Datadog employees:

Your branch name MUST follow the <name>/<description> convention and include the forward slash (/). Without this format, your pull request will not pass CI, the GitLab pipeline will not run, and you won't get a branch preview. Getting a branch preview makes it easier for us to check any issues with your PR, such as broken links.

If your branch doesn't follow this format, rename it or create a new branch and PR.

[6/5/2025] Merge queue has been disabled on the documentation repo. If you have write access to the repo, the PR has been reviewed by a Documentation team member, and all of the required checks have passed, you can use the Squash and Merge button to merge the PR. If you don't have write access, or you need help, reach out in the #documentation channel in Slack.

Additional notes

@rtrieu rtrieu requested a review from a team as a code owner September 23, 2025 20:31
@janine-c janine-c self-assigned this Sep 23, 2025
@rtrieu rtrieu added the editorial review Waiting on a more in-depth review label Sep 23, 2025
@rtrieu
Copy link
Contributor Author

rtrieu commented Sep 23, 2025

Created DOCS-12143 for in-depth review

Copy link
Contributor

@janine-c janine-c left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great, Rosa! I added comments for readability, link fixes, etc., but overall I found this really easy to follow. You did an awesome job arranging everything!


### Step 2 - Specify application details in the UI

1. Navigate to **Error Tracking** > **[Setup][2]** > **Mobile and Browser**.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
1. Navigate to **Error Tracking** > **[Setup][2]** > **Mobile and Browser**.
1. Navigate to **Error Tracking** > **[Settings][2]** > **Browser and Mobile**.

Comment on lines +88 to +89
2. Select `iOS` as the application type and enter an application name.
3. Click **Create Application** to generate a unique Datadog application ID and client token.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
2. Select `iOS` as the application type and enter an application name.
3. Click **Create Application** to generate a unique Datadog application ID and client token.
2. Click **New Application**.
3. Enter an application name and select **iOS** as the application type.
4. Click **Create Application** to generate a unique Datadog application ID and client token.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The UI in Org2 looks a little different from what I'm seeing in your PR, but if you're looking at a different feature flag or anything like that, just ignore these!


The SDK should be initialized as early as possible in the app lifecycle, specifically in the `AppDelegate`'s `application(_:didFinishLaunchingWithOptions:)` callback. This ensures all measurements, including application startup duration, are captured correctly. For apps built with SwiftUI, you can use `@UIApplicationDelegateAdaptor` to hook into the `AppDelegate`.

<div class="alert alert-warning">Initializing the SDK elsewhere (for example later during view loading) may result in inaccurate or missing telemetry, especially around app startup performance.</div>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<div class="alert alert-warning">Initializing the SDK elsewhere (for example later during view loading) may result in inaccurate or missing telemetry, especially around app startup performance.</div>
<div class="alert alert-warning">Initializing the SDK elsewhere (for example, later during view loading) may result in inaccurate or missing telemetry, especially around app startup performance.</div>

WebViewTracking.disable(webView: webview)
```

For more information, see [Web View Tracking][2].
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
For more information, see [Web View Tracking][2].
For more information, see [Web View Tracking][3].


### Step 4 - Add crash reporting

Error tracking processes and displays all types of errors in a unified interface, while crash reporting captures fatal crashes when your app terminates unexpectedly.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I originally read "processes and displays" as nouns, and had to read the sentence again to realize that they were verbs! I wonder if there's a way to rephrase it, like:

Suggested change
Error tracking processes and displays all types of errors in a unified interface, while crash reporting captures fatal crashes when your app terminates unexpectedly.
Crash reporting captures fatal crashes when your app terminates unexpectedly, in addition to the errors that Error Tracking displays in a unified interface.

Also, I noticed that "crash reporting" is sometimes in sentence case and sometimes in title case in this section; which should it be?

## Limitations
- See [Supported versions][20] for a list operating system versions and platforms that are compatible with the iOS SDK.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- See [Supported versions][20] for a list operating system versions and platforms that are compatible with the iOS SDK.
- See [Supported versions][20] for a list of operating system versions and platforms that are compatible with the iOS SDK.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would move this information to the beginning. It feels odd to have a compatibility list after all this info - I think users are likely to look for this info when they're trying to figure out whether they can use a feature to solve a problem they're facing.

## Limitations
- See [Supported versions][20] for a list operating system versions and platforms that are compatible with the iOS SDK.
- `.dSYM` files are limited in size to **2 GB** each.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe move this to the section about .dSYM files?

### Step 1 - Add the iOS SDK as a dependency

Declare the iOS library as a dependency depending on your package manager. Swift Package Manager (SPM) is recommended.
Add the iOS SDK to your project using your preferred package manager. Swift Package Manager (SPM) is recommended.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Add the iOS SDK to your project using your preferred package manager. Swift Package Manager (SPM) is recommended.
Add the iOS SDK to your project using your preferred package manager. Datadog recommends using Swift Package Manager (SPM).


[1]: https://app.datadoghq.com/rum/application/create
[2]: /real_user_monitoring/ios/web_view_tracking/
[3]: /real_user_monitoring/ios/data_collected/
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think these links need to go into the list at the bottom, because they're out of tabs now! I noticed that the links in the next section are going to unexpected places, and I think it's because these are kind of "stealing" the link references.

{{< /site-region >}}
The 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][6] to the SDK configuration, see the [Set tracking consent documentation](#set-tracking-consent-gdpr-compliance).
The iOS SDK automatically tracks user sessions based on the options you provide during SDK initialization. To add GDPR compliance for your EU users (required for apps targeting European users) and configure other [initialization parameters][5], see the [Set tracking consent documentation](#set-tracking-consent-gdpr-compliance).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't realize this GDPR section was in two places! Might be worth making a shortcode so we don't have to maintain it in two different places? Doesn't have to be now, though 🙂

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
editorial review Waiting on a more in-depth review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants