Preview sessions
A session is an Android emulator running your app. A viewer is a browser connection to that session. Reopening a live session reconnects you to its current state; it does not necessarily create a new device.
Open and control a device
Upload an APK or open a blank device from the dashboard. For a GitHub build, follow the Ramus comment or open the preview from the PR page. Opening a PR preview without a share link requires a signed-in account with access to the repository.
Use the viewer to tap, swipe, scroll, type and paste, capture screenshots, and read device logs. Fullscreen is available where the browser supports it.
Leave, restart, or end
- Back or close the tab: disconnects the viewer. The session stays available on the dashboard until you end it or its idle timeout reclaims it.
- Restart device: replaces the session with a fresh device running the same app. Device state from the previous session is lost.
- End device: releases the device. This does not revoke its share link.
The viewer shows the session's idle window. Timeouts vary by session type, and an open browser tab does not keep a device running indefinitely. Closing or merging a PR also ends its build's preview sessions.
Share a session
or coding agent
Same device state.
Can watch and control.
Use Share to create a link. Anyone with it can open and control the shared device without signing in. They join the same session and see the same app state; they do not get a private copy.
Up to 4 browsers can view and control one device at once. The viewer icons in the header show signed-in names, anonymous guests, and (you). Each icon is one browser connection, so two open tabs take two spots. Everyone controls the same app, and colored cursors on the phone show where others point and tap.
Anyone with the link can upload an APK from the App panel. It installs on the live device while everyone stays connected, and all viewers see the install status. Install one app at a time. Closing a browser leaves the device available until its normal idle or lifetime limit. Share links carry over across a restart, and open viewers reconnect to the replacement device.
When all four spots are taken, the next viewer sees a capacity message and no one is disconnected. Once someone leaves, choose Try again to join.
After its device ends, a valid share link can offer a fresh launch, subject to relaunch limits, capacity, and the app or build still being available. A fresh launch does not restore the previous device's state.
Each link shows its expiration. Creating a new link replaces the previous one. Share links are credentials: revoke a link to stop access through it, because ending the device does not revoke it.
A PR preview's share link also depends on its creator's access to the repository. It stops working, for viewing as well as relaunching, once the creator can no longer read the repository, the repository is removed from the GitHub App, or the installation is suspended or uninstalled.