---
title: In-app features - Capacitor
description: Implement in-app features with the Contentsquare SDKs
lastUpdated: 14 January 2026
source_url:
  html: https://docs.contentsquare.com/en/capacitor/in-app-features/
  md: https://docs.contentsquare.com/en/capacitor/in-app-features/index.md
---

Alongside its tracking capabilities, the SDKs embed some features aimed at Contentsquare users such as [SDK Logs](#debugging-and-logging).

## Implement in-app features

Note

This step only applies to iOS.

To allow Contentsquare users to enable in-app features, perform these tasks:

1. [Add the custom URL scheme in your app Info](#1-add-the-custom-url-scheme-in-your-app-info)
2. [Call the SDK when the app is launched via a deeplink](#2-call-the-sdk-when-the-app-is-launched-via-a-deeplink)

### 1. Add the custom URL scheme in your app Info

You have to allow your app to be opened via a custom URL scheme which can be done using one of the following methods:

### Xcode

1. Open your project settings
2. Select the app target
3. Select the `Info` settings
4. Scroll to `URL Types`
5. Set the URL scheme to `cs-$(PRODUCT_BUNDLE_IDENTIFIER)`

#### Text editor

1. Open the `Info.plist` of your project

2. Add the following snippet:

   ```xml
   <key>CFBundleURLTypes</key>
   <array>
       <dict>
           <key>CFBundleURLSchemes</key>
           <array>
               <string>cs-$(PRODUCT_BUNDLE_IDENTIFIER)</string>
           </array>
       </dict>
   </array>
   ```

### 2. Call the SDK when the app is launched via a deeplink

Depending on the project, there are multiple ways to handle the deeplink opening. Choose the method matching your project structure:

* AppDelegate

  In your `AppDelegate` class, complete or implement the function `application(app, open url:, options:)` with: `Contentsquare.handle(url: url)`

* SceneDelegate

  In your `WindowSceneDelegate` class, you need to:

  1. Update `func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions)` with:

     ```swift
     if let url = connectionOptions.urlContexts.first?.url {
           Contentsquare.handle(url: url)
     }
     ```

  2. Complete or implement `func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>)` with:

     ```swift
     if let url = URLContexts.first?.url {
         Contentsquare.handle(url: url)
     }
     ```

* SwiftUI

  In the `body` of your main App struct, add the `onOpenURL` modifier and call the `Contentsquare` SDK to handle the URL:

  ```swift
  @main
  struct MyApp: App {
    var body: some Scene {
      WindowGroup {
        MyView()
          .onOpenURL { url in
            Contentsquare.handle(url: url)
          }
      }
    }
  }
  ```

## Enable in-app features

In-app features can be enabled in different ways:

### Scan the QR Code

If you have access to the Contentsquare platform, you can open the in-app features modal from the menu and scan the QR code displayed with your phone.

Take a look at the native documentation for further information.

### Alternative methods

We provide alternative methods to enable in-app features especially for iOS Simulator and Android Emulator.

📚 [Native Android SDK documentation for Enable in-app features](https://docs.contentsquare.com/en/android/in-app-features/)\
📚 [Native iOS SDK documentation for Enable in-app features](https://docs.contentsquare.com/en/ios/in-app-features/)

## Debugging and Logging

Contentsquare provides Logging capabilities that allow you to see the raw event data logged by your app. Use this for validation purposes during the instrumentation phase of development and can help you discover errors and mistakes in your analytics implementation and confirm that all events are being logged correctly.

📚 [Native Android SDK documentation for Debugging and Logging](https://docs.contentsquare.com/en/android/in-app-features/#debugging-and-logging)\
📚 [Native iOS SDK documentation for Debugging and Logging](https://docs.contentsquare.com/en/ios/in-app-features/#debugging-and-logging)

## Screenshot capture

In order to unlock the full data-visualization capabilities of Contentsquare, the SDK provides a way to capture screenshots of your app screens. These screenshots can only be taken by Contentsquare's users on their device. They are not captured from your end-users device. It means your Personal Data is safe, as long as you use a test user account.

Warning

For screenshot capture to work, the session has to be tracked (included in tracked users and not opted-out) and a first screenview event has to be sent before.

* Android

  Follow the [Native Android SDK documentation for Screenshot Capture](https://docs.contentsquare.com/en/android/in-app-features/#screenshot-capture)

* iOS

  Follow the [Native iOS SDK documentation for Screenshot Capture](https://docs.contentsquare.com/en/ios/in-app-features/#screenshot-capture)
