Progressive Web Apps

Build Progressive Web Apps (PWAs) for Cloud Phone

Progressive Web Apps (PWAs) enable app-like experiences built and deployed on the web. They balance the broad distribution of web apps with the powerful capabilities of native platform-specific apps. Generally speaking, PWAs are:

  • Capable: capabilities include geolocation, push notifications, app badging, media controls, real-time communication, keyboard shortcuts, and much more
  • Reliable: thanks to Service Workers, background sync, and caching, PWAs are performant, stable, and able work offline
  • Installable: PWAs can be installed or pinned to the home screen and swiped between in Recent Apps, or set as the default app to open a specific file type

Cloud Phone widgets are similar to PWAs for feature phones. Adapting PWAs for Cloud Phone is easy, and Cloud Phone is continually expanding the capabilities available to feature phones.

HTTPS

Required

Cloud Phone widgets are only accessed via HTTPS in a secure context, like PWAs. HTTP (insecure) connections are not supported.

Web App Manifest

Not Required

Cloud Phone does not require a web app manifest (manifest.json or app.webmanifest file). Manifests are ignored on Cloud Phone.

Offline Support

Unsupported

Cloud Phone is a remote browser that requires an internet connection. Cloud Phone apps cannot be accessed offline.

Service Worker

Unsupported

Cloud Phone does not support or require a Service Worker. Because apps are only available online and caches are purged after a session ends, there is no need to use the Caches API.

Automatic Updates

Cloud Phone always accesses the latest, uncached version of your app. No need for complex caching strategies.

Install Prompts

Unsupported

The beforeinstallprompt and install events are not used on Cloud Phone at this time. Support may be added in the future.

addEventListener("beforeinstallprompt", (event) => {
  event.preventDefault();
  // ...
});

addEventListener("install", (event) => {
  // ...
});

Push Notifications & Background Sync

In Development

Cloud Phone does not support Background Sync, Background Fetch, or Push Notifications at this time. Push Notifications are in development, we’ll update you when support becomes available.

Responsive Design

Responsive Design is necessary to support the small QVGA and QQVAG screens on feature phones. Use the viewport meta property and test your app on the Cloud Phone Simulator to ensure it works well on Cloud Phone devices.

<meta name="viewport" content="width=device-width, initial-scale=1">

Display Mode

Cloud Phone widgets always run fullscreen. No need to check the display-mode property to check that your app runs with minimal-ui or standalone.

Fonts

Roboto is the default font on Cloud Phone. Use the system-ui font family for a more native look and feel, or load your own font with the @font-face CSS rule.

App Badges

In Development

App Badges are not available on Cloud Phone at this time. Support is in development, we’ll update you when support becomes available.

if (numberOfUnreadMessages === 0) {
  navigator.clearAppBadge();
} else {
  navigator.setAppBadge(numberOfUnreadMessages);
}

Idle Detection

Unsupported

The Idle Detection API is not supported on Cloud Phone. After a short period of inactivity, the Cloud Phone user session ends and the onbeforeunload event may be called.

It’s not possible for your app to remain idle. Cloud Phone apps cannot run in the background, and Cloud Phone is a single-tab remote browser.

Other APIs

Unsupported

The following APIs are not supported on Cloud Phone: Web Share, Web Payments, Credential Management, Periodic Sync, Bluetooth, Near-Field Communication (NFC), Serial Port, USB, Ambient Light, Contacts, Geolocation, Motion & Position, or Proximity.

Contact Us

Do you need an API that's currently unsupported, or have questions about which features are available on Cloud Phone? Get in touch!

Get Support