How Do I Initialize the Customer Profile in the iOS SDK (v2, Legacy)?
Show Gameball customer profile in your iOS app
Showing the Gameball widget on your mobile application is slightly different than showing it on the website. You have two options; first, if you want to design your customer interface, you will use our set of REST APIs. To know more information, you can use the Configurations API 👑.The other option as this section elaborates, is through using our iOS SDK.Using the SDK, you can open the Gameball customer profile from a button in your app, programmatically when someone does something, or from a persistent button that sits over your app’s UI.When you trigger the Gameball customer profile, your customer is presented with a home screen. This is configurable inside Gameball to change how it looks and what’s presented.From there, your customer can check his progress across different Gameball programs as per your configurations.Gameball views are accessible through the code below. You just need to use it on any button action.
The Register Player method is used to create or update customer accounts at Gameball. This API call should be made when the customer successfully logs in or whenever there are updates to the customer’s account information.
// After completion block is called from init the SDK, you can register customerself.gameball?.registerPlayer( playerUniqueId: "CUST_ID", // The only required field deviceToken: "firebase_token", playerAttributes: [ "custom_attribute": "custom_value", "country": "Egypt" ], completion: { (playerId, error) in // Completion block after registeration is complete // You either get gameball playerId or error})
The below is description of register player parameters:
Unique identifier for the customer that you can reference across the customer’s whole lifetime. Could be a database ID, random string, email or anything that uniquely identifies the customer.
The Firebase Cloud Messaging (FCM) token associated with the customer’s mobile device. Required for enabling push notifications to be sent to the customer.
Completion block that gets called when the initialization of the SDK is completed
Every time the Gameball View is initialized with a new PlayerUniqueId, the customer profile is created or updated at Gameball side. You may consider enriching your Gameball’s customer profile with attributes that are not available to the UI by using server side Create/Update Customer API
Choose an Unchangeable Player Unique IDGameball user profile gets created using the playerUniqueId. It is highly recommended to have the unique ID as an identifier that would NEVER be changed. If this unique ID changes for a given customer, you risk losing all original data for that customer and hence losing their points and rewards on Gameball. Accordingly, it is NOT recommended to use the email address or the mobile number as the unique ID as both can be changed by the user at anytime.
To generate Device Token (FCM Token) you can use Firebase latest SDK you can put this code in AppDelegate or your ViewController to get the token and once you get the token you can call the above method to register and Launch Gameball:
// Based on latest Firebase documentation you can generate token byMessaging.messaging().token { token, error in if let error = error { print("Error fetching FCM registration token: \(error)") } else if let token = token { print("FCM registration token: \(token)") // you can save the token anyware then use it while launching Gameball }}
Once the APIKey and playerUniqueId have been registered, Gameball views can be made visible to the customer. So ideally, registerPlayer is called after the completion block of the SDK initalization.
To show the Gameball customer profile that contains the customer details, customer reward campaigns, and the leaderboard use the showProfile SDK function.
Upon customer action, you can use showProfile function to show the widget. The completion block tells you that the viewController is ready and you can present it the way you want, for example by default if you don’t explicitly specify modalPresentationStyle, it’ll appear as modal. If you want it full screen, you can specify it like the above example.
Unique identifier for the customer that you can reference across the customer’s whole lifetime. Could be a database ID, random string, email or anything that uniquely identifies the customer.
{"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":"6ae331c39ee4546ca4eaa4d9","collectionId":"5ef69a2d-2110-48c4-b332-86130f29a943","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae331c39ee4546ca4eaa4d9"},"feedback":{"thumbs":true},"entitlements":{},"buildId":"6ae7610225d97c0814f3889b","clientVersion":"0.0.4044","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/v2/ios/initialize-profile","slug":"/installation-guides/v2/ios/initialize-profile","pageMetadata":{"title":"How Do I Initialize the Customer Profile in the iOS SDK (v2, Legacy)?","sidebarTitle":"Initialize Gameball Customer Profile","description":"Show Gameball customer profile in your iOS app","href":"/installation-guides/v2/ios/initialize-profile"},"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: \"Show Gameball customer profile in your iOS app\"\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`,code:`code`,em:`em`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Expandable,Heading,Info,ParamField,Tip,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Showing the Gameball widget on your mobile application is slightly different than showing it on the website. You have two options; first, if you want to design your customer interface, you will use our set of REST APIs. To know more information, you can use the `,_jsx(_components.a,{href:`/api-reference/configurations/configurations`,children:`Configurations API`}),` 👑.`]}),`\n`,_jsx(_components.p,{children:`The other option as this section elaborates, is through using our iOS SDK.`}),`\n`,_jsx(_components.p,{children:`Using the SDK, you can open the Gameball customer profile from a button in your app, programmatically when someone does something, or from a persistent button that sits over your app’s UI.`}),`\n`,_jsx(_components.p,{children:`When you trigger the Gameball customer profile, your customer is presented with a home screen. This is configurable inside Gameball to change how it looks and what’s presented.`}),`\n`,_jsx(_components.p,{children:`From there, your customer can check his progress across different Gameball programs as per your configurations.`}),`\n`,_jsx(_components.p,{children:`Gameball views are accessible through the code below. You just need to use it on any button action.`}),`\n`,_jsx(Heading,{level:`2`,id:`register-customer`,children:`Register Customer`}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.strong,{children:`Register Player`}),` method is used to create or update customer accounts at Gameball. This API call should be made when the customer successfully logs in or whenever there are updates to the customer’s account information.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`12`,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:`12`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// After completion block is called from init the SDK, you can register customer`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`self`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`gameball`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`?`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`registerPlayer`}),_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:` playerUniqueId`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"CUST_ID\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// The only required field`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` deviceToken`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"firebase_token\"`}),_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:` playerAttributes`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"custom_attribute\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"custom_value\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"country\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Egypt\"`})]}),`\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:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` completion`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: { (playerId, error) `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`in`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Completion block after registeration is complete`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // You either get gameball playerId or error`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`})`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`The below is description of register player parameters:`}),`\n`,_jsx(ParamField,{body:`playerUniqueId`,type:`string`,required:true,id:`param-player-unique-id`,children:_jsx(_components.p,{children:`Unique identifier for the customer that you can reference across the customer’s whole lifetime. Could be a database ID, random string, email or anything that uniquely identifies the customer.`})}),`\n`,_jsx(ParamField,{body:`deviceToken`,type:`string`,required:true,id:`param-device-token`,children:_jsx(_components.p,{children:`The Firebase Cloud Messaging (FCM) token associated with the customer’s mobile device. Required for enabling push notifications to be sent to the customer.`})}),`\n`,_jsxs(ParamField,{body:`playerAttributes`,type:`object`,id:`param-player-attributes`,children:[_jsx(_components.p,{children:`Additional customer-specific attributes. Includes attributes such as the customer’s name, contact details, and purchase history.`}),_jsxs(Expandable,{title:`playerAttributes Object`,children:[_jsx(ParamField,{body:`displayName`,type:`string`,id:`param-display-name`,children:_jsx(_components.p,{children:`The display name of the player.`})}),_jsx(ParamField,{body:`firstName`,type:`string`,id:`param-first-name`,children:_jsx(_components.p,{children:`The first name of the player.`})}),_jsx(ParamField,{body:`lastName`,type:`string`,id:`param-last-name`,children:_jsx(_components.p,{children:`The last name of the player.`})}),_jsx(ParamField,{body:`email`,type:`string`,id:`param-email`,children:_jsx(_components.p,{children:`The email address of the player.`})}),_jsx(ParamField,{body:`gender`,type:`string`,id:`param-gender`,children:_jsx(_components.p,{children:`The gender of the player. Use “M” for male, “F” for female, or other identifiers as needed.`})}),_jsx(ParamField,{body:`dateOfBirth`,type:`string`,id:`param-date-of-birth`,children:_jsxs(_components.p,{children:[`The player’s date of birth in the format `,_jsx(_components.code,{children:`YYYY-MM-DD`}),`.`]})}),_jsx(ParamField,{body:`joinDate`,type:`string`,id:`param-join-date`,children:_jsxs(_components.p,{children:[`The date the player joined, in the format `,_jsx(_components.code,{children:`YYYY-MM-DD`}),`.`]})}),_jsx(ParamField,{body:`custom`,type:`object`,id:`param-custom`,children:_jsx(_components.p,{children:`Custom attributes related to the player, defined by specific key-value pairs.`})})]})]}),`\n`,_jsx(ParamField,{body:`completion`,type:`function`,id:`param-completion`,children:_jsx(_components.p,{children:`Completion block that gets called when the initialization of the SDK is completed`})}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Every time the `,_jsx(_components.strong,{children:`Gameball View`}),` is initialized with a new `,_jsx(_components.strong,{children:`PlayerUniqueId`}),`, the customer profile is created or updated at Gameball side. You may consider enriching your Gameball’s customer profile with attributes that are not available to the UI by using server side `,_jsx(_components.a,{href:`/api-reference/customers/management/create-customer`,children:`Create/Update Customer API`})]})}),`\n`,_jsxs(Warning,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Choose an Unchangeable Player Unique ID`})}),_jsxs(_components.p,{children:[`Gameball user profile gets created using the `,_jsx(_components.strong,{children:_jsx(_components.code,{children:`playerUniqueId`})}),`. It is highly recommended to have the unique ID as an identifier that would NEVER be changed. If this unique ID changes for a given customer, you risk losing all original data for that customer and hence losing their points and rewards on Gameball. Accordingly, it is NOT recommended to use the email address or the mobile number as the unique ID as both can be changed by the user at anytime.`]})]}),`\n`,_jsxs(_components.p,{children:[`To generate `,_jsx(_components.strong,{children:`Device Token (FCM Token)`}),` you can use Firebase latest SDK you can put this code in AppDelegate or your ViewController to get the token and once you get the token you can call the above method to register and Launch Gameball:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`10`,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:`10`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Based on latest Firebase documentation you can generate token by`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`Messaging.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`messaging`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`().`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`token`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { token, 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:`\"Error fetching FCM registration token: `}),_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:`#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`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`else`}),_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:` token `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` token {`})]}),`\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:`\"FCM registration token: `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`\\\\(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#D4D4D4`},children:`token`}),_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:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // you can save the token anyware then use it while launching Gameball`})}),`\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`,_jsxs(_components.p,{children:[`Once the `,_jsx(_components.strong,{children:`APIKey`}),` and `,_jsx(_components.strong,{children:`playerUniqueId`}),` have been registered, Gameball views can be made visible to the customer. So ideally, `,_jsx(_components.strong,{children:_jsx(_components.code,{children:`registerPlayer`})}),` is called after the `,_jsx(_components.strong,{children:_jsx(_components.code,{children:`completion block`})}),` of the SDK initalization.`]}),`\n`,_jsx(Heading,{level:`2`,id:`show-the-widget`,children:`Show the Widget`}),`\n`,_jsxs(_components.p,{children:[`To show the Gameball customer profile that contains the customer details, customer reward campaigns, and the leaderboard use the `,_jsx(_components.em,{children:_jsx(_components.strong,{children:`showProfile`})}),` SDK function.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`12`,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:`12`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`@IBAction`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` func`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` didTapLaunch`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`_`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` sender`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: UIButton) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` gameball`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`?`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`showProfile`}),_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:` playerUniqueId`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"UNIQUE_PLAYER_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:` openDetail`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"custom_detail\"`}),_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:` hideNavigation`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_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:` completion`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: { viewController, errorMessage `}),_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:` guard`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` gameBallVC `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` viewController `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`else`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`return`}),_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:` gameBallVC.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`modalPresentationStyle`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`fullScreen`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` self`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`present`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(gameBallVC, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`animated`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`completion`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`nil`}),_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`,_jsxs(_components.p,{children:[`Upon customer action, you can use `,_jsx(_components.strong,{children:_jsx(_components.code,{children:`showProfile`})}),` function to show the widget. The `,_jsx(_components.strong,{children:_jsx(_components.code,{children:`completion`})}),` block tells you that the `,_jsx(_components.strong,{children:_jsx(_components.code,{children:`viewController`})}),` is ready and you can present it the way you want, for example by default if you don’t explicitly specify `,_jsx(_components.strong,{children:_jsx(_components.code,{children:`modalPresentationStyle`})}),`, it’ll appear as modal. If you want it full screen, you can specify it like the above example.`]}),`\n`,_jsx(ParamField,{body:`playerUniqueId`,type:`string`,required:true,id:`param-player-unique-id-1`,children:_jsx(_components.p,{children:`Unique identifier for the customer that you can reference across the customer’s whole lifetime. Could be a database ID, random string, email or anything that uniquely identifies the customer.`})}),`\n`,_jsx(ParamField,{body:`openDetail`,type:`string`,id:`param-open-detail`,children:_jsxs(_components.p,{children:[`Specify if you want the widget to open on a specific view. `,_jsx(_components.a,{href:`/tutorials/experiences/more/widget-deep-links#id-4.-using-the-sdk-mobile-apps`,children:`See available values`})]})}),`\n`,_jsx(ParamField,{body:`hideNavigation`,type:`boolean`,id:`param-hide-navigation`,children:_jsx(_components.p,{children:`Set to true to stop widget navigation otherwise leave as null`})}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[`You may also check the sample project `,_jsx(_components.a,{href:`https://github.com/gameballers/gameball-ios/tree/master/Example`,children:`here`}),` to view full implementation.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`next-steps`,children:`Next Steps`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/installation-guides/v2/ios/track-events`,children:`Track Customer Events`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/installation-guides/v2/ios/track-orders`,children:`Track Orders \u0026 Cashback`})}),`\n`]})]})}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 Customer Profile in the iOS SDK (v2, Legacy)?","sidebarTitle":"Initialize Gameball Customer Profile","description":"Show Gameball customer profile in your iOS app","href":"/installation-guides/v2/ios/initialize-profile"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Register Customer","slug":"register-customer","depth":2,"children":[]},{"title":"Show the Widget","slug":"show-the-widget","depth":2,"children":[]},{"title":"Next Steps","slug":"next-steps","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"gameball","siteName":"Gameball Docs","title":"How Do I Initialize the Customer Profile in the iOS SDK (v2, Legacy)? - Gameball Docs","navMaps":{"firstHrefInVersion":{"SDK v3":{"href":"/installation-guides/v3/ios/initialize-profile","matchLevel":1},"SDK v2":{"href":"/installation-guides/v2/ios/initialize-profile","matchLevel":0},"v4.0":{"href":"/api-reference/introduction","matchLevel":4},"v4.1":{"href":"/api-reference/introduction-v4.1","matchLevel":4}},"firstHrefInLanguage":{}},"lastModified":"2026-07-13T13:17:32.570Z","originalFileLocation":"installation-guides/v2/ios/initialize-profile.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=\"Show Gameball customer profile in your iOS app\">\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 Customer Profile in the iOS SDK (v2, Legacy)? - Gameball Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Show Gameball customer profile in your iOS app\">\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/v2/ios/initialize-profile\">\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=iOS\u0026amp;title=How+Do+I+Initialize+the+Customer+Profile+in+the+iOS+SDK+%28v2%2C+Legacy%29%3F\u0026amp;description=Show+Gameball+customer+profile+in+your+iOS+app\u0026amp;theme=4e778c65cbfcf077808b5cd6\u0026amp;signature=60d9b0b9a5a2c62aff9bc54ac3b3fef64169874b6b75a62e4478932e5fbd64fb\">\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 Customer Profile in the iOS SDK (v2, Legacy)? - Gameball Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Show Gameball customer profile in your iOS app\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://gameball.mintlify.app/_mintlify/api/og/v2?division=iOS\u0026amp;title=How+Do+I+Initialize+the+Customer+Profile+in+the+iOS+SDK+%28v2%2C+Legacy%29%3F\u0026amp;description=Show+Gameball+customer+profile+in+your+iOS+app\u0026amp;theme=4e778c65cbfcf077808b5cd6\u0026amp;signature=60d9b0b9a5a2c62aff9bc54ac3b3fef64169874b6b75a62e4478932e5fbd64fb\">\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/v2/ios/initialize-profile\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/installation-guides/v2/ios/initialize-profile.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/v2/ios/initialize-profile#webpage\",\"url\":\"https://docs.gameball.co/installation-guides/v2/ios/initialize-profile\",\"name\":\"How Do I Initialize the Customer Profile in the iOS SDK (v2, Legacy)?\",\"description\":\"Show Gameball customer profile in your iOS app\",\"dateModified\":\"2026-07-13T13:17:32.570Z\",\"isPartOf\":{\"@id\":\"https://docs.gameball.co#website\"},\"breadcrumb\":{\"@id\":\"https://docs.gameball.co/installation-guides/v2/ios/initialize-profile#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.gameball.co/installation-guides/v2/ios/initialize-profile#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Mobile Integration\",\"item\":\"https://docs.gameball.co/installation-guides/v2/ios/index\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"iOS\",\"item\":\"https://docs.gameball.co/installation-guides/v2/ios/index\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"How Do I Initialize the Customer Profile in the iOS SDK (v2, Legacy)?\",\"item\":\"https://docs.gameball.co/installation-guides/v2/ios/initialize-profile\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.gameball.co/installation-guides/v2/ios/initialize-profile#article\",\"headline\":\"How Do I Initialize the Customer Profile in the iOS SDK (v2, Legacy)?\",\"name\":\"How Do I Initialize the Customer Profile in the iOS SDK (v2, Legacy)?\",\"description\":\"Show Gameball customer profile in your iOS app\",\"url\":\"https://docs.gameball.co/installation-guides/v2/ios/initialize-profile\",\"mainEntityOfPage\":{\"@id\":\"https://docs.gameball.co/installation-guides/v2/ios/initialize-profile#webpage\"},\"dateModified\":\"2026-07-13T13:17:32.570Z\",\"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,"pages":[{"title":"SDK v3","href":"/installation-guides/v3/ios/initialize-profile"}]},{"version":"SDK v2","groups":[{"group":"Overview","pages":[{"title":"Installation Guide (SDK v2, Legacy)","href":"/installation-guides/v2"}]},{"group":"Web \u0026 POS Integration","pages":[{"group":"Web","pages":[{"title":"Web SDK Integration (v2, Legacy)","sidebarTitle":"Overview","href":"/installation-guides/v2/web/index"},{"title":"How Do I Get Started with the Web SDK (v2, Legacy)?","sidebarTitle":"Getting Started","href":"/installation-guides/v2/web/getting-started"},{"title":"How Do I Initialize the Customer Widget in the Web SDK (v2, Legacy)?","sidebarTitle":"Initialize Gameball Customer Widget","href":"/installation-guides/v2/web/initialize-widget"},{"title":"How Do I Manage Customers with the Web SDK (v2, Legacy)?","sidebarTitle":"Customer Management","href":"/installation-guides/v2/web/customer-management"},{"title":"How Do I Track Customer Events with the Web SDK (v2, Legacy)?","sidebarTitle":"Track Customer Events","href":"/installation-guides/v2/web/track-events"},{"title":"How Do I Track Orders and Reward Cashback with the Web SDK (v2, Legacy)?","sidebarTitle":"Track Orders \u0026 Cashback Reward","href":"/installation-guides/v2/web/track-orders"},{"title":"How Do I Integrate Points Redemption with the Web SDK (v2, Legacy)?","sidebarTitle":"Integrate Redemption","href":"/installation-guides/v2/web/integrate-redemption"},{"title":"How Do I Track Referrals with the Web SDK (v2, Legacy)?","sidebarTitle":"Track Referrals","href":"/installation-guides/v2/web/track-referrals"},{"title":"How Do I Complete the Go-Live Checklist for the Web SDK (v2, Legacy)?","sidebarTitle":"Go-Live Checklist","href":"/installation-guides/v2/web/go-live-checklist"}]},{"group":"POS","pages":[{"title":"Gameball POS Integration (v2, Legacy)","sidebarTitle":"Overview","href":"/installation-guides/v2/pos/index"},{"title":"How Do I Get Started with Gameball POS (v2, Legacy)?","sidebarTitle":"Getting Started","href":"/installation-guides/v2/pos/getting-started"},{"title":"How Do I Set Up the API for Gameball POS (v2, Legacy)?","sidebarTitle":"API Setup","href":"/installation-guides/v2/pos/api-setup"},{"title":"How Do I Manage Customers with Gameball POS (v2, Legacy)?","sidebarTitle":"Customer Management","href":"/installation-guides/v2/pos/customer-management"},{"title":"How Do I Show the Customer Balance with Gameball POS (v2, Legacy)?","sidebarTitle":"Customer Balance","href":"/installation-guides/v2/pos/customer-balance"},{"title":"How Do I Integrate Points Redemption with Gameball POS (v2, Legacy)?","sidebarTitle":"Integrate Redemption","href":"/installation-guides/v2/pos/integrate-redemption"},{"title":"How Do I Track Orders with Gameball POS (v2, Legacy)?","sidebarTitle":"Track Orders","href":"/installation-guides/v2/pos/track-orders"},{"title":"How Do I Refund an Order with Gameball POS (v2, Legacy)?","sidebarTitle":"Refund Order","href":"/installation-guides/v2/pos/refund-order"},{"title":"How Do I Fetch Order Details with Gameball POS (v2, Legacy)?","sidebarTitle":"Fetch Order Details","href":"/installation-guides/v2/pos/fetch-order-details"},{"title":"How Do I Track Events with Gameball POS (v2, Legacy)?","sidebarTitle":"Track Events","href":"/installation-guides/v2/pos/track-events"},{"title":"How Do I Track Referrals with Gameball POS (v2, Legacy)?","sidebarTitle":"Track Referrals","href":"/installation-guides/v2/pos/track-referrals"},{"title":"How Do I Complete the Go-Live Checklist for Gameball POS (v2, Legacy)?","sidebarTitle":"Go-Live Checklist","href":"/installation-guides/v2/pos/go-live-checklist"},{"title":"Gameball POS Migration Notes (v2, Legacy)","sidebarTitle":"Migration Notes","href":"/installation-guides/v2/pos/migration-notes"}]}]},{"group":"Mobile Integration","pages":[{"group":"iOS","pages":[{"title":"iOS SDK Integration (v2, Legacy)","sidebarTitle":"Overview","href":"/installation-guides/v2/ios/index"},{"title":"How Do I Get Started with the iOS SDK (v2, Legacy)?","sidebarTitle":"Getting Started","description":"Install the Gameball iOS SDK into your app","href":"/installation-guides/v2/ios/getting-started"},{"title":"How Do I Initialize the Customer Profile in the iOS SDK (v2, Legacy)?","sidebarTitle":"Initialize Gameball Customer Profile","href":"/installation-guides/v2/ios/initialize-profile"},{"title":"How Do I Track Customer Events with the iOS SDK (v2, Legacy)?","sidebarTitle":"Track Customer Events","description":"Send customer events from your iOS app to Gameball","href":"/installation-guides/v2/ios/track-events"},{"title":"How Do I Track Orders and Reward Cashback with the iOS SDK (v2, Legacy)?","sidebarTitle":"Track Orders \u0026 Cashback Reward","href":"/installation-guides/v2/ios/track-orders"},{"title":"How Do I Integrate Points Redemption with the iOS SDK (v2, Legacy)?","sidebarTitle":"Integrate Redemption","href":"/installation-guides/v2/ios/integrate-redemption"},{"title":"How Do I Set Up Push Notifications in the iOS SDK (v2, Legacy)?","sidebarTitle":"Push Notifications","href":"/installation-guides/v2/ios/push-notifications"},{"title":"How Do I Track Referrals with the iOS SDK (v2, Legacy)?","sidebarTitle":"Track Referrals","href":"/installation-guides/v2/ios/track-referrals"},{"title":"How Do I Complete the Go-Live Checklist for the iOS SDK (v2, Legacy)?","sidebarTitle":"Go-Live Checklist","href":"/installation-guides/v2/ios/go-live-checklist"}]},{"group":"Android","pages":[{"title":"Android SDK Integration (v2, Legacy)","sidebarTitle":"Overview","href":"/installation-guides/v2/android/index"},{"title":"How Do I Get Started with the Android SDK (v2, Legacy)?","sidebarTitle":"Getting Started","href":"/installation-guides/v2/android/getting-started"},{"title":"How Do I Initialize the Customer Profile in the Android SDK (v2, Legacy)?","sidebarTitle":"Initialize Gameball Customer Profile","href":"/installation-guides/v2/android/initialize-profile"},{"title":"How Do I Track Customer Events with the Android SDK (v2, Legacy)?","sidebarTitle":"Track Customer Events","href":"/installation-guides/v2/android/track-events"},{"title":"How Do I Track Orders and Reward Cashback with the Android SDK (v2, Legacy)?","sidebarTitle":"Track Orders \u0026 Cashback Reward","href":"/installation-guides/v2/android/track-orders"},{"title":"How Do I Integrate Points Redemption with the Android SDK (v2, Legacy)?","sidebarTitle":"Integrate Redemption","href":"/installation-guides/v2/android/integrate-redemption"},{"title":"How Do I Set Up Push Notifications in the Android SDK (v2, Legacy)?","sidebarTitle":"Push Notifications","href":"/installation-guides/v2/android/push-notifications"},{"title":"How Do I Complete the Go-Live Checklist for the Android SDK (v2, Legacy)?","sidebarTitle":"Go-Live Checklist","href":"/installation-guides/v2/android/go-live-checklist"}]},{"group":"React Native","pages":[{"title":"React Native SDK Integration (v2, Legacy)","sidebarTitle":"Overview","href":"/installation-guides/v2/react-native/index"},{"title":"How Do I Get Started with the React Native SDK (v2, Legacy)?","sidebarTitle":"Getting Started","href":"/installation-guides/v2/react-native/getting-started"},{"title":"How Do I Initialize the Customer Profile in the React Native SDK (v2, Legacy)?","sidebarTitle":"Initialize Gameball Customer Profile","href":"/installation-guides/v2/react-native/initialize-profile"},{"title":"How Do I Track Customer Events with the React Native SDK (v2, Legacy)?","sidebarTitle":"Track Customer Events","href":"/installation-guides/v2/react-native/track-events"},{"title":"How Do I Track Orders and Reward Cashback with the React Native SDK (v2, Legacy)?","sidebarTitle":"Track Orders \u0026 Cashback Reward","href":"/installation-guides/v2/react-native/track-orders"},{"title":"How Do I Integrate Points Redemption with the React Native SDK (v2, Legacy)?","sidebarTitle":"Integrate Redemption","href":"/installation-guides/v2/react-native/integrate-redemption"},{"title":"How Do I Track Referrals with the React Native SDK (v2, Legacy)?","sidebarTitle":"Track Referrals","href":"/installation-guides/v2/react-native/track-referrals"},{"title":"How Do I Set Up Push Notifications in the React Native SDK (v2, Legacy)?","sidebarTitle":"Push Notifications","href":"/installation-guides/v2/react-native/push-notifications"},{"title":"How Do I Complete the Go-Live Checklist for the React Native SDK (v2, Legacy)?","sidebarTitle":"Go-Live Checklist","href":"/installation-guides/v2/react-native/go-live-checklist"}]},{"group":"Flutter","pages":[{"title":"Flutter SDK Integration (v2, Legacy)","sidebarTitle":"Overview","href":"/installation-guides/v2/flutter/index"},{"title":"How Do I Get Started with the Flutter SDK (v2, Legacy)?","sidebarTitle":"Getting Started","href":"/installation-guides/v2/flutter/getting-started"},{"title":"How Do I Initialize the Customer Profile in the Flutter SDK (v2, Legacy)?","sidebarTitle":"Initialize Gameball Customer Profile","href":"/installation-guides/v2/flutter/initialize-profile"},{"title":"How Do I Track Customer Events with the Flutter SDK (v2, Legacy)?","sidebarTitle":"Track Customer Events","href":"/installation-guides/v2/flutter/track-events"},{"title":"How Do I Track Orders and Reward Cashback with the Flutter SDK (v2, Legacy)?","sidebarTitle":"Track Orders \u0026 Cashback Reward","href":"/installation-guides/v2/flutter/track-orders"},{"title":"How Do I Integrate Points Redemption with the Flutter SDK (v2, Legacy)?","sidebarTitle":"Integrate Redemption","href":"/installation-guides/v2/flutter/integrate-redemption"},{"title":"How Do I Track Referrals with the Flutter SDK (v2, Legacy)?","sidebarTitle":"Track Referrals","href":"/installation-guides/v2/flutter/track-referrals"},{"title":"How Do I Complete the Go-Live Checklist for the Flutter SDK (v2, Legacy)?","sidebarTitle":"Go-Live Checklist","href":"/installation-guides/v2/flutter/go-live-checklist"}]},{"group":"Generic Mobile App","pages":[{"title":"Generic Mobile SDK Integration (v2, Legacy)","sidebarTitle":"Overview","href":"/installation-guides/v2/generic-mobile/index"},{"title":"How Do I Initialize the Customer Profile in a Generic Mobile App (v2, Legacy)?","sidebarTitle":"Initialize Gameball Customer Profile","href":"/installation-guides/v2/generic-mobile/initialize-profile"},{"title":"How Do I Track Customer Events in a Generic Mobile App (v2, Legacy)?","sidebarTitle":"Track Customer Events","href":"/installation-guides/v2/generic-mobile/track-events"},{"title":"How Do I Track Orders and Reward Cashback in a Generic Mobile App (v2, Legacy)?","sidebarTitle":"Track Orders \u0026 Cashback Reward","href":"/installation-guides/v2/generic-mobile/track-orders"},{"title":"How Do I Integrate Points Redemption in a Generic Mobile App (v2, Legacy)?","sidebarTitle":"Integrate Redemption","href":"/installation-guides/v2/generic-mobile/integrate-redemption"},{"title":"How Do I Track Referrals in a Generic Mobile App (v2, Legacy)?","sidebarTitle":"Track Referrals","href":"/installation-guides/v2/generic-mobile/track-referrals"},{"title":"How Do I Set Up Push Notifications in a Generic Mobile App (v2, Legacy)?","sidebarTitle":"Push Notifications","href":"/installation-guides/v2/generic-mobile/push-notifications"}]}]}]}]},{"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 Customer Profile in the iOS SDK (v2, Legacy)? - Gameball Docs","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":[],"chunks":[]}