Skip to main content
Fingerprinting makes Expo and React Native remote builds faster. When your native code has not changed, Revyl can reuse an earlier app build and update the JavaScript instead of rebuilding the whole app.

How it works

Revyl uses @expo/fingerprint to calculate a fingerprint from the parts of your project that affect the native app. It runs the selected profile’s setup_commands first, then calculates the fingerprint. If Revyl finds a compatible build with the same fingerprint, it uses the installed Expo or React Native tooling to repack the app. If fingerprinting or repacking is unavailable, it runs the selected profile’s build_commands normally. On the build page, the first build step shows Fingerprint match when Revyl reused an earlier build, or New fingerprint when it ran your build commands. Build commands skipped by a match show as Reused, and the build details link to the build whose native app was reused. You can customize what goes into the fingerprint with .fingerprintignore or fingerprint.config.js. See the Expo fingerprint documentation for the available options.

Enable fingerprinting

Set REVYL_USE_FINGERPRINT on each profile recipe where you want to use it:
Fingerprinting for bare React Native apps is experimental. It may not work for every project yet, and reused builds are not guaranteed to behave as expected. If you run into any issues, please contact [email protected].