Appetize Docs
HomeDemoUploadPricing
  • Introduction
  • Platform
    • App Management
      • Uploading Apps
        • Android
        • iOS
      • App Dashboard
      • Running Apps
      • App Permissions
    • Device Sandbox
    • Embedding
    • Sharing
    • Session Inactivity Timeout
    • Query Params Reference
  • Features
    • Devices & OS Versions
    • Network Traffic Monitor
    • Debug Logs
    • UI Automation
    • Proxy
    • Language & Locale
    • Mock Location
    • Deep links
    • Launch Params
    • Media
    • Auto-grant Permissions
    • Custom Branding
    • Custom Launch Pages
    • Advanced Features
      • Android
        • ADB tunnel
        • Hide Password Visibility
      • Reserved Devices
  • Account
    • Invite your team
    • Single Sign-On
      • OpenID Connect
      • SAML
      • Azure Active Directory
      • Google Workspace (GSuite)
    • Reporting
      • Session History
      • Usage Summary
  • Infrastructure
    • Configure Network Access
    • Enterprise Hosting Options
  • JavaScript SDK
    • Configuration
    • Automation
      • Device commands
      • Touch interactions
    • API reference
      • Initialization
      • Client
      • Session
      • Types
        • AdbConnectionInfo
        • AppetizeApp
        • AndroidElementAttributes
        • Coordinates
        • DeviceInfo
        • Element
        • ElementBounds
        • IOSAccessibilityElement
        • IOSElementAttributes
        • NetworkRequest
        • NetworkResponse
        • SessionConfig
        • SwipeMove
        • RecordedAction
        • RecordedSwipeAction
        • RecordedKeypressAction
        • RecordedPosition
        • RecordedTapAction
        • RecordedTouchAction
        • UserInteraction
  • Testing
    • Getting Started
    • Writing Tests
    • Running Tests
    • Test Configuration
    • Continuous Integration
    • Record Tests (experimental)
    • Trace Viewer
    • Web Tests on Mobile Browsers
  • REST API
    • Create new app
    • Update existing app
    • Direct file uploads
    • Delete app
    • List apps
    • Usage summary
    • Devices & OS Versions
      • v1
    • IP Blocks
      • v1
  • Guides & Samples
    • Impersonation
    • Automate Sign-in Flow
    • Screenshot Automation
    • Unlock Device
    • Validate Analytics Events
    • Lock Your Device to One App
    • Test Accessibility Font Sizes
    • Common testing scenarios
    • Samples Repository
  • Deprecated
    • Cross-document messages
  • Changelog
  • Additional Support
    • Knowledge Base
    • Support Request
Powered by GitBook
On this page
  • launchUrl
  • openUrl
  • Troubleshooting
  • Verifying Associated Domains Entitlement included in your iOS App
  1. Features

Deep links

Appetizes deep linking feature can be used to simplify user workflows and reduce friction by allowing users to jump directly to relevant content or actions.

PreviousMock LocationNextLaunch Params

Last updated 8 months ago

Supported Links

  • Android AppLinks / iOS Universal Links

  • Custom Schema Deeplinks

  • Web Links

Appetize allows configuration of deep links at app launch with or during runtime with , depending on when and how the link needs to be triggered.

launchUrl

To launch a URL (deep link or regular) when the device starts.

Verifies AppLink or Universal Link associations (if applicable), which may delay the device launch until the validation is complete

Set the deep-link URL by adding the URL encoded launchUrl query parameter to your app or embed URL.

&launchUrl=https%3A%2F%2Fwww.appetize.io

See for more information.

Set the deep-link URL of the device via our JavaScript SDK

await client.setConfig({
    launchUrl: "https://www.appetize.io",
    ...
})

See for more information.

openUrl

To launch a URL (deep link or regular) while the device (or application) is already running.

This can be called multiple times after launch of the device, with the assumption that all AppLink and Universal Link associations are already established.

await session.openUrl("https://appetize.io")

See the for more information.

Troubleshooting

Please note that the use of AppLinks and Universal Links may be affected if our network traffic monitor feature is enabled.

Verifying Associated Domains Entitlement included in your iOS App

  1. Open the Terminal on your macOS machine.

  2. Navigate to the directory where your app's .app bundle is located. For example, if your app is named YourAppName, and it's in the /Applications folder, you can use the following command to change to that directory:

cd /Applications/YourAppName.app
  1. Run the codesign command with the --entitlements flag to extract the entitlements XML from your app bundle:

codesign -d --entitlements - YourAppName.app/

This command will print the entitlements XML to the Terminal.

  1. Verify that the entitlements XML contains the com.apple.developer.associated-domains key and that it specifies the expected URL for your associated domain. The output should look like the following:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "https://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>com.apple.developer.associated-domains</key>
    <array>
      <string>applinks:yourexpected.domain.com</string>
    </array>
  </dict>
</plist>

Ensure that the <string> value within <array> corresponds to the domain you expect for your app's associated domains.

launchUrl
openUrl
Configuration
API Reference
Query Params Reference