Developing a Mobile App for Online Casino
Casino app in App Store—rare. Apple issues gambling entitlement only to operators with valid license, only in permitted regions (UK, Ireland, France, Australia, ~15 more countries). Google Play—similar restrictions with regional permission. For most markets, mobile casino distributed via Progressive Web App (PWA) or direct APK. Technical solution depends on this choice first.
Native App vs PWA
Native (store-approved)—best UX, push notifications, biometry, payment method storage in Keychain/Keystore. But requires license and store review (thorough).
PWA—bypasses store restrictions, installed via browser. On iOS limitations: no background push, no native biometry, Safari has WebGL limits for 3D slots. Android PWA via Chrome—significantly more complete API. Many casino operators use hybrid: PWA + native wrapper (WKWebView on iOS, WebView on Android) with native bridges for payments and push.
Native wrapper + WebView—compromise: game lobby and slots render in WebView (game providers like Pragmatic Play, Evolution Gaming provide iframe/JS SDK), native layer handles auth, payments, push. Bridge via WKScriptMessageHandler (iOS) / addJavascriptInterface (Android).
Game Provider Integration
Major game providers (Pragmatic Play, Evolution, NetEnt, Playtech) give operators game launch URL like https://provider.com/game?token=SESSION_TOKEN&demo=false. Mobile app:
- Requests
session_tokenfrom own server for specific game (server requests from provider via B2B API). - Opens game URL in
WKWebView/WebViewwith fullscreen presentation. - Receives provider callback via
postMessageon game close.
Issue: game iframes often block viewport meta tag and require landscape. On iOS: WKWebView with allowsInlineMediaPlayback = true, mediaTypesRequiringUserActionForPlayback = [] (audio autoplay without tap), force orientation via UIInterfaceOrientationMask for game screen.
Live dealer (Evolution Gaming) requires low-latency video stream—HLS via AVPlayer (iOS) / ExoPlayer (Android), not WebRTC. 2–4 second buffer—normal.
Payment Infrastructure
Casinos process via Payment Service Providers specializing in gambling: Payvision, Skrill, Neteller, PaySafe. Standard card flow: Apple Pay / Google Pay for fast deposit (PKPaymentRequest / Google Pay API), credit card via PCI-DSS compliant hosted fields PSP.
3DS2—mandatory for European cards. Most PSPs provide SDK with embedded 3DS challenge screen—no DIY needed, but must handle callback post-challenge (success/failure).
Deposit limits, responsible gambling tools (self-exclusion, deposit limits)—regulatory requirement in licensed jurisdictions. Limit management UI—mandatory settings screen.
Bonus System
Welcome bonus, free spins, cashback—standard set. On client: BonusRepository with active bonuses, wagering progress (how much to stake for rollover), expiration timer. Free spins apply automatically on game launch—logic on server, client receives {free_spins_available: 10, game_id: "starburst"} and shows badge.
KYC and Security
KYC—mandatory by license. Sumsub SDK (SumSubMobileSDK) or Onfido: document upload + selfie + liveness check in native flow. Verification levels: basic (email + phone) → extended (ID document) → full (proof of address) with different deposit/withdrawal limits.
Biometric auth for login and withdrawal confirmation—LocalAuthentication (iOS) / BiometricPrompt API (Android). Session token storage—iOS Keychain, Android EncryptedSharedPreferences.
Process
License audit and distribution strategy (Store / PWA / hybrid) → game provider integration → payment integration → KYC → bonus system → responsible gambling tools → QA → publication/deploy.
Timeline Estimates
Native wrapper with WebView lobby, one game provider integration, payments, KYC: 8–12 weeks. Full platform with multiple providers, live dealer, iOS + Android app, bonus system: 3–5 months.







