GuidesAPI ReferenceRelease Notes
HomeLog InHome
Guides

Cross device activity sync

Cross-device activity sync keeps viewer engagement and read states aligned when the same logged-in viewer uses your app with the Experiences SDK on more than one device. A like on one phone can show on a tablet, and watch progress for Stories or Videos can carry over instead of resetting on each device.

What it does

When WSC Sports enables the feature for your app, the Experiences SDK syncs viewer activity across devices for logged-in viewers:

  • Page views for Moments and Stories
  • Views for Videos, including watch progress
  • Likes for Moments and Videos
  • Poll and quiz answers

The UI updates on the device where the action happens right away. The SDK sends activity to WSC Sports in the background and fetches it on other devices when they start or return to the foreground. Updates aren't pushed in real time.

Once a Video is marked fully watched on any device, that status persists across devices even if the viewer watches again elsewhere.

How to enable sync

  1. Ask the WSC Sports team: Request that cross-device sync is enabled for your app. WSC Sports turns it on on the backend. You don't configure this in your app code.
  2. Identify logged-in viewers: Your app needs a sign-in flow and must pass a stable, non-PII viewer ID to the Experiences SDK on init and when the viewer logs in or out. Without a viewer ID, activity stays on the device only. See Viewer ID specifications and Viewer privacy considerations and privacy compliance for tracking modes.
  3. Use a supported SDK on every platform: Each platform where you want sync must run an Experiences SDK at the earliest release in the table below. If one platform lags, sync works only between platforms on supported builds. After you upgrade a lagging platform, it fetches activity already stored for that viewer.
PlatformEarliest release
Web@wscsports/blaze-web-sdk 0.35.2 or later
iOSBlazeSDK 1.18.1 or later
Androidblazesdk 1.18.0 or later
React NativeNot yet available. Contact your WSC Sports account team for the timeline.

After these steps, the SDK fetches remote activity on init and sends new activity in batches when online. No extra integration code is required beyond passing the viewer ID.

Login, logout, and anonymous viewers

  • Anonymous viewers: Activity stays on the device only when you don't pass a viewer ID.
  • After login: Activity from the anonymous session on that device can sync to the logged-in account.
  • Account switch or logout: Pending activity for the previous account is flushed, local data is cleared, and the SDK loads activity for the new account (or stops remote sync when logged out).

Keep the SDK viewer ID aligned with your app's login, logout, and account-switch flows. See Web SDK | iOS SDK | Android SDK | React Native SDK.

Privacy and runtime controls

Cross-device sync runs when a viewer ID is set and sync is enabled for your app. Do not track and disable analytics don't stop sync by themselves. When a viewer should be anonymous or logged out, clear the viewer ID yourself, or disable user activity at runtime. See Viewer privacy considerations and privacy compliance.

You can disable activity sync at runtime or clear the local activity cache on a device (for example, for privacy requests).

  • Web: User Activity (setDisableUserActivity, clearLocalUserActivity())
  • iOS: User Activity (disableUserActivity, clearLocalUserActivity())
  • Android: User Activity (disableUserActivity, clearLocalUserActivity())

Limitations

  • Offline: Activity is saved locally while offline and syncs when connectivity returns.
  • Clear local cache: Clearing local viewer activity removes cached activity on that device only. Remote data is unchanged.
  • Phased SDK rollout: Activity already synced elsewhere isn't lost when you upgrade a platform to a supported build.


Did this page help you?