entryready_wallet 0.2.0
entryready_wallet: ^0.2.0 copied to clipboard
Add EntryReady mobile keys to Apple Wallet and Google Wallet. Presents the platform's provisioning flow and reports what is already in the wallet.
entryready_wallet #
Add EntryReady mobile keys to Apple Wallet and Google Wallet from Flutter.
This package is the device half of an EntryReady wallet integration. It handles what cannot be written in Dart, or that requires knowing how each wallet behaves:
- presents Apple's provisioning sheet and writes the credential to the Secure Element
- reports whether a key's pass is already in the wallet, on the phone and on a paired Apple Watch
- decides when to show the Add to Apple Wallet button, following Apple's display rule
- ships Apple's own
PKAddPassButton - reports why provisioning is unavailable when it is
It does not call the EntryReady API. Your application makes those calls, with its own HTTP client and its own authentication, and passes the results to this package.
Platforms #
| iOS 16+ | Apple Wallet. Presents PassKit's sheet in your app; the device reports the pass. |
| Android | Google Wallet, opt-in — see below. Issuance is server-side; EntryReady's key events report the result. |
The two are not variants of one flow. On Apple the sheet opens inside your application and afterwards the device can be asked what it holds. On Google the save step leaves your application entirely, and the device cannot answer what it holds — only EntryReady's key events can. Treat them as separate integrations that share a mobile key.
Google Wallet is opt-in #
Google's Tap and Pay client is distributed only to onboarded Service Providers and resolves from no public repository. Declaring it unconditionally would break the Android build of every application using this package, including those not using Google Wallet at all.
So it is enabled by a flag in your application:
# android/gradle.properties
entryreadyWallet.googleWallet=true
along with the Maven repository Google supplied:
// android/build.gradle
allprojects {
repositories {
maven { url = uri("$rootDir/m2repository") } // where you unzipped Google's SDK
}
}
Without the flag the package still builds and runs on Android. The Google calls report
GoogleWalletError.notSupportedInBuild, which names the flag, and googleOpenSaveLink still works
because the save step is an ordinary intent rather than an SDK call.
Check support before offering the action:
if (await wallet.googleIsSupported()) {
// show Add to Google Wallet
}
Once a call fails, "no support in this build" and "Google rejected this application" look alike and need opposite fixes — one is your Gradle configuration, the other your allowlist entry.
Google allowlists per application on package name and signing-certificate fingerprint together, so an approved package built with a different key is rejected exactly as an unlisted one is.
Requirements #
| iOS | 16.0+ |
| Entitlement | com.apple.developer.contactless-payment-pass-provisioning with shareablecredential |
| Device | A real iPhone — the Simulator has no Secure Element |
| Account | An active EntryReady account with mobile keys enabled |
The entitlement is granted by Apple through the Wallet Access Key program, bound to your bundle identifier, and the application takes time. Start it early — EntryReady can advise on the process.
Install #
flutter pub add entryready_wallet
Then raise the iOS deployment target to 16.0. A new Flutter app defaults to 15.0, and the build fails until you do:
The package product 'entryready-wallet-product' requires minimum platform version 16.0 for the iOS platform, but this target supports 15.0
- In Xcode: Runner target → General → Minimum Deployments → iOS 16.0.
- If your project uses CocoaPods, also set
platform :ios, '16.0'inios/Podfile. Projects on Swift Package Manager — the Flutter default — have no Podfile, and the Xcode setting is all that is needed.
Getting started #
Integration documentation lives in the EntryReady developer portal, which is access-controlled. EntryReady issues an invitation as part of onboarding, along with your API credentials and guidance on the Apple Wallet Access Key application.
Contact EntryReady to get started.
support@entryready.com
The API reference for every public member of this package is published alongside it.
License #
Apache License 2.0 — see LICENSE. Copyright 2026 EntryReady.
The licence covers this package only. Your use of the EntryReady API and service is governed by your agreement with EntryReady, and the Apple Wallet entitlement by your agreement with Apple.