Use your Test API Key during development. Only switch to your Live API Key after completing all checklist items and validating the integration.
1. SDK Installation & Environment Setup
- Gameball iOS SDK v3.1.1 installed via Swift Package Manager
- Project builds cleanly with no warnings or dependency conflicts
import Gameballworks across the projectGameballApp.getInstance().init(config:)is called at startup (AppDelegate or App struct)- Minimum iOS version set to 12.0+
- Swift version is 5.0+
- Test and Production keys stored securely (not committed to VCS)
2. Customer Initialization & Profile Registration
- SDK initialization succeeds with Test API Key
initializeCustomercreates/updates customer profiles correctly- Custom attributes mapped properly and visible in dashboard
- Device token registered with Gameball (if push notifications enabled)
- Referral code passed correctly for newly referred customers
- Guest user flow tested (if applicable)
- Errors handled gracefully (network issues, invalid input, auth errors)
3. Event Tracking Validation
- All required customer actions mapped to events
- Events successfully sent using
sendEvent - Events appear in Gameball dashboard with correct metadata
- Event-based rewards trigger successfully
- Async/Await and callback variants tested
- Metadata keys follow consistent naming conventions
- Error handling implemented for timeouts, auth errors, and invalid payloads
4. Profile Widget Validation
- Widget opens correctly inside the app (UIKit & SwiftUI)
- Customer data (points, referrals, tiers, rewards) loads correctly
- Navigation within widget works without crashes
- Close button behavior correct (if enabled)
- Deep linking with
openDetailbehaves as expected - Widget theme reflects dashboard customization
5. Push Notifications (Firebase / Huawei)
- Push Notifications capability enabled in Xcode
- Permission request shown at a meaningful moment (not app launch)
- Device token registered successfully via
initializeCustomer - Firebase or Huawei push service configured in your project
- Test notifications received on physical devices from Gameball
- Foreground/background notification handling implemented
- Deep link navigation implemented for Gameball notification actions
- Device token refresh handled
6. Referrals (Branch or Adjust)
- Selected provider integrated (Branch or Adjust)
- Universal Links configured and verified
- Deep linking + deferred deep linking both tested
- Referral code extracted correctly from provider payload
- Referral code passed to Gameball during registration
- Referral link sharing UI tested
- Referral rewards trigger successfully for referrer & referee
- Firebase Dynamic Links fully removed (deprecated)
7. Security, Authentication & Session Tokens
- Session Token implemented if backend-auth is required
- API version routing (v4.0 / v4.1) verified if using Session Token
- Secret keys not included in client-side code
- HTTPS enforced, no insecure communication
- App logs do not expose sensitive data
8. Multi-Environment & Build Verification
- Tested in Debug, Stage, and Production environments
- Gameball Test → Production API key switch validated
- Release build tested on physical devices
- Feature flags and environment switches validated
9. Performance & Stability
- No memory leaks in widget or SDK APIs
- No crashes in repeated widget open/close cycles
- API calls retry gracefully on poor networks
- Offline mode behavior (retry, error messages) reviewed
- Long session stability verified
10. Dashboard & Backend Alignment
- All earning rules and rewards set up correctly
- Redemption settings & limits configured
- Referral rules finalized
- Push provider configuration verified in Gameball dashboard
- Test user transactions visible in Gameball dashboard
- Segments, tiers, and campaigns behave as expected
11. Pre-Launch QA & Monitoring Setup
- Full customer lifecycle tested (signup → earn → redeem → notify → track)
- Regression testing performed on all integration points
- Analytics and monitoring tools enabled (e.g., Crashlytics, Sentry)
- Support team prepared for launch
- Documentation shared with engineering & product teams
If every item above is complete, your Gameball iOS SDK integration is fully production-ready.