Handoff and continuity

Apps available on multiple devices SHOULD support continuity features so users can start work on one device and resume on another. Cross-device continuity reduces friction and meets the expectation that data follows the user, not the device.

  • Capture enough state to reconstruct the user's context on the receiving device
  • Continuity MUST feel instant — pre-transfer the minimum viable state, fetch details on arrival
  • Fall back gracefully when the receiving device lacks a feature the originating device had
  • Use deep links as the universal handoff payload — every platform can resolve a URL

Apple (iOS / macOS)

Use NSUserActivity to advertise the current activity. Set isEligibleForHandoff = true and populate userInfo with state needed to restore context. Implement application(_:continue:) on the receiving device. Activities also appear in Spotlight and Siri Suggestions when isEligibleForSearch and isEligibleForPrediction are set. Support Universal Clipboard for cross-device copy/paste.

Android

Use Google Play Services' Nearby Connections API or Chrome's cross-device features for continuity between Android devices. For Android-to-web continuity, use Firebase Dynamic Links or deep links that resolve in both native and web contexts. Support clipboard sync through Google account integration.

Web

Use shared URLs as the primary continuity mechanism — a well-constructed URL with state parameters is the most universal handoff format. Support the Credential Management API for seamless sign-in across devices. Consider WebSocket or server-sent events for real-time state sync between active sessions.

version
1.0.0
platforms
ios, macos, android, web
tags
handoff, continuity, platform, cross-device
author
Mike Fullerton
modified
2026-04-02

Change History

Version Date Author Summary
1.0.0 2026-04-02 Mike Fullerton Initial creation