Initialize the Gameball iOS SDK with your project configuration
After installing the SDK, the next step is to initialize Gameball when your app launches.
This prepares the SDK to track events, register customers, and display widgets.You should initialize Gameball as early as possible—typically in your AppDelegate, SceneDelegate, or SwiftUI App initializer.
Secure API Access: To benefit from v4.1 secure API endpoints, pass the sessionToken parameter during SDK initialization (required in upcoming SDK v4). This enables automatic routing to v4.1 secure endpoints. Learn more about v4.1 →
func loadGameballConfig() -> GameballConfig? { guard let path = Bundle.main.path(forResource: "GameballConfig", ofType: "plist"), let dict = NSDictionary(contentsOfFile: path) as? [String: Any], let apiKey = dict["APIKey"] as? String, let lang = dict["Language"] as? String else { return nil } return GameballConfig( apiKey: apiKey, lang: lang, shop: dict["Shop"] as? String, platform: "ios" )}if let config = loadGameballConfig() { GameballApp.getInstance().`init`(config: config)}
Initialize the SDK as early as possible so tracking and profile features are ready immediately.
Always use test keys in development.
Never commit live API keys to version control.
Was this page helpful?
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Gameball Docs","colors":{"primary":"#FB5819","light":"#FFD800","dark":"#F5DB5B"},"logo":{"light":"https://mintcdn.com/gameball/G3Do1BW89krXAJ48/logo/light.svg?fit=max\u0026auto=format\u0026n=G3Do1BW89krXAJ48\u0026q=85\u0026s=aecb464405fc6a468704d3da3cedc5ae","dark":"https://mintcdn.com/gameball/G3Do1BW89krXAJ48/logo/dark.svg?fit=max\u0026auto=format\u0026n=G3Do1BW89krXAJ48\u0026q=85\u0026s=05dec1e7bb58ddf654926789347480f2"},"favicon":"https://mintcdn.com/gameball/DyB0l4Pe2M9HXiFz/favicon.svg?fit=max\u0026auto=format\u0026n=DyB0l4Pe2M9HXiFz\u0026q=85\u0026s=2159e3f87590969ecc17da52bd808257","api":{"playground":{"display":"interactive","proxy":true},"examples":{"languages":["curl","javascript","python","csharp","go","php","java"]}},"navbar":{"links":[{"href":"mailto:support@gameball.co","label":"Support"}],"primary":{"type":"button","label":"Sign in","href":"https://app.gameball.co/"}},"footer":{"socials":{"facebook":"https://www.facebook.com/Gameball.co","linkedin":"https://www.linkedin.com/company/gameball"}},"styling":{"eyebrows":"breadcrumbs","latex":true},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"interaction":{"drilldown":true},"navigation":{"global":{"anchors":[{"anchor":"Gameball Website","icon":"globe","href":"https://gameball.co/"},{"anchor":"Blog","icon":"newspaper","href":"https://www.gameball.co/blog"},{"anchor":"Case Studies","icon":"briefcase","href":"https://www.gameball.co/case-study"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"gameball","hasAudioNarration":false,"actualSubdomain":"gameball","customDomains":["docs.gameball.co"],"gitSource":{"type":"github","owner":"gameballers","repo":"gameball-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae77047d14d2161b5f1aa39","collectionId":"4ab5a5df-ae42-4575-80c1-b07b31f8cefa","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae77047d14d2161b5f1aa39"},"feedback":{"thumbs":true},"entitlements":{},"buildId":"6ae77047d14d2161b5f1aa39","clientVersion":"0.0.4045","searchFilterCounts":[{"language":"default","tag":"Product Docs","count":233},{"language":"default","tag":"Product Documentation","count":233},{"language":"default","tag":"Installation","count":130},{"language":"default","tag":"API reference","count":97},{"language":"default","tag":"API documentation","count":92},{"language":"default","tag":"Mobile Integration","count":85},{"language":"default","tag":"Technical Tutorials","count":55},{"language":"default","tag":"Rewards Campaigns","count":50},{"language":"default","tag":"Web \u0026 POS Integration","count":43},{"language":"default","tag":"Apps \u0026 Integrations","count":30}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"styles.css","content":".nav-logo,.nav-logo img{width:auto!important;height:40px!important;max-height:40px!important}.nav-logo img{object-fit:contain!important}.security-banner{display:flex;align-items:flex-start;gap:.75rem;background:rgba(239,68,68,.25);border:1px solid rgba(239,68,68,.5);border-left:4px solid #ef4444;padding:1rem;border-radius:.5rem;margin:1rem 0}.security-banner-icon{font-size:1.25rem;color:#ef4444;flex-shrink:0;line-height:1.5}.security-banner-content{flex:1;font-size:.9375rem;line-height:1.6;color:inherit}.security-banner-content strong{font-weight:600;color:inherit}.security-banner-content code{background:rgba(239,68,68,.15);color:#dc2626;padding:.125rem .375rem;border-radius:.25rem;font-size:.875em;font-family:monospace}"}],"page":{"pagePath":"installation-guides/v3/ios/initialize-sdk","slug":"/installation-guides/v3/ios/initialize-sdk","pageMetadata":{"title":"How Do I Initialize the iOS SDK (v3)?","sidebarTitle":"SDK Initialization","description":"Initialize the Gameball iOS SDK with your project configuration","href":"/installation-guides/v3/ios/initialize-sdk"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Initialize the Gameball iOS SDK with your project configuration\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,br:`br`,code:`code`,hr:`hr`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,ParamField,Tip,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`After installing the SDK, the next step is to `,_jsx(_components.strong,{children:`initialize Gameball`}),` when your app launches.`,_jsx(_components.br,{}),`\n`,`This prepares the SDK to track events, register customers, and display widgets.`]}),`\n`,_jsxs(_components.p,{children:[`You should initialize Gameball `,_jsx(_components.strong,{children:`as early as possible`}),`—typically in your `,_jsx(_components.code,{children:`AppDelegate`}),`, `,_jsx(_components.code,{children:`SceneDelegate`}),`, or SwiftUI `,_jsx(_components.code,{children:`App`}),` initializer.`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`1-basic-initialization`,children:`1. Basic Initialization`}),`\n`,_jsxs(`div`,{className:`security-banner`,children:[_jsx(`div`,{className:`security-banner-icon`,children:`🔒`}),_jsx(`div`,{className:`security-banner-content`,children:_jsxs(_components.p,{children:[_jsx(`strong`,{children:`Secure API Access:`}),` To benefit from v4.1 secure API endpoints, pass the `,_jsx(`code`,{children:`sessionToken`}),` parameter during SDK initialization (required in upcoming SDK v4). This enables automatic routing to v4.1 secure endpoints. `,_jsx(_components.a,{href:`/api-reference/introduction-v4.1`,children:`Learn more about v4.1 →`})]})})]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`25`,language:`swift`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`swift`,children:_jsxs(_components.code,{language:`swift`,numberOfLines:`25`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` UIKit`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` Gameball`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`@main`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`class`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` AppDelegate`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`UIResponder`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`UIApplicationDelegate `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` `})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` func`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` application`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` _`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` application`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: UIApplication,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` didFinishLaunchingWithOptions`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` launchOptions`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [UIApplication.LaunchOptionsKey: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`Any`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`?`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ) `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`->`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` Bool`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` `})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` config `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` GameballConfig`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` apiKey`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"your-api-key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Required`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` lang`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"en\"`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Required`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` )`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` `})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` GameballApp.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`getInstance`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`().`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:\"`init`\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`config`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: config) { error `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`in`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` error `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` error {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` print`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Gameball init failed: `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`\\\\(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#D4D4D4`},children:`error.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`localizedDescription`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`)`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` `})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` return`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`21`,language:`swift`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`swift`,children:_jsxs(_components.code,{language:`swift`,numberOfLines:`21`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` SwiftUI`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` Gameball`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`@main`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`struct`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` YourApp`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`App `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` `})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` init`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`() {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` config `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` GameballConfig`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` apiKey`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"your-api-key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` lang`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"en\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` )`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` `})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` GameballApp.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`getInstance`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`().`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:\"`init`\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`config`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: config)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` `})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` var`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` body: `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`some`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Scene {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` WindowGroup`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` ContentView`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`()`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`2-configuration-parameters`,children:`2. Configuration Parameters`}),`\n`,_jsx(_components.p,{children:`Below are all supported fields of GameballConfig.`}),`\n`,_jsx(ParamField,{body:`apiKey`,type:`String`,required:true,id:`param-api-key`,children:_jsx(_components.p,{children:`Your Gameball project API key from the dashboard.`})}),`\n`,_jsx(ParamField,{body:`lang`,type:`String`,required:true,id:`param-lang`,children:_jsx(_components.p,{children:`Language code, e.g., “en” or “ar”.`})}),`\n`,_jsx(ParamField,{body:`platform`,type:`String`,id:`param-platform`,children:_jsxs(_components.p,{children:[`Platform identifier. Defaults to `,_jsx(_components.code,{children:`\"ios\"`}),`.`]})}),`\n`,_jsx(ParamField,{body:`shop`,type:`String`,id:`param-shop`,children:_jsx(_components.p,{children:`Shop identifier used in multi-shop setups.`})}),`\n`,_jsx(ParamField,{body:`sessionToken`,type:`String`,id:`param-session-token`,children:_jsx(_components.p,{children:`Optional Session Token for secure authentication, enables automatic routing to Gameball v4.1 APIs. Required in upcoming SDK v4.`})}),`\n`,_jsx(Heading,{level:`2`,id:`3-validation-rules`,children:`3. Validation Rules`}),`\n`,_jsx(_components.p,{children:`GameballConfig enforces:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`apiKey must not be empty`}),`\n`,_jsx(_components.li,{children:`lang must not be empty`}),`\n`]}),`\n`,_jsx(_components.p,{children:`If any required parameter is missing, initialization will fail silently and SDK methods will not be available.`}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`4-configuration-examples`,children:`4. Configuration Examples`}),`\n`,_jsx(Heading,{level:`3`,id:`basic-setup`,children:`Basic Setup`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`swift`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`swift`,children:_jsxs(_components.code,{language:`swift`,numberOfLines:`9`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` config `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` GameballConfig`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` apiKey`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"gb_live_xxxxxxx\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` lang`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"en\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` platform`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"ios\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` shop`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"your-shop-id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` sessionToken`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"your-session-token\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`GameballApp.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`getInstance`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`().`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:\"`init`\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`config`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: config)`})]}),`\n`]})})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`3`,id:`multi-shop-configuration`,children:`Multi-Shop Configuration`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`7`,language:`swift`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`swift`,children:_jsxs(_components.code,{language:`swift`,numberOfLines:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` config `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` GameballConfig`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` apiKey`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"your-api-key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` lang`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"en\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` shop`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"shop_us\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`GameballApp.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`getInstance`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`().`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:\"`init`\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`config`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: config)`})]}),`\n`]})})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`3`,id:`using-session-token-v4-1-routing`,children:`Using Session Token (v4.1 Routing)`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`7`,language:`swift`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`swift`,children:_jsxs(_components.code,{language:`swift`,numberOfLines:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` config `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` GameballConfig`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` apiKey`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"your-api-key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` lang`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"en\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` sessionToken`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"your-session-token\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`GameballApp.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`getInstance`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`().`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:\"`init`\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`config`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: config)`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`custom-api-prefix`,children:`Custom API Prefix`}),`\n`,_jsx(Heading,{level:`2`,id:`5-environment-specific-configuration-recommended`,children:`5. Environment-Specific Configuration (Recommended)`}),`\n`,_jsxs(_components.p,{children:[`Use your `,_jsx(_components.strong,{children:`test key`}),` during development and `,_jsx(_components.strong,{children:`live key`}),` in production.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`13`,language:`swift`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`swift`,children:_jsxs(_components.code,{language:`swift`,numberOfLines:`13`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#569CD6`},children:`#`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#569CD6`},children:` DEBUG`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` config `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` GameballConfig`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` apiKey`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"gb_test_xxxxxxxxx\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` lang`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"en\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#569CD6`},children:`#`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`else`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` config `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` GameballConfig`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` apiKey`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"gb_live_xxxxxxxxx\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` lang`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"en\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#569CD6`},children:`#`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`endif`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`GameballApp.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`getInstance`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`().`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:\"`init`\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`config`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: config)`})]}),`\n`]})})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`6-loading-configuration-from-a-file-optional`,children:`6. Loading Configuration From a File (Optional)`}),`\n`,_jsx(_components.p,{children:`If you prefer not to embed keys directly in code, you can store them in a .plist.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`GameballConfig.plist`})}),`\n`,_jsx(CodeBlock,{numberOfLines:`14`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`14`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?>`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\u003c!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\u003cplist version=\"1.0\">`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\u003cdict>`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` \u003ckey>APIKey\u003c/key>`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` \u003cstring>your-api-key\u003c/string>`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` \u003ckey>Language\u003c/key>`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` \u003cstring>en\u003c/string>`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` \u003ckey>Shop\u003c/key>`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` \u003cstring>your-shop-id\u003c/string>`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\u003c/dict>`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\u003c/plist>`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Load configuration in code:`})}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`19`,language:`swift`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`swift`,children:_jsxs(_components.code,{language:`swift`,numberOfLines:`19`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`func`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` loadGameballConfig`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`() `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`->`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` GameballConfig`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`?`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` guard`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` path `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Bundle.main.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`path`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`forResource`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"GameballConfig\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`ofType`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"plist\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` dict `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` NSDictionary`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`contentsOfFile`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: path) `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`as?`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`String`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` Any`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` apiKey `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` dict[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"APIKey\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`] `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`as?`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` String`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` lang `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` dict[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Language\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`] `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`as?`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` String`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` else`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` return`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` nil`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` `})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` return`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` GameballConfig`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` apiKey`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: apiKey,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` lang`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: lang,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` shop`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: dict[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Shop\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`] `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`as?`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` String`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` platform`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"ios\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` )`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`if`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` config `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` loadGameballConfig`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`() {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` GameballApp.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`getInstance`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`().`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:\"`init`\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`config`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: config)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Tip,{children:_jsx(_components.p,{children:`Initialize the SDK as early as possible so tracking and profile features are ready immediately.`})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Always use `,_jsx(_components.strong,{children:`test keys`}),` in development.`,_jsx(_components.br,{}),`\n`,`Never commit `,_jsx(_components.strong,{children:`live API keys`}),` to version control.`]})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"How Do I Initialize the iOS SDK (v3)?","sidebarTitle":"SDK Initialization","description":"Initialize the Gameball iOS SDK with your project configuration","href":"/installation-guides/v3/ios/initialize-sdk"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"1. Basic Initialization","slug":"1-basic-initialization","depth":2,"children":[]},{"title":"2. Configuration Parameters","slug":"2-configuration-parameters","depth":2,"children":[]},{"title":"3. Validation Rules","slug":"3-validation-rules","depth":2,"children":[]},{"title":"4. Configuration Examples","slug":"4-configuration-examples","depth":2,"children":[{"title":"Basic Setup","slug":"basic-setup","depth":3,"children":[]},{"title":"Multi-Shop Configuration","slug":"multi-shop-configuration","depth":3,"children":[]},{"title":"Using Session Token (v4.1 Routing)","slug":"using-session-token-v4-1-routing","depth":3,"children":[]},{"title":"Custom API Prefix","slug":"custom-api-prefix","depth":3,"children":[]}]},{"title":"5. Environment-Specific Configuration (Recommended)","slug":"5-environment-specific-configuration-recommended","depth":2,"children":[]},{"title":"6. Loading Configuration From a File (Optional)","slug":"6-loading-configuration-from-a-file-optional","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"gameball","siteName":"Gameball Docs","title":"How Do I Initialize the iOS SDK (v3)? - Gameball Docs","navMaps":{"firstHrefInVersion":{"SDK v3":{"href":"/installation-guides/v3/ios/initialize-sdk","matchLevel":0},"SDK v2":{"href":"/installation-guides/v2/ios/index","matchLevel":2},"v4.0":{"href":"/api-reference/introduction","matchLevel":4},"v4.1":{"href":"/api-reference/introduction-v4.1","matchLevel":4}},"firstHrefInLanguage":{}},"lastModified":"2026-07-13T13:17:44.360Z","originalFileLocation":"installation-guides/v3/ios/initialize-sdk.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Initialize the Gameball iOS SDK with your project configuration\">\u003cmeta data-mint-head name=\"application-name\" content=\"Gameball Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/gameball/Ree8Ef_QV2s4xScJ/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/gameball/Ree8Ef_QV2s4xScJ/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/gameball/Ree8Ef_QV2s4xScJ/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/gameball/Ree8Ef_QV2s4xScJ/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/gameball/Ree8Ef_QV2s4xScJ/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/gameball/Ree8Ef_QV2s4xScJ/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/gameball/Ree8Ef_QV2s4xScJ/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/gameball/Ree8Ef_QV2s4xScJ/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/gameball/Ree8Ef_QV2s4xScJ/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"How Do I Initialize the iOS SDK (v3)? - Gameball Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Initialize the Gameball iOS SDK with your project configuration\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Gameball Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.gameball.co/installation-guides/v3/ios/initialize-sdk\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://gameball.mintlify.app/_mintlify/api/og/v2?division=Overview+%26+Setup\u0026amp;title=How+Do+I+Initialize+the+iOS+SDK+%28v3%29%3F\u0026amp;description=Initialize+the+Gameball+iOS+SDK+with+your+project+configuration\u0026amp;theme=4e778c65cbfcf077808b5cd6\u0026amp;signature=145970b7df2c2a49ff9a6dde28a2f48038f02b1a21207cc19cd56c530ae44bc0\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"How Do I Initialize the iOS SDK (v3)? - Gameball Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Initialize the Gameball iOS SDK with your project configuration\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://gameball.mintlify.app/_mintlify/api/og/v2?division=Overview+%26+Setup\u0026amp;title=How+Do+I+Initialize+the+iOS+SDK+%28v3%29%3F\u0026amp;description=Initialize+the+Gameball+iOS+SDK+with+your+project+configuration\u0026amp;theme=4e778c65cbfcf077808b5cd6\u0026amp;signature=145970b7df2c2a49ff9a6dde28a2f48038f02b1a21207cc19cd56c530ae44bc0\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/gameball/Ree8Ef_QV2s4xScJ/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Gameball Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#FB5819\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.gameball.co/installation-guides/v3/ios/initialize-sdk\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/installation-guides/v3/ios/initialize-sdk.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.gameball.co/#organization\",\"name\":\"Gameball Docs\",\"url\":\"https://docs.gameball.co\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/gameball/G3Do1BW89krXAJ48/logo/light.svg?fit=max\u0026auto=format\u0026n=G3Do1BW89krXAJ48\u0026q=85\u0026s=aecb464405fc6a468704d3da3cedc5ae\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.gameball.co#website\",\"name\":\"Gameball Docs\",\"url\":\"https://docs.gameball.co\",\"publisher\":{\"@id\":\"https://docs.gameball.co/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.gameball.co/installation-guides/v3/ios/initialize-sdk#webpage\",\"url\":\"https://docs.gameball.co/installation-guides/v3/ios/initialize-sdk\",\"name\":\"How Do I Initialize the iOS SDK (v3)?\",\"description\":\"Initialize the Gameball iOS SDK with your project configuration\",\"dateModified\":\"2026-07-13T13:17:44.360Z\",\"isPartOf\":{\"@id\":\"https://docs.gameball.co#website\"},\"breadcrumb\":{\"@id\":\"https://docs.gameball.co/installation-guides/v3/ios/initialize-sdk#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.gameball.co/installation-guides/v3/ios/initialize-sdk#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Mobile Integration\",\"item\":\"https://docs.gameball.co/installation-guides/v3/ios/index\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"iOS\",\"item\":\"https://docs.gameball.co/installation-guides/v3/ios/index\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Overview \u0026 Setup\",\"item\":\"https://docs.gameball.co/installation-guides/v3/ios/index\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"How Do I Initialize the iOS SDK (v3)?\",\"item\":\"https://docs.gameball.co/installation-guides/v3/ios/initialize-sdk\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.gameball.co/installation-guides/v3/ios/initialize-sdk#article\",\"headline\":\"How Do I Initialize the iOS SDK (v3)?\",\"name\":\"How Do I Initialize the iOS SDK (v3)?\",\"description\":\"Initialize the Gameball iOS SDK with your project configuration\",\"url\":\"https://docs.gameball.co/installation-guides/v3/ios/initialize-sdk\",\"mainEntityOfPage\":{\"@id\":\"https://docs.gameball.co/installation-guides/v3/ios/initialize-sdk#webpage\"},\"dateModified\":\"2026-07-13T13:17:44.360Z\",\"publisher\":{\"@id\":\"https://docs.gameball.co/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.gameball.co#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Gameball Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Gameball Docs","nav":{"global":{"anchors":[{"anchor":"Gameball Website","icon":"globe","href":"https://gameball.co/"},{"anchor":"Blog","icon":"newspaper","href":"https://www.gameball.co/blog"},{"anchor":"Case Studies","icon":"briefcase","href":"https://www.gameball.co/case-study"}]},"tabs":[{"tab":"Product Docs","pages":[{"title":"Product Docs","href":"/product-documentation/getting-started/what-is-gameball"}]},{"tab":"Installation","versions":[{"version":"SDK v3","default":true,"groups":[{"group":"Overview","pages":[{"title":"Installation Guide (SDK v3)","href":"/installation-guides/v3"}]},{"group":"Web \u0026 POS Integration","pages":[{"group":"Web","pages":[{"title":"Web SDK Integration (v3)","sidebarTitle":"Overview","href":"/installation-guides/v3/web/index"},{"title":"How Do I Get Started with the Web SDK (v3)?","sidebarTitle":"Getting Started","href":"/installation-guides/v3/web/getting-started"},{"title":"How Do I Initialize the Customer Widget in the Web SDK (v3)?","sidebarTitle":"Initialize Gameball Customer Widget","href":"/installation-guides/v3/web/initialize-widget"},{"title":"How Do I Manage Customers with the Web SDK (v3)?","sidebarTitle":"Customer Management","href":"/installation-guides/v3/web/customer-management"},{"title":"How Do I Track Customer Events with the Web SDK (v3)?","sidebarTitle":"Track Customer Events","href":"/installation-guides/v3/web/track-events"},{"title":"How Do I Track Orders and Reward Cashback with the Web SDK (v3)?","sidebarTitle":"Track Orders \u0026 Cashback Reward","href":"/installation-guides/v3/web/track-orders"},{"title":"How Do I Integrate Points Redemption with the Web SDK (v3)?","sidebarTitle":"Integrate Redemption","href":"/installation-guides/v3/web/integrate-redemption"},{"title":"How Do I Track Referrals with the Web SDK (v3)?","sidebarTitle":"Track Referrals","href":"/installation-guides/v3/web/track-referrals"},{"title":"How Do I Set Up In-App Messaging in the Web SDK (v3)?","sidebarTitle":"In-App Messaging","href":"/installation-guides/v3/web/in-app-messaging"},{"title":"How Do I Complete the Go-Live Checklist for the Web SDK (v3)?","sidebarTitle":"Go-Live Checklist","href":"/installation-guides/v3/web/go-live-checklist"}]},{"group":"POS","pages":[{"title":"Gameball POS Integration (v3)","sidebarTitle":"Overview","href":"/installation-guides/v3/pos/index"},{"title":"How Do I Get Started and Set Up the API for Gameball POS (v3)?","sidebarTitle":"Getting Started \u0026 API Setup","href":"/installation-guides/v3/pos/getting-started"},{"title":"How Do I Identify the Customer with Gameball POS (v3)?","sidebarTitle":"Identify the Customer","href":"/installation-guides/v3/pos/customer-management"},{"title":"How Do I Show the Customer Balance with Gameball POS (v3)?","sidebarTitle":"Show Customer Balance","href":"/installation-guides/v3/pos/customer-balance"},{"title":"How Do I Track Orders and Earn Points with Gameball POS (v3)?","sidebarTitle":"Track Orders \u0026 Earn Points","href":"/installation-guides/v3/pos/track-orders"},{"title":"How Do I Redeem Points at Checkout with Gameball POS (v3)?","sidebarTitle":"Redeem Points at Checkout","href":"/installation-guides/v3/pos/integrate-redemption"},{"title":"How Do I Refund an Order with Gameball POS (v3)?","sidebarTitle":"Refund Order","href":"/installation-guides/v3/pos/refund-order"},{"title":"How Do I Fetch Order Details with Gameball POS (v3)?","sidebarTitle":"Fetch Order Details","href":"/installation-guides/v3/pos/fetch-order-details"},{"title":"How Do I Track Events with Gameball POS (v3)?","sidebarTitle":"Track Events","href":"/installation-guides/v3/pos/track-events"},{"title":"How Do I Track Referrals with Gameball POS (v3)?","sidebarTitle":"Track Referrals","href":"/installation-guides/v3/pos/track-referrals"},{"title":"How Do I Complete the Go-Live Checklist for Gameball POS (v3)?","sidebarTitle":"Go-Live Checklist","href":"/installation-guides/v3/pos/go-live-checklist"}]}]},{"group":"Mobile Integration","pages":[{"group":"iOS","pages":[{"group":"Overview \u0026 Setup","pages":[{"title":"iOS SDK Integration (v3)","sidebarTitle":"Overview","href":"/installation-guides/v3/ios/index"},{"title":"How Do I Get Started with the iOS SDK (v3)?","sidebarTitle":"Getting Started","description":"Install and set up Gameball iOS SDK v4.0.0","href":"/installation-guides/v3/ios/getting-started"},{"title":"How Do I Initialize the iOS SDK (v3)?","sidebarTitle":"SDK Initialization","href":"/installation-guides/v3/ios/initialize-sdk"},{"title":"How Do I Initialize the Customer Profile in the iOS SDK (v3)?","sidebarTitle":"Initialize Customer Profile","description":"Register and identify customers in your iOS app","href":"/installation-guides/v3/ios/initialize-profile"}]},{"group":"Core SDK Capabilities","pages":[{"title":"How Do I Show the Profile Widget in the iOS SDK (v3)?","sidebarTitle":"Show Profile Widget","href":"/installation-guides/v3/ios/show-profile"},{"title":"How Do I Track Customer Events with the iOS SDK (v3)?","sidebarTitle":"Track Events","href":"/installation-guides/v3/ios/track-events"}]},{"group":"Extended Features","pages":[{"title":"How Do I Set Up Push Notifications in the iOS SDK (v3)?","sidebarTitle":"Push Notifications","href":"/installation-guides/v3/ios/push-notifications"},{"title":"How Do I Track Referrals with the iOS SDK (v3)?","sidebarTitle":"Track Referrals","href":"/installation-guides/v3/ios/track-referrals"},{"title":"How Do I Set Up In-App Messaging in the iOS SDK (v3)?","sidebarTitle":"In-App Messaging","href":"/installation-guides/v3/ios/in-app-messaging"}]},{"group":"Deployment \u0026 Maintenance","pages":[{"title":"How Do I Complete the Go-Live Checklist for the iOS SDK (v3)?","sidebarTitle":"Go-Live Checklist","href":"/installation-guides/v3/ios/go-live-checklist"},{"title":"How Do I Migrate to the iOS SDK v4?","sidebarTitle":"Migration Notes","href":"/installation-guides/v3/ios/migration-notes"}]}]},{"group":"Android","pages":[{"group":"Overview \u0026 Setup","pages":[{"title":"Android SDK Integration (v3)","sidebarTitle":"Overview","href":"/installation-guides/v3/android/index"},{"title":"How Do I Get Started with the Android SDK (v3)?","sidebarTitle":"Getting Started","href":"/installation-guides/v3/android/getting-started"},{"title":"How Do I Initialize the Android SDK (v3)?","sidebarTitle":"Initialize SDK","href":"/installation-guides/v3/android/initialize-sdk"},{"title":"How Do I Initialize the Customer Profile in the Android SDK (v3)?","sidebarTitle":"Initialize Customer Profile","href":"/installation-guides/v3/android/initialize-profile"}]},{"group":"Core SDK Capabilities","pages":[{"title":"How Do I Show the Profile Widget in the Android SDK (v3)?","sidebarTitle":"Show Profile Widget","href":"/installation-guides/v3/android/show-profile"},{"title":"How Do I Track Customer Events with the Android SDK (v3)?","sidebarTitle":"Track Customer Events","href":"/installation-guides/v3/android/track-events"}]},{"group":"Extended Features","pages":[{"title":"How Do I Set Up Push Notifications in the Android SDK (v3)?","sidebarTitle":"Push Notifications","href":"/installation-guides/v3/android/push-notifications"},{"title":"How Do I Track Referrals with the Android SDK (v3)?","sidebarTitle":"Track Referrals","href":"/installation-guides/v3/android/track-referrals"},{"title":"How Do I Set Up In-App Messaging in the Android SDK (v3)?","sidebarTitle":"In-App Messaging","href":"/installation-guides/v3/android/in-app-messaging"}]},{"group":"Deployment \u0026 Maintenance","pages":[{"title":"How Do I Complete the Go-Live Checklist for the Android SDK (v3)?","sidebarTitle":"Go-Live Checklist","href":"/installation-guides/v3/android/go-live-checklist"},{"title":"How Do I Migrate to the Android SDK v4?","sidebarTitle":"Migration Notes","href":"/installation-guides/v3/android/migration-notes"}]}]},{"group":"Flutter","pages":[{"group":"Overview \u0026 Setup","pages":[{"title":"Flutter SDK Integration (v3)","sidebarTitle":"Overview","href":"/installation-guides/v3/flutter/index"},{"title":"How Do I Get Started with the Flutter SDK (v3)?","sidebarTitle":"Getting Started","href":"/installation-guides/v3/flutter/getting-started"},{"title":"How Do I Initialize the Flutter SDK (v3)?","sidebarTitle":"Initialize SDK","href":"/installation-guides/v3/flutter/initialize-sdk"},{"title":"How Do I Initialize the Customer Profile in the Flutter SDK (v3)?","sidebarTitle":"Initialize Customer Profile","href":"/installation-guides/v3/flutter/initialize-profile"}]},{"group":"Core SDK Capabilities","pages":[{"title":"How Do I Show the Profile Widget in the Flutter SDK (v3)?","sidebarTitle":"Show Profile Widget","href":"/installation-guides/v3/flutter/show-profile"},{"title":"How Do I Track Customer Events with the Flutter SDK (v3)?","sidebarTitle":"Track Customer Events","href":"/installation-guides/v3/flutter/track-events"}]},{"group":"Extended Features","pages":[{"title":"How Do I Track Referrals with the Flutter SDK (v3)?","sidebarTitle":"Track Referrals","href":"/installation-guides/v3/flutter/track-referrals"},{"title":"How Do I Set Up Push Notifications in the Flutter SDK (v3)?","sidebarTitle":"Push Notifications","href":"/installation-guides/v3/flutter/push-notifications"},{"title":"How Do I Set Up In-App Messaging in the Flutter SDK (v3)?","sidebarTitle":"In-App Messaging","href":"/installation-guides/v3/flutter/in-app-messaging"}]},{"group":"Deployment \u0026 Maintenance","pages":[{"title":"How Do I Complete the Go-Live Checklist for the Flutter SDK (v3)?","sidebarTitle":"Go-Live Checklist","href":"/installation-guides/v3/flutter/go-live-checklist"},{"title":"How Do I Migrate to the Flutter SDK v4?","sidebarTitle":"Migration Notes","href":"/installation-guides/v3/flutter/migration-notes"}]}]},{"group":"React Native","pages":[{"group":"Overview \u0026 Setup","pages":[{"title":"React Native SDK Integration (v3)","sidebarTitle":"Overview","href":"/installation-guides/v3/react-native/index"},{"title":"How Do I Get Started with the React Native SDK (v3)?","sidebarTitle":"Getting Started","href":"/installation-guides/v3/react-native/getting-started"},{"title":"How Do I Initialize the React Native SDK (v3)?","sidebarTitle":"Initialize SDK","href":"/installation-guides/v3/react-native/initialize-sdk"},{"title":"How Do I Initialize the Customer Profile in the React Native SDK (v3)?","sidebarTitle":"Initialize Customer Profile","href":"/installation-guides/v3/react-native/initialize-profile"}]},{"group":"Core SDK Capabilities","pages":[{"title":"How Do I Show the Profile Widget in the React Native SDK (v3)?","sidebarTitle":"Show Profile Widget","href":"/installation-guides/v3/react-native/show-profile"},{"title":"How Do I Track Customer Events with the React Native SDK (v3)?","sidebarTitle":"Track Customer Events","href":"/installation-guides/v3/react-native/track-events"}]},{"group":"Extended Features","pages":[{"title":"How Do I Track Referrals with the React Native SDK (v3)?","sidebarTitle":"Track Referrals","href":"/installation-guides/v3/react-native/track-referrals"},{"title":"How Do I Set Up Push Notifications in the React Native SDK (v3)?","sidebarTitle":"Push Notifications","href":"/installation-guides/v3/react-native/push-notifications"},{"title":"How Do I Set Up In-App Messaging in the React Native SDK (v3)?","sidebarTitle":"In-App Messaging","href":"/installation-guides/v3/react-native/in-app-messaging"}]},{"group":"Deployment \u0026 Maintenance","pages":[{"title":"How Do I Complete the Go-Live Checklist for the React Native SDK (v3)?","sidebarTitle":"Go-Live Checklist","href":"/installation-guides/v3/react-native/go-live-checklist"},{"title":"How Do I Migrate to the React Native SDK v4?","sidebarTitle":"Migration Notes","href":"/installation-guides/v3/react-native/migration-notes"}]}]}]}]},{"version":"SDK v2","pages":[{"title":"SDK v2","href":"/installation-guides/v2/ios"}]}]},{"tab":"Technical Tutorials","pages":[{"title":"Technical Tutorials","href":"/tutorials/general/welcome"}]},{"tab":"API reference","versions":[{"version":"v4.0","groups":[{"group":"API documentation","pages":[{"title":"Introduction","href":"/api-reference/introduction"},{"group":"Overview","pages":[{"title":"What's New in V4.0","href":"/api-reference/overview/whats-new"},{"title":"Authentication","href":"/api-reference/overview/authentication"},{"title":"Rate Limiting","href":"/api-reference/overview/rate-limiting"},{"title":"Status and Error Codes","href":"/api-reference/overview/status-error-codes"}]},{"group":"Customers","pages":[{"title":null,"href":"/api-reference/customers/customers"},{"group":"Management","pages":[{"title":"Create/Update Customer","openapi":"POST /api/v4.0/integrations/customers","href":"/api-reference/customers/management/create-customer"},{"title":"Get Customer","openapi":"GET /api/v4.0/integrations/customers/{customerId}","href":"/api-reference/customers/management/get-customer"},{"title":"Get Customer Details","openapi":"GET /api/v4.0/integrations/customers/{customerId}/details","href":"/api-reference/customers/management/get-customer-details"},{"title":"Get Customer Coupons","openapi":"GET /api/v4.0/integrations/customers/{customerId}/coupons","href":"/api-reference/customers/management/get-customer-coupons"},{"title":"Update Customer Activation","openapi":"PUT /api/v4.0/integrations/customers/{customerId}/activate","href":"/api-reference/customers/management/update-customer-activation"},{"title":"Delete Customer","openapi":"DELETE /api/v4.0/integrations/customers/{customerId}","href":"/api-reference/customers/management/delete-customer"},{"title":"Get Customer Hash","openapi":"GET /api/v4.0/integrations/customers/{customerId}/hash","href":"/api-reference/customers/management/get-customer-hash"},{"title":"Validate Referrer Code","openapi":"GET /api/v4.0/integrations/referrals/validate","href":"/api-reference/customers/management/validate-referrer-code"},{"title":"Achieve Social Campaign","openapi":"POST /api/v4.0/integrations/customers/social-challenges","href":"/api-reference/customers/management/achieve-social-campaign"}]},{"group":"Progress","pages":[{"title":"Customer Balance","openapi":"GET /api/v4.0/integrations/customers/{customerId}/balance","href":"/api-reference/customers/progress/get-customer-balance"},{"title":"Customer Tier Progress","openapi":"GET /api/v4.0/integrations/customers/{customerId}/tier-progress","href":"/api-reference/customers/progress/get-customer-progress"},{"title":"Customer Campaigns Progress","openapi":"GET /api/v4.0/integrations/customers/{customerId}/reward-campaigns-progress","href":"/api-reference/customers/progress/get-customer-campaigns-progress"},{"title":"Customer Referrals","openapi":"GET /api/v4.0/integrations/customers/{customerId}/referrals","href":"/api-reference/customers/progress/get-customer-referrals"},{"title":"Customer Referrals Count","openapi":"GET /api/v4.0/integrations/customers/{customerId}/referrals/count","href":"/api-reference/customers/progress/get-customer-referrals-count"},{"title":"Customer Activities","openapi":"GET /api/v4.0/integrations/customers/{customerId}/activities","href":"/api-reference/customers/progress/get-customer-activities"},{"title":"Customer Activities Count","openapi":"GET /api/v4.0/integrations/customers/{customerId}/activities/count","href":"/api-reference/customers/progress/get-customer-activities-count"},{"title":"Customer Automation Campaigns","openapi":"GET /api/v4.0/integrations/customers/{customerId}/automation","href":"/api-reference/customers/progress/get-customer-automation-campaigns"},{"title":"Customer Stamps Progress","openapi":"GET /api/v4.0/integrations/customers/{customerId}/stamps/{challengeId}","href":"/api-reference/customers/progress/get-customer-action-streak-progress"},{"title":"Customer Daily Streak Progress","openapi":"GET /api/v4.0/integrations/customers/{customerId}/streaks/{campaignId}","href":"/api-reference/customers/progress/get-customer-daily-streak-progress"}]},{"group":"Tags","pages":[{"title":"Attach Customer Tags","openapi":"POST /api/v4.0/integrations/customers/{customerId}/tags","href":"/api-reference/customers/tags/attach-customer-tags"},{"title":"Remove Customer Tags","openapi":"DELETE /api/v4.0/integrations/customers/{customerId}/tags","href":"/api-reference/customers/tags/remove-customer-tag"}]},{"group":"Notifications","pages":[{"title":"Customer Notifications","openapi":"GET /api/v4.0/integrations/customers/{customerId}/notifications","href":"/api-reference/customers/notifications/list-customer-notifications"},{"title":"Customer Notifications Count","openapi":"GET /api/v4.0/integrations/customers/{customerId}/notifications/count","href":"/api-reference/customers/notifications/get-customer-notifications-count"},{"title":"Mark Notifications Read","openapi":"PUT /api/v4.0/integrations/customers/{customerId}/notifications/read","href":"/api-reference/customers/notifications/mark-notifications-read"}]}]},{"group":"Events","pages":[{"title":"Send Events","openapi":"POST /api/v4.0/integrations/events","href":"/api-reference/events/send-events"},{"title":"Preview Event Rewards","openapi":"POST /api/v4.0/integrations/events/reward-preview","href":"/api-reference/events/preview-event-rewards"}]},{"group":"Order","pages":[{"title":"Order","href":"/api-reference/order/order"},{"title":"Order Tracking","openapi":"POST /api/v4.0/integrations/orders","href":"/api-reference/order/order-tracking"},{"group":"Order Rewards \u0026 History","pages":[{"title":"Calculate Order Cashback","openapi":"POST /api/v4.0/integrations/orders/cashback","href":"/api-reference/order/calculate-order-cashback"},{"title":"Preview Order Rewards","openapi":"POST /api/v4.0/integrations/orders/reward-preview","href":"/api-reference/order/preview-order-rewards"},{"title":"Order Points Breakdown","openapi":"GET /api/v4.0/integrations/orders/{orderId}/points-breakdown","href":"/api-reference/order/order-points-breakdown"},{"title":"Order Transactions","openapi":"GET /api/v4.0/integrations/orders/{orderId}/transactions","href":"/api-reference/order/order-transactions"}]}]},{"group":"Payment","pages":[{"title":"Payment","href":"/api-reference/payment/payment"},{"title":"Payment Tracking","openapi":"POST /api/v4.0/integrations/payments","href":"/api-reference/payment/payment-tracking"},{"group":"Payment Rewards \u0026 History","pages":[{"title":"Calculate Payment Cashback","openapi":"POST /api/v4.0/integrations/payments/cashback","href":"/api-reference/payment/calculate-payment-cashback"}]}]},{"group":"Transactions","pages":[{"title":"Transactions","href":"/api-reference/transactions/transactions"},{"group":"Cashback \u0026 Redemptions","pages":[{"title":"Cashback \u0026 Redemptions","href":"/api-reference/transactions/cashback-and-redemptions/index"},{"title":"Redeem Points","openapi":"POST /api/v4.0/integrations/transactions/redeem","href":"/api-reference/transactions/cashback-and-redemptions/redeem"},{"title":"Cashback","openapi":"POST /api/v4.0/integrations/transactions/cashback","href":"/api-reference/transactions/cashback-and-redemptions/cashback"},{"title":"Refund","openapi":"POST /api/v4.0/integrations/transactions/refund","href":"/api-reference/transactions/cashback-and-redemptions/refund"}]},{"group":"Hold Management","pages":[{"title":"Hold Management","href":"/api-reference/transactions/hold-management/index"},{"title":"Hold Points","openapi":"POST /api/v4.0/integrations/transactions/hold","href":"/api-reference/transactions/hold-management/hold"},{"title":"Release Hold","openapi":"DELETE /api/v4.0/integrations/transactions/hold/{holdReferenceId}","href":"/api-reference/transactions/hold-management/release"},{"title":"Get Hold Details","openapi":"GET /api/v4.0/integrations/transactions/hold/{holdReferenceId}","href":"/api-reference/transactions/hold-management/get-hold"}]},{"group":"Transaction Management","pages":[{"title":"Transaction Management","href":"/api-reference/transactions/transaction-management/index"},{"title":"List Transactions","openapi":"GET /api/v4.0/integrations/transactions","href":"/api-reference/transactions/transaction-management/list-transactions"},{"title":"Transactions with Customer Data","openapi":"GET /api/v4.0/integrations/transactions/customer-view","href":"/api-reference/transactions/transaction-management/customer-view"},{"title":"Transaction Count","openapi":"GET /api/v4.0/integrations/transactions/count","href":"/api-reference/transactions/transaction-management/count"},{"title":"Add Manual Transaction","openapi":"POST /api/v4.0/integrations/transactions/manual","href":"/api-reference/transactions/transaction-management/manual-transaction"},{"title":"Activate Transaction","openapi":"PUT /api/v4.0/integrations/transactions/{transactionId}/activate","href":"/api-reference/transactions/transaction-management/activate"}]},{"group":"Transaction Validation","pages":[{"title":"Transaction Validation","href":"/api-reference/transactions/transaction-validation/index"},{"title":"Generate OTP","openapi":"POST /api/v4.0/integrations/transactions/otp","href":"/api-reference/transactions/transaction-validation/generate-otp"}]}]},{"group":"Coupons","pages":[{"title":"Coupons API","sidebarTitle":"Coupons","href":"/api-reference/coupons/coupons"},{"title":"Generate Coupon","openapi":"POST /api/v4.0/integrations/coupons/predefined","href":"/api-reference/coupons/generate-coupon"},{"title":"Validate Single Coupon","openapi":"POST /api/v4.0/integrations/coupons/{code}/validate","href":"/api-reference/coupons/validate-single-coupon"},{"title":"Validate Multiple Coupons","openapi":"POST /api/v4.0/integrations/coupons/validate","href":"/api-reference/coupons/validate-multiple-coupons"},{"title":"Burn Coupon","openapi":"POST /api/v4.0/integrations/coupons/burn","href":"/api-reference/coupons/burn-coupon"},{"title":"Release Coupons","openapi":"DELETE /api/v4.0/integrations/coupons/{lockReference}","href":"/api-reference/coupons/release-coupons"},{"title":"Automatic Coupons","openapi":"POST /api/v4.0/integrations/coupons/automatic","href":"/api-reference/coupons/automatic-coupons"}]},{"group":"Configurations","pages":[{"title":"Configurations","href":"/api-reference/configurations/configurations"},{"group":"Reward Configurations","pages":[{"title":"Reward Configurations","href":"/api-reference/configurations/reward-configurations/index"},{"title":"Cashback Configurations","openapi":"GET /api/v4.0/integrations/configurations/cashback","href":"/api-reference/configurations/reward-configurations/cashback-settings"},{"title":"Redemption Configurations","openapi":"GET /api/v4.0/integrations/configurations/redemption","href":"/api-reference/configurations/reward-configurations/redemption-settings"},{"title":"Coupon Configurations","openapi":"GET /api/v4.0/integrations/configurations/coupon","href":"/api-reference/configurations/reward-configurations/coupon-settings"},{"title":"Update Coupon Configurations","openapi":"PUT /api/v4.0/integrations/configurations/coupon","href":"/api-reference/configurations/reward-configurations/update-coupon-settings"}]},{"group":"Program Configurations","pages":[{"title":"Program Configurations","href":"/api-reference/configurations/program-configurations/index"},{"title":"Campaigns Configurations","openapi":"GET /api/v4.0/integrations/configurations/reward-campaigns","href":"/api-reference/configurations/program-configurations/campaigns"},{"title":"Tiers Configurations","openapi":"GET /api/v4.0/integrations/configurations/tiers","href":"/api-reference/configurations/program-configurations/vip-tiers"},{"title":"Referrals Configurations","openapi":"GET /api/v4.0/integrations/configurations/referrals","href":"/api-reference/configurations/program-configurations/referral-settings"}]},{"title":"Get Widget Configurations","openapi":"GET /api/v4.0/integrations/configurations/widget","href":"/api-reference/configurations/widget-configuration/index"}]},{"group":"Leaderboard","pages":[{"title":"Customer Leaderboard","openapi":"GET /api/v4.0/integrations/leaderboard","href":"/api-reference/leaderboard/customer-leaderboard"}]},{"group":"Batches","pages":[{"title":"Batches","href":"/api-reference/batches/batches"},{"group":"Batch Creation","pages":[{"title":"Batch Creation","href":"/api-reference/batches/batch-creation/index"},{"title":"Create Customers Batch Job","openapi":"POST /api/v4.0/integrations/batch/customers","href":"/api-reference/batches/batch-creation/customer-data"},{"title":"Track Orders Batch Job","openapi":"POST /api/v4.0/integrations/batch/orders","href":"/api-reference/batches/batch-creation/orders"},{"title":"Order Transactions Batch Job","openapi":"POST /api/v4.0/integrations/batch/orders/transactions","href":"/api-reference/batches/batch-creation/order-transactions"},{"title":"Balance Inquiry Batch Job","openapi":"POST /api/v4.0/integrations/batch/balance-inquiry","href":"/api-reference/batches/batch-creation/balance-inquiries"},{"title":"Balance Adjustment Batch Job","openapi":"POST /api/v4.0/integrations/batch/balance-adjustment","href":"/api-reference/batches/batch-creation/adjustments"},{"title":"Reward Cashback Batch Job","openapi":"POST /api/v4.0/integrations/batch/cashback","href":"/api-reference/batches/batch-creation/cashback-rewards"},{"title":"Redeem Batch Job","openapi":"POST /api/v4.0/integrations/batch/redeem","href":"/api-reference/batches/batch-creation/redemptions"},{"title":"Send Events Batch Job","openapi":"POST /api/v4.0/integrations/batch/events","href":"/api-reference/batches/batch-creation/events"}]},{"group":"Batch Management","pages":[{"title":"Batch Management","href":"/api-reference/batches/batch-management/index"},{"title":"Check Batch Status","openapi":"GET /api/v4.0/integrations/batches/{batchId}/status","href":"/api-reference/batches/batch-management/check-status"},{"title":"Stop Batch Execution","openapi":"POST /api/v4.0/integrations/batches/{batchId}/stop","href":"/api-reference/batches/batch-management/stop-execution"}]}]}]},{"group":"Webhooks","pages":[{"title":"Overview","href":"/api-reference/webhooks/overview"},{"title":"Subscribing to Webhooks","href":"/api-reference/webhooks/subscribing"},{"group":"Webhook Topics","pages":[{"title":"Webhook Topics","href":"/api-reference/webhooks/webhook-topics"},{"title":"Customer Notifications Webhook","sidebarTitle":"Customer Notifications","href":"/api-reference/webhooks/webhook-topics/notifications"},{"title":"Customer Profile Updates","href":"/api-reference/webhooks/webhook-topics/profile-updates"}]}]}]},{"version":"v4.1","pages":[{"title":"v4.1","href":"/api-reference/introduction-v4.1"}]}]},{"tab":"Updates","pages":[{"title":"Updates","href":"/changelog/updates"}]}]},"basePath":"","title":"How Do I Initialize the iOS SDK (v3)? - Gameball Docs","buildId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","deploymentId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","dynamics":[],"chunks":[]}