Note: Direct integration and streamlined support for using expo-updates with updatetheapp.com is currently under active development and coming soon! The following guide describes the planned approach and potential configuration for early testing or preview purposes.

updatetheapp.com aims to provide seamless Over-the-Air (OTA) updates for Expo applications by leveraging the powerful expo-updates library. This works by having updatetheapp.com implement the required Expo Updates protocol, similar to how you might set up a custom update server.

While the dedicated tooling and dashboard integration are being finalized, you can conceptually configure your Expo project to fetch updates from updatetheapp.com by manually setting up expo-updates.

Conceptual Configuration (Manual Setup)

This setup requires configuring your Expo project to point to the updatetheapp.com update server endpoint.

  1. Install expo-updates: If not already installed, add it to your project:

    npx expo install expo-updates
    
  2. Configure app.json / app.config.js: You need to specify the updates.url and a runtimeVersion in your app configuration.

    filename="app.config.js"
    export default {
      expo: {
        // ... other config
        updates: {
          // URL pointing to the updatetheapp.com endpoint serving Expo updates
          // (Note: This specific URL is illustrative and subject to change)
          url: "https://expo.updatetheapp.com/YOUR_PROJECT_ID/updates", // Replace YOUR_PROJECT_ID
    
          // Ensure requests include necessary headers if required by UTA
          // requestHeaders: {
          //   'uta-api-key': 'YOUR_UTA_API_KEY', // Example header
          // },
        },
        // Define a runtime version for compatibility
        // See: https://docs.expo.dev/versions/latest/sdk/updates/#runtime-version
        runtimeVersion: {
          policy: "appVersion" // Or "nativeVersion", or a specific string
        },
        // ... other config like version, ios.buildNumber, android.versionCode
      },
    };
    
  3. Backend Implementation (Handled by UTA): updatetheapp.com’s backend service at the specified url will need to:

    • Serve an update manifest compatible with the runtimeVersion.
    • Provide the update bundles and assets as requested by expo-updates.
    • Handle code signing and security protocols (details forthcoming).

What’s Coming Soon?

  • Simplified Setup: CLI commands and dashboard UI to automatically configure your Expo project.
  • Dedicated Endpoints: Clear, documented URLs for fetching updates.
  • Platform Integration: Manage Expo updates alongside your React Native (CodePush) updates within the updatetheapp.com dashboard.
  • Enhanced Features: Potential for advanced rollout strategies and analytics specific to Expo.

Stay tuned for official announcements as we finalize the integration!