File Architecture: .pkpass vs Google Wallet API
While the business goal of a digital loyalty program is identical on both mobile ecosystems—delivering a high-converting, friction-free pass that drives repeat visits—the underlying engineering architectures differ significantly:
🍏 Apple Wallet (PassKit & .pkpass)
Apple relies on self-contained, signed archive bundles with the .pkpass file extension. Bundles are cryptographically signed with an Apple Developer Pass Type ID certificate using SHA-256 signatures, encapsulating pass.json, imagery, and manifest.json.
🤖 Google Wallet (REST API & JWT)
Google leverages a decoupled, cloud-first REST architecture. The merchant defines a LoyaltyClass (brand template, issuer name, global colors) and creates individual LoyaltyObject instances for each customer. Passes are delivered via signed JSON Web Tokens (JWT) through Google Cloud service accounts.
Visual Layout & Image Dimensions
Designing digital passes requires adhering to native visual guidelines for each platform:
| Design Element | Apple Wallet (.pkpass) | Google Wallet (LoyaltyObject) |
|---|---|---|
| Hero / Strip Artwork | Horizontal banner 1125x432 px (@3x) or 375x123 pt | Optional hero image or text module cards |
| Program Logo | Horizontal header graphic up to 480x150 px | Circular badge avatar 660x660 px at header center |
| Notification Icon | 87x87 px square for Lock Screen alerts | Derived automatically from program logo |
| Supported Barcodes | QR Code, Aztec, PDF417, Code128 | QR Code, Aztec, PDF417, Code128, Code39 |
In Zinc Loyalty, you simply upload your brand artwork once. The platform automatically formats, crops, and optimizes assets for both operating systems.
Unified Distribution via Smart Links
A frequent question from retail managers is: "Do I need two separate QR codes on my checkout counter—one for iPhone and one for Android?"
No. Zinc Loyalty provides a single Universal Smart Pass link and QR code:
- When an iPhone scans the code, the server detects iOS and returns the signed
.pkpassbundle directly into Apple Wallet. - When an Android phone scans the same code, the server detects Android and opens Google Wallet's native save flow.
- When opened on a desktop browser, a responsive landing page displays an on-screen QR code for mobile scanning.
Push Notification Architectures
How do balances update in real-time when a customer completes a purchase?
On iOS, Apple uses Apple Push Notification service (APNs). The iPhone registers a push token with Zinc Loyalty upon pass installation. When a transaction occurs, Zinc dispatches a silent push notification to APNs, triggering the iPhone to fetch the updated pass and illuminate the lock screen.
On Android, Zinc executes a REST PATCH request directly against Google Wallet's API servers. Google Play Services delivers the updated object instantly to the user's device via Google's cloud pipeline.
Feature Comparison Matrix
| Capability | Apple Wallet | Google Wallet |
|---|---|---|
| Ecosystem Reach | iOS, iPadOS, watchOS, macOS Safari | Android, WearOS, Google Chrome Web |
| NFC Tap-to-Redeem | Supported (Apple VAS Protocol) | Supported (Google Smart Tap) |
| Geofencing & Proximity | Up to 10 GPS Points + iBeacon | Cloud-Linked Class Coordinates |
| Real-time Push Updates | Yes (APNs) | Yes (Google Play Services) |
Start issuing unified loyalty cards today. Get started with Zinc Loyalty on a 14-day free trial.