Skip to content

ISS-160256: Restructure the SDK documentation for iOS #215

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

Conversation

Yug2801
Copy link

@Yug2801 Yug2801 commented Apr 25, 2025

This PR restructures the iOS SDK documentation.

@Yug2801 Yug2801 self-assigned this Apr 25, 2025
@Yug2801 Yug2801 requested a review from a team as a code owner April 25, 2025 06:59
Copy link
Contributor

github-actions bot commented Apr 25, 2025

🌟 EkLine Reviewer

Hello! I’m here to help improve your docs. I’ve reviewed your pull request, and left in-line suggestions for quick fixes. For details, visit the Analytics Page.

For questions or feedback, please email [email protected].

Copy link
Contributor

Copy link
Contributor

@bc-devrev bc-devrev left a comment

Choose a reason for hiding this comment

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

I think the content in this page is too much for one page. The structure starts to break down pretty early. Is it possible to move some of it to another page?

You could also try the stylecheck utility which is experimental.

**Solution**: Ensure you have correctly called one of the identification methods: `DevRev.identifyUnverifiedUser(...)` or `DevRev.identifyAnonymousUser(...)`.

- **Issue**: Not receiving push notifications.
- **Issue**: Not receiving push notifications.
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
- **Issue**: Not receiving push notifications.
- **Issue**: Users do not receive push notifications.

@@ -1,12 +1,13 @@
This section describes the process of integrating the DevRev SDK with your iOS app.

## Requirements
## Quickstart
Copy link
Contributor

@bc-devrev bc-devrev Apr 25, 2025

Choose a reason for hiding this comment

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

I recommend against this. It doesn't look all that "quick" to me. "Integration" seems like a more suitable term, but that's used in the section that has SPM and CocoaPods.

Copy link
Contributor

Choose a reason for hiding this comment

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

We'll split it in the next iteration into sub-pages.


- Xcode 16.0 or higher (latest stable version available on the App Store).
- Swift 5.9 or later.
- Set the minimum deployment target for your iOS application as iOS 15.

## Integration
### Integration

The DevRev SDK can be integrated using either Swift Package Manager (SPM) or CocoaPods.
Copy link
Contributor

Choose a reason for hiding this comment

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

The SPM and CocoaPods sections aren't nested properly. They'd need to be H4, which isn't recommended. An accordion group or tabs might be a better option for those sections.

@@ -175,6 +202,13 @@ To display the support chat screen in a SwiftUI app, you can use the following v
DevRev.supportView
```

#### Creating a new conversation
Copy link
Contributor

@bc-devrev bc-devrev Apr 25, 2025

Choose a reason for hiding this comment

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

Shouldn't have H4.

- UIKit apps

Configure the SDK in the `AppDelegate.application(_:didFinishLaunchingWithOptions:)` method.

- SwiftUI apps

Depending on your app's architecture, configure the SDK at the app's entry point or initial view.

## Identification
## Features
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm not sure of the purpose of calling a list of stuff "Features". I'm also not sure if everything in this group is really a feature.

Suggested change
## Features
## Features

Copy link
Contributor

Choose a reason for hiding this comment

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

These are all features of the SDK and they will get split into sub-pages in the next iteration.

**Solution**: Double-check the setup process and ensure that `DevRevSDK` is correctly linked to your application.

- **Issue**: How does the DevRev SDK handle errors?
- **Issue**: How does the DevRev SDK handle errors?
Copy link
Contributor

Choose a reason for hiding this comment

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

This is important information to include but doesn't belong here. I'd suggest moving it up to the "Quickstart" section.

Copy link
Contributor

Choose a reason for hiding this comment

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

The troubleshooting will go into a sub-page in the next iteration.

Copy link
Contributor

@@ -1,12 +1,13 @@
This section describes the process of integrating the DevRev SDK with your iOS app.

## Requirements
## Quickstart
Copy link
Contributor

Choose a reason for hiding this comment

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

We'll split it in the next iteration into sub-pages.

pod 'DevRevSDK', '~> 1.0.0'
```
2. Run `pod install` in your project directory.
</Tab>
Copy link
Contributor

Choose a reason for hiding this comment

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

Let's not leave blank lines before the closing tab (for both cases).

- UIKit apps

Configure the SDK in the `AppDelegate.application(_:didFinishLaunchingWithOptions:)` method.

- SwiftUI apps

Depending on your app's architecture, configure the SDK at the app's entry point or initial view.

## Identification
## Features
Copy link
Contributor

Choose a reason for hiding this comment

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

These are all features of the SDK and they will get split into sub-pages in the next iteration.

**Solution**: Double-check the setup process and ensure that `DevRevSDK` is correctly linked to your application.

- **Issue**: How does the DevRev SDK handle errors?
- **Issue**: How does the DevRev SDK handle errors?
Copy link
Contributor

Choose a reason for hiding this comment

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

The troubleshooting will go into a sub-page in the next iteration.

DevRev.logout(deviceID:)
```

The user will be logged out by clearing their credentials, as well as unregistering the device from receiving push notifications, and stopping the session recording.
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ [EkLine] reported by reviewdog 🐶

Where possible, do not structure sentences in future tense. Use present tense instead. (EK00005)

Suggested change
The user will be logged out by clearing their credentials, as well as unregistering the device from receiving push notifications, and stopping the session recording.
The user is logged out by clearing their credentials, as well as unregistering the device from receiving push notifications, and stopping the session recording.

@@ -175,7 +203,14 @@ To display the support chat screen in a SwiftUI app, you can use the following v
DevRev.supportView
```

#### New conversation closure
### Creating a new conversation
You have the ability to create a new conversation from within your app. The method will show the support chat screen and create a new conversation at the same time.
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ [EkLine] reported by reviewdog 🐶

Where possible, do not structure sentences in future tense. Use present tense instead. (EK00005)

Suggested change
You have the ability to create a new conversation from within your app. The method will show the support chat screen and create a new conversation at the same time.
You have the ability to create a new conversation from within your app. The method shows the support chat screen and creates a new conversation at the same time.

Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ [EkLine] reported by reviewdog 🐶

Where possible, do not structure sentences in future tense. Use present tense instead. (EK00005)

The SDK will be ready for use once you execute the following configuration method.

Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ [EkLine] reported by reviewdog 🐶

Where possible, do not structure sentences in future tense. Use present tense instead. (EK00005)

If you haven't previously identified the user, the DevRev SDK will automatically create an anonymous user for you immediately after the SDK is configured.

Copy link
Contributor

github-actions bot commented May 6, 2025

DevRev.shouldDismissModalsOnOpenLink: Bool
```

### Dynamic Theme Configuration
Copy link
Contributor

Choose a reason for hiding this comment

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

🚫 [EkLine] reported by reviewdog 🐶

'Dynamic Theme Configuration' should use sentence-style capitalization. (EK00037)


### Dynamic Theme Configuration

The DevRev SDK allows you to configure the theme dynamically based on the system appearance, or use the theme configured on the DevRev portal. By default, the theme will be dynamic and follow the system appearance.
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ [EkLine] reported by reviewdog 🐶

Where possible, do not structure sentences in future tense. Use present tense instead. (EK00005)

Suggested change
The DevRev SDK allows you to configure the theme dynamically based on the system appearance, or use the theme configured on the DevRev portal. By default, the theme will be dynamic and follow the system appearance.
The DevRev SDK allows you to configure the theme dynamically based on the system appearance, or use the theme configured on the DevRev portal. By default, the theme is dynamic and follows the system appearance.

@@ -241,6 +305,17 @@ The session recording feature includes the following methods to control the reco
|`DevRev.stopRecording()` | Ends the session recording and uploads it to the portal. |
|`DevRev.pauseRecording()` | Pauses the ongoing session recording. |
|`DevRev.resumeRecording()` | Resumes a paused session recording. |
|`DevRev.processAllOnDemandSessions()`| Stops the ongoing user recording and sends all on-demand sessions along with the current recording. |

Using this property will return the status of the session recording:
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ [EkLine] reported by reviewdog 🐶

Where possible, do not structure sentences in future tense. Use present tense instead. (EK00005)

Suggested change
Using this property will return the status of the session recording:
Using this property returns the status of the session recording.

**Solution**: The DevRev SDK reports all errors in the console using Apple's Unified Logging System. Look for error messages in the subsystem `ai.devrev.sdk`.

- **Issue**: Support chat won't show.
- **Issue**: Support chat won't show.
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ [EkLine] reported by reviewdog 🐶

Where possible, do not structure sentences in future tense. Use present tense instead. (EK00005)

Suggested change
- **Issue**: Support chat won't show.
- **Issue**: Support chat doesn't show.

Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ [EkLine] reported by reviewdog 🐶

Consider using 'go' instead of 'navigate'. (EK25033)

The DevRev SDK offers automatic screen tracking to help you understand how users navigate through your app. Although view controllers are automatically tracked, you can manually track screens using the following method:

Copy link
Contributor

Choose a reason for hiding this comment

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

📝 [EkLine] reported by reviewdog 🐶

Remove 'properly ' if it's not important to the meaning of the statement. (EK00006)

To properly handle push notifications, implement the following method, typically in either the `UNUserNotificationCenterDelegate.userNotificationCenter(_:didReceive:)` or `UIApplicationDelegate.application(_:didReceiveRemoteNotification:fetchCompletionHandler:)`:

Copy link
Contributor

github-actions bot commented May 7, 2025

@Yug2801 Yug2801 closed this Jun 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants