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
    • Sample code
  • 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
  • Capture Network Traffic
  • With Query Parameter
  • With JavaScript SDK
  • Inspecting Network Traffic
  • With App Page
  • With JavaScript SDK
  • Troubleshooting
  • Certificate Issues
  1. Features

Network Traffic Monitor

With Appetize, you can capture, inspect, validate and troubleshoot all network traffic (including any API calls) occurring during your app session for real-time or later analysis.

PreviousDevices & OS VersionsNextDebug Logs

Last updated 1 month ago

Note by default, a user needs to be authenticated to view network traffic using the built-in intercept proxy. See for more information.

Capture Network Traffic

To allow Appetize to capture all network events, you need to set the proxy of the device to intercept.

With Query Parameter

Add the proxy query parameter to your app or embed URL with intercept as value.

&proxy=intercept

See for more information.

With JavaScript SDK

Set proxy to intercept in the configuration e.g.

await client.setConfig({
    proxy: "intercept",
    ...
})

See for more information.

Inspecting Network Traffic

With App Page

The app page provides a simple network log of all the events that took place. You can access this via your app's app link

https://appetize.io/app/{appId|buildId|publicKey}?&proxy=intercept

You can also open the network logs in Chrome DevTools if you are running the app in a Chrome Browser by selecting the Chrome DevTools button.

Alternatively you can download the HAR file and open it in your favorite Network Monitoring tool.

With JavaScript SDK

You can listen for all network events via our JavaScript SDK. To easily view them in the browser you can print them to the console or you can store it to file for later analysis

session.on('network', (data) => {
    // intercepted network request
    if (data.type === 'request') {
        console.log(`[${data.request.method}]: ${data.request.url}`)
    } 
    
    // intercepted network response
    if (data.type === 'response') {
        console.log(data.response.postData)
    }
})

Troubleshooting

Certificate Issues

When using Appetize’s Network Intercept Proxy to monitor HTTPS traffic, your app might encounter certificate errors if it uses certificate pinning. To resolve this, you can either:

  1. Remove the certificate pinning from the app uploaded to Appetize, or

  2. Add Appetize's proxy's SHA-256 hash to the list of trusted certificates in the app:

RNgAjJJXM4cdpieGhVEqa813muPE2imOWGQpFzwI63E=

By doing so, the app will trust the proxy’s certificate and allow secure HTTPS traffic monitoring.

If your app uses third-party libraries that also make HTTPS requests, those libraries might not be aware of the SHA-256 hash you add. In such cases, you may need to update the library’s certificate pinning or trust settings as well.

Note:

or by going to your page, selecting the app you want to inspect, and then clicking debug on the latest build or choosing a specific build you would like to debug.

See our JavaScript for more information.

provides a direct URL for opening network logs in Chrome DevTools

Apps
App Permissions
Configuration
API Reference
getNetworkInspectorUrl
Query Params Reference
Select Debug for the app or a specific build
Network log tab with associated action buttons for downloading the HAR or opening in Chrome DevTools
Example App Network Event Log