> ## Documentation Index
> Fetch the complete documentation index at: https://help.airbridge.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Testing - iOS SDK (Deprecated)

<Danger>
  **Deprecated SDK**

  This SDK has been deprecated. Migrate to the latest [iOS SDK v4](/en/developers/ios-sdk-v4).
</Danger>

Test whether the Airbridge SDK functions as intended using the Airbridge dashboard.

<Info>
  **Attention**

  Install the Airbridge SDK before conducting the test.
</Info>

After completing the Airbridge iOS SDK setup, you can test the SDK using real-time logs and test sites. Prepare the following information before testing.

<AccordionGroup>
  <Accordion title="App information registered with Airbridge">
    Check the App Name and SDK Token of the App registered within Airbridge.

    * [App Name](/en/guides/default-app-settings): Find it on the **\[Settings]>\[Tokens]** page **i**n the Airbridge dashboard.
    * [SDK Token](/en/guides/tokens): Find it on the **\[Settings]>\[Tokens]** page in the Airbridge dashboard.
  </Accordion>

  <Accordion title="Finding the IDFA of the test device">
    Airbridge uses IDFA (Identifier for Advertisers) provided by Apple as an [identifier](/en/guides/identifiers) for [attribution](/en/guides/identity-matching).

    Airbridge offers the "My Device ID by Airbridge" app, which quickly finds a device's IDFA. Scan the QR code below with the test device and download the app.

    <Frame>
      <img src="https://mintcdn.com/airbridge-help-center/qM36w-ZvTliTLENQ/asset/image/my-device-id-app-download-qr-code.png?fit=max&auto=format&n=qM36w-ZvTliTLENQ&q=85&s=618c95026665198fe334c191e7ee067a" alt="My Device ID by Airbridge" width="1400" height="800" data-path="asset/image/my-device-id-app-download-qr-code.png" />
    </Frame>
  </Accordion>
</AccordionGroup>

## Test SDK Functionality

When the SDK is installed, app install events are automatically collected.  Follow the steps below to check whether the SDK collects app install events as intended.

### Attributed install event test

The attributed install event test is available on the **\[Settings]>\[Test Console]** page in the Airbridge dashboard. Attributed events are events with winning touchpoints determined by the [Airbridge attribution model.](/en/guides/airbridge-attribution-model#mobile-app-attribution)

* Event collection: If the app install event is collected as intended, the organic app install event test is unnecessary.
* Attribution: The app install is collected by the SDK and attributed by Airbridge.

Once the app install event attribution is confirmed to function as intended, any subsequent events will also be attributed as app install events, which are treated as [Target Events](/en/guides/setting-attribution-window#target-events).

<Danger>
  **Attention**

  When testing an iOS app, consent to the ATT prompt. For why ATT consent is needed, see [Prerequisites](#prerequisites).
</Danger>

1. Prepare a test device where the app is not installed, or if the app is already installed, delete it before testing.
2. Navigate to the **\[Attributed Installs]** tab on the **\[Settings]>\[Testing Console]** page in the Airbridge dashboard and enter the device ID of the test device. Include the hyphens.

<Frame>
  <img src="https://mintcdn.com/airbridge-help-center/M5tnpJfWDWslcUKM/asset/image/testing-console-device-id-input.png?fit=max&auto=format&n=M5tnpJfWDWslcUKM&q=85&s=2a66ed1440334ea042be02b5a96a0e2a" alt="01-en-TestingConsole" width="1400" height="800" data-path="asset/image/testing-console-device-id-input.png" />
</Frame>

You can use the My Device ID app by Airbridge to quickly find the device ID of your test device.

<Accordion title="Check with the My Device ID by Airbridge app">
  Download the My Device ID by Airbridge app using the QR code below to find your device ID. The app also shows device information such as the device model and operating system version. The available device ID types vary by operating system, so see the [Identifiers](/en/guides/identifiers) guide.

  <Frame>
    <img src="https://mintcdn.com/airbridge-help-center/qM36w-ZvTliTLENQ/asset/image/my-device-id-app-download-qr-code.png?fit=max&auto=format&n=qM36w-ZvTliTLENQ&q=85&s=618c95026665198fe334c191e7ee067a" alt="My Device ID by Airbridge" width="1400" height="800" data-path="asset/image/my-device-id-app-download-qr-code.png" />
  </Frame>
</Accordion>

3. Scan the QR code with the test device. Or click **Copy URL** and send the copied URL to the test device. Click the URL from the test device. The copied URL is the tracking link embedded in the QR code.

<Frame>
  <img src="https://mintcdn.com/airbridge-help-center/M5tnpJfWDWslcUKM/asset/image/testing-console-test-link-qr-code.png?fit=max&auto=format&n=M5tnpJfWDWslcUKM&q=85&s=aa04ec2c860ae1397c1c2e0801062d31" alt="02-en-TestingConsole" width="1400" height="800" data-path="asset/image/testing-console-test-link-qr-code.png" />
</Frame>

4. Upon scanning the QR code, a testing page will open. After the testing page opens, install the app. Closing the testing page won't affect the test result.
   * Released apps: Go to the app store and install the app.
   * Unreleased or testing apps: Download the app file manually or install the app using programs such as the Google Play Console or Test Flight.

The app must be opened after download so the SDK can collect the app install event. Also, allow tracking on the ATT prompt to proceed with the test.

5. Once the app is installed and opened, you can find the test result in the Airbridge dashboard.

<Frame>
  <img src="https://mintcdn.com/airbridge-help-center/MEWVGbOcAnAplq72/asset/image/testing-console-install-attribution-success.png?fit=max&auto=format&n=MEWVGbOcAnAplq72&q=85&s=2fbcc970adb42d9bfb99f20156225e29" alt="image (1)" width="1500" height="857" data-path="asset/image/testing-console-install-attribution-success.png" />
</Frame>

6. If the test result is delayed or if the test fails, delete the app from the test device and conduct the test again. If no attribution result is available, go through [the checklist](/en/guides/sdk-testing#checklist-to-avoid-common-mistakes) to avoid mistakes that lead to attribution failure.
7. Click **Open real-time logs** to view the details of the test result on the **\[Raw Data]>\[App Real-time Logs]** page. You can also use the Actuals Report for the same purpose.

<AccordionGroup>
  <Accordion title="Test result details in the real-time logs">
    <Info>
      **Note**

      Airbridge users with Agency or Media Partner app roles cannot access **\[App Real-time Logs]**.
    </Info>

    If the app install event from the test device has been collected successfully, you can see the install event details on the **\[Raw Data]>\[App Real-time Logs]** page. If the install event details are available in the real-time logs, as in the image below, the app install event collection and attribution are deemed to be successful even if the test result did not show due to delays or initially showed failure on the dashboard.

    <Frame>
      <img src="https://mintcdn.com/airbridge-help-center/6CTRFgWYblklSTQJ/asset/image/app-real-time-logs-event-details.png?fit=max&auto=format&n=6CTRFgWYblklSTQJ&q=85&s=4d68d46cfdc4df04d743cda20010e7ec" alt="image (2)" width="1500" height="857" data-path="asset/image/app-real-time-logs-event-details.png" />
    </Frame>

    **Android**

    * Event Category: Install
    * `gaid`: GAID entered in the Airbridge dashboard
    * `attributionResult.channel`: airbridge\_sdk\_test
    * `attributionResult.attributedTouchpointOriginURL`: `https://abr.ge/@${YOUR_APP_NAME}/test_sdk?campaign=test_sdk_campaign&device_uuid=${YOUR_GAID}`

    **iOS**

    * Event Category: Install
    * `ifa`: IDFA entered in the Airbridge dashboard
    * `attributionResult.channel`: airbridge\_sdk\_test
    * `attributionResult.attributedTouchpointOriginURL`: `https://abr.ge/@${YOUR_APP_NAME}/test_sdk?campaign=test_sdk_campaign&device_uuid=${YOUR_IDFA}`
  </Accordion>

  <Accordion title="Using the Actuals report">
    Configure the Actuals Report as follows to check attributed app installs.

    * Date range: include the day the test was run
    * Metric: Installs (App)
    * Group by: Channel

    If the app install event is attributed to the airbridge\_sdk\_test channel, you can see the Installs (App) count for that channel in the table.
  </Accordion>
</AccordionGroup>

### Organic app install test

Organic app install events are installs that occur without any interaction with a paid ad. By testing organic app installs, you can confirm that events are collected by the Airbridge SDK. However, this test does not confirm whether events are attributed successfully or not.

1. Prepare a test device. If your app is already installed, delete it from the device before conducting the test.
2. Download and launch the app on the test device.
3. Check whether the install event details can be found on the **\[Raw Data]>\[App Real-time Logs]** page. It may take up to 10 minutes to view the event details in the [real-time logs](/en/guides/tracking-events-with-real-time-logs) from the actual event occurrence time.
4. If the test result is delayed and the install event details can’t be found on the **\[App Real-time Logs]** page, delete the app from the test device and conduct the test again.

### In-app event test

On the **\[Raw Data]>\[App Real-time Logs]** page in the Airbridge dashboard, you can check in the [real-time logs](/en/guides/tracking-events-with-real-time-logs) whether in-app events are collected as designed in the [event taxonomy](/en/guides/airbridge-event-taxonomy). Search by the device ID to find the logs.

<AccordionGroup>
  <Accordion title="Use real-time logs to check whether event collection abides by the event taxonomy">
    <Info>
      **Note**

      Airbridge users with Agency or Media Partner app roles cannot access **\[App Real-time Logs]**.
    </Info>

    In order to confirm whether an event has been collected as intended according to the event taxonomy, check the event details on the **\[App Real-time Logs]** page.

    <Frame>
      <img src="https://mintcdn.com/airbridge-help-center/6CTRFgWYblklSTQJ/asset/image/app-real-time-logs-event-details.png?fit=max&auto=format&n=6CTRFgWYblklSTQJ&q=85&s=4d68d46cfdc4df04d743cda20010e7ec" alt="image (2)" width="1500" height="857" data-path="asset/image/app-real-time-logs-event-details.png" />
    </Frame>

    Refer to the information below to learn where to find the event parameters.

    * Category: `eventData.goal.category`
    * Action: `eventData.goal.action`
    * Label: `eventData.goal.label`
    * Value: `eventData.goal.value`
    * Semantic Attribute: `eventData.goal.semanticAttributes`
    * Custom Attribute: `eventData.goal.customAttributes`
  </Accordion>

  <Accordion title="Using real-time logs">
    When the app install event is collected successfully, you can find it in **\[App Real-time Logs]**.

    <Danger>
      **Attention**

      A test event may not appear in the real-time logs even when it was collected, because the logs are sampled. To see every event from your test device, browser, user account, or IP address, register its identifier as a test identifier. Events from the registered test identifiers are shown in full, without sampling. For how to register, see [Register test identifiers](/en/guides/tracking-events-with-real-time-logs#register-test-identifiers).
    </Danger>

    <Info>
      **Note**

      Airbridge users with Agency or Media Partner app roles cannot access **\[App Real-time Logs]**.
    </Info>

    ##### What to check on Android

    * Event Category: Install
    * `gaid`: the GAID you entered in the dashboard
    * `attributionResult.attributedChannel`: airbridge\_sdk\_test
    * `attributionResult.attributedTouchpointOriginURL`:

    `https://abr.ge/@{YOUR_APP_NAME}/test_sdk?campaign=test_sdk_campaign&device_uuid={YOUR_GAID}`

    ##### What to check on iOS

    * Event Category: Install
    * `ifa`: the IDFA you entered in the dashboard
    * `attributionResult.attributedChannel`: airbridge\_sdk\_test
    * `attributionResult.attributedTouchpointOriginURL`:

    `https://abr.ge/@{YOUR_APP_NAME}/test_sdk?campaign=test_sdk_campaign&device_uuid={YOUR_IDFA}`
  </Accordion>
</AccordionGroup>

## Test Deep Linking

The deep linking test is available in the **\[Deep Linking]** tab on the **\[Settings]>\[Test Console]** page in the Airbridge dashboard.

### Pre-setup

Before testing the deep link, make sure the following items have been set up.

| Item               | Description                                                                                                                                                                                                                                                              | Resources                                                                                                                                                |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Universal Links    | Setup is required.                                                                                                                                                                                                                                                       | - [Dashboard Settings](/en/guides/retargeting-with-deep-links)<br />- [Project Setup](/en/developers/deprecated-ios-sdk-v1#set-up-project)               |
| Scheme Deep Link   | Setup is required.                                                                                                                                                                                                                                                       | - [Dashboard Settings](/en/guides/retargeting-with-deep-links)<br />- [Project Setup](/en/developers/deprecated-ios-sdk-v1#set-up-deferred-deep-linking) |
| Deferred Deep Link | The setup is completed automatically. No additional setup is required.                                                                                                                                                                                                   | - [Project Setup](/en/developers/deprecated-ios-sdk-v1#set-up-deferred-deep-linking)                                                                     |
| Custom Domain      | Setup is optional.                                                                                                                                                                                                                                                       | - [Dashboard Settings](/en/guides/custom-domain)<br />- [Custom Domain Setup](/en/guides/custom-domain)                                                  |
| App Install        | - If you don't need to test the deferred deep link, install the app on your test device in advance.<br />- If you need to test the deferred deep link, the app should not be installed on the test device. If the app is installed, delete the app from the test device. |                                                                                                                                                          |

### Test preparation

The deep link information and app information required to enable deep linking must be submitted to the Airbridge dashboard before starting the test. This stage won’t show in your dashboard if the deep link information and app information have already been submitted. You may move on to the actual testing.

#### Submit Deep Link Info

To test deep linking, make sure the required deep link information is submitted to the Airbridge dashboard for at least 1 platform. If you want to add or edit the deep link info, click **Go to Settings**. You can check and update the information on the **\[Tracking Link]>\[Deep Links]** page. For more details, refer to this [article](/en/guides/retargeting-with-deep-links#providing-deep-link-information).

<Note>
  **Refresh to see the latest version**

  If you've completed the setup in a different browser tab, refresh the Airbridge dashboard tab to reflect the most recent changes.
</Note>

#### Submit App Info

The deep link fallback path should be configured in advance so that users who haven’t installed the app on their devices are redirected to the app store. Click **Go to Settings** and fill in the “Platform” section on the **\[Settings]>\[App Settings]** page. For more details, refer to this [article](/en/guides/retargeting-with-deep-links#adding-the-fallback-path).

#### Enter deep link for testing

Enter the deep link configured for the app you want to test. The deep link must be in the form of the URL scheme deep link. It should preferably be set to a specific in-app location instead of the home screen.

<Danger>
  **Attention**

  Encode the deep link before entering it into the required field. If you don't, the link will not conform to the standard URL format, and deep linking will not function properly.
</Danger>

Click the **\[switch]** icon on the right to change the input method. This allows you to add the path and parameters separately to input a deep link.

<Frame>
  <img src="https://mintcdn.com/airbridge-help-center/Z47Ur28bRajj9qGT/asset/image/deep-link-testing-input.png?fit=max&auto=format&n=Z47Ur28bRajj9qGT&q=85&s=b8a8fc32f48db7e1a5836dc965ce8a90" alt="en-01-deeplinkConsole" width="1400" height="800" data-path="asset/image/deep-link-testing-input.png" />
</Frame>

#### Check readiness for testing

Check if the info required for testing deep linking is submitted to the Airbridge dashboard. If all info is submitted for a platform, the “Ready for testing” tag will show. If not, the “Info incomplete” tag will show. Click the tooltip next to the platform name to see the required info for testing. If you see the “Info incomplete” tag for the platform you want to run the deep linking test, click **Go to Settings** to add or edit the required info to get ready for testing.

<Note>
  **Refresh to see the latest version**

  If you've completed the setup in a different browser tab, refresh the Airbridge dashboard tab to reflect the most recent changes.
</Note>

<Frame>
  <img src="https://mintcdn.com/airbridge-help-center/Z47Ur28bRajj9qGT/asset/image/deep-link-testing-readiness-info.png?fit=max&auto=format&n=Z47Ur28bRajj9qGT&q=85&s=3dc108c5ce61b09a85e4e432467bdc3a" alt="en-02-deeplinkConsole" width="1400" height="800" data-path="asset/image/deep-link-testing-readiness-info.png" />
</Frame>

### Testing

The testing console offers tests for 2 deep-linking scenarios. There are 3 tests for “Scenario 1: App already installed” and 1 test for “Scenario 2: App not installed." Complete all 4 tests if you are using a custom domain to create tracking links. If not, complete all tests except for the Custom Domain Test.

<Note>
  **Why are there multiple tests?**

  Airbridge supports various deep linking methods, including URL scheme deep links, Universal Links, and App Links. When an app is launched, the system automatically selects the most suitable method based on factors such as the operating system, browser, and whether the app is installed. Test across all possible cases to ensure reliable deep-linking performance.
</Note>

#### Testing for Scenario 1: App already installed

Testing Scenario 1 allows you to make sure the deep linking functions as intended for users who have already installed the app on their devices. You can run 3 types of tests, including a test for cases when the app is opened via URL scheme deep links, when the app is opened via Universal Links or App Links, and when the tracking link is created using a custom domain.

#### Preparation

Before you start the test, check the following items.

1. Prepare a mobile test device.
2. Check whether the app is installed on the test device. If not, download the app.
3. Open the app at least once after download.
4. Make sure the default browser setting is Chrome or Safari. The deep linking test may not work in other browsers.
5. Make sure you have a stable network connection.

<Info>
  **Note**

  If there are no issues with the deep link settings and the deep linking tests have been successfully completed, Airbridge deep linking works on most browsers. Note that deep linking tests are only supported on Chrome and Safari.
</Info>

#### How to run each test

1. Click the test you want to run.
2. Scan the QR code with the test device and access the testing page. If you're unable to scan the QR code, use the URL at the bottom of the QR code.
3. Once you access the testing website, click **Trigger deep linking**. The test will run automatically on the 5 items displayed. If an issue is identified, follow the instructions and refer to the Airbridge user guide to resolve it. Then, start the test again.

<Frame>
  <img src="https://mintcdn.com/airbridge-help-center/Z47Ur28bRajj9qGT/asset/image/deep-link-essential-test-success.png?fit=max&auto=format&n=Z47Ur28bRajj9qGT&q=85&s=80d0d332af5a20b1cb92309347088681" alt="en-05-deeplinkConsole" width="1400" height="800" data-path="asset/image/deep-link-essential-test-success.png" />
</Frame>

When the test is completed successfully, you can find the Deeplink Open event on the **\[Raw Data]>\[App Real-time Log]** page.

<AccordionGroup>
  <Accordion title="Essential Test 1">
    After completing the Essential Test 1, the following items can be found in the SDK log.

    * `eventData.deeplink` is `{YOUR_SCHEME}://...` .
    * The `{YOUR_SCHEME}://...` is passed to the deep link callback.
  </Accordion>

  <Accordion title="Essential Test 2">
    After completing the Essential Test 2, the following items can be found in the SDK log.

    * `eventData.deeplink` is  `https://{YOUR_APP_NAME}.airbridge.io...`
    * The `{YOUR_SCHEME}://...` is passed to the deep link callback.
  </Accordion>

  <Accordion title="Custom Domain Test">
    After completing the Essential Test 2, the following items can be found in the SDK log.

    * `eventData.deeplink` is  `https://{YOUR_CUSTOM_DOMAIN}.airbridge.io...`
    * The `{YOUR_SCHEME}://...` is passed to the deep link callback.
  </Accordion>
</AccordionGroup>

4. After returning to the **\[Testing Console]** tab, click **Done** and close the test window.

#### Testing for Scenario 2: App not installed

Testing Scenario 2 allows you to make sure the deep linking functions as intended for users who have not installed the app on their devices. You can run 1 test for deferred deep linking.

##### Preparation

Before you start the test, check the following items.

1. Prepare a mobile test device.
2. Check whether the app is not installed on the test device. If installed, delete the app from the device.
3. Make sure the default browser setting is Chrome or Safari. The deep linking test may not work in other browsers.
4. Make sure you have a stable network connection.

##### How to run the test

1. Click the test you want to run.
2. Scan the QR code with the test device and access the testing page. If you're unable to scan the QR code, use the URL at the bottom of the QR code.
3. Once you access the testing page, click **Trigger deep linking**. The test will run automatically on the 3 items displayed. If an issue is identified, follow the instructions and refer to the Airbridge user guide to resolve it.

<Frame>
  <img src="https://mintcdn.com/airbridge-help-center/Z47Ur28bRajj9qGT/asset/image/deferred-deep-link-test-success.png?fit=max&auto=format&n=Z47Ur28bRajj9qGT&q=85&s=afab5f09d4b688f9e73ac20a65da5bed" alt="en-06-deeplinkConsole" width="1400" height="800" data-path="asset/image/deferred-deep-link-test-success.png" />
</Frame>

When the test is completed successfully, you can find the Deeplink Open event on the **\[Raw Data]>\[App Real-time Log]** page.

<Accordion title="Deferred Deep Linking Test">
  After completing the Deferred Deep Linking Test, the following items can be found in the SDK log.

  * `eventData.deeplink` is  `https://{YOUR_SCHEME}.airbridge.io...`
  * The `{YOUR_SCHEME}://...` is passed to the deep link callback.
</Accordion>

4. After returning to the **\[Testing Console]** tab, click **Done** and close the test window.

### Troubleshooting

Refer to the information below for troubleshooting.

| Problem                                                                                                           | Solution                                                                                                                                                                                                                   |
| ----------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| The app was not launched after triggering the deep link, or the SDK logs show information that is not intended.   | Check whether deep linking has been set up correctly. Refer to this [article](/en/developers/deprecated-ios-sdk-v1#set-up-project) for the setup.                                                                          |
| The app was launched after triggering the deep link, but you were not redirected to the intended in-app location. | You need to implement the user redirection based on the deep link path passed to the `onSuccess` function. Refer to this [article](/en/developers/deprecated-ios-sdk-v1#set-up-deep-link-callback) for the callback setup. |

<link rel="alternate" hrefLang="en" href="https://help.airbridge.io/en/developers/testing-deprecated-ios-sdk-v1" />

<link rel="alternate" hrefLang="ko" href="https://help.airbridge.io/ko/developers/testing-deprecated-ios-sdk-v1" />
