{"version":1,"pages":[{"id":"IPJ5PmoSgBnA6YwytXTa","title":"Onside Documentation","pathname":"/","siteSpaceId":"sitesp_gHtil","icon":"file-lines","description":"Learn in detail about the console, tools, and technologies in Onside","breadcrumbs":[{"label":"Home","icon":"house"}]},{"id":"kzTlst3tKo255yz4YpDi","title":"Welcome to Onside Store: Alternative iOS App Store for the EU and Japan","pathname":"/store","siteSpaceId":"sitesp_Vt32f","icon":"hand-wave","description":"A quick introduction to the Onside Store, its key benefits, what you can find inside, and our commitment to your safety.","breadcrumbs":[{"label":"Onside Store","icon":"mobile-notch"}]},{"id":"9IfkSWHVH1kj1raEDKmE","title":"How to Install Onside Store","pathname":"/store/getting-started/how-to-install-onside-store","siteSpaceId":"sitesp_Vt32f","icon":"arrow-down-to-bracket","description":"The installation won’t take long—you’ll be using the app marketplace within minutes.","breadcrumbs":[{"label":"Onside Store","icon":"mobile-notch"},{"label":"Getting Started"}]},{"id":"NnSCF33LuEE6p7Ibj1MV","title":"Troubleshooting Installation Issues","pathname":"/store/getting-started/how-to-install-onside-store/troubleshooting-installation-issues","siteSpaceId":"sitesp_Vt32f","description":"Fix Onside Store install problems on iOS: resolve region and device requirements, profiles/permissions, storage, network, and update errors. Includes quick checks, error codes, and support steps.","breadcrumbs":[{"label":"Onside Store","icon":"mobile-notch"},{"label":"Getting Started"},{"label":"How to Install Onside Store","icon":"arrow-down-to-bracket"}]},{"id":"DqHtpHjvbjjeXatX5ksh","title":"How to Update Onside Store","pathname":"/store/getting-started/how-to-update-onside-store","siteSpaceId":"sitesp_Vt32f","icon":"spinner","description":"Keeping your Onside Store app up-to-date is important for the latest features, security, and the best experience. Here’s how to manage updates for the Onside marketplace app itself.","breadcrumbs":[{"label":"Onside Store","icon":"mobile-notch"},{"label":"Getting Started"}]},{"id":"QEi7MmqTOCxsRJgHrbIK","title":"Notifications","pathname":"/store/getting-started/notifications","siteSpaceId":"sitesp_Vt32f","icon":"comment-dots","description":"Stay up-to-date with your apps! This page explains how to manage notifications from Onside Store.","breadcrumbs":[{"label":"Onside Store","icon":"mobile-notch"},{"label":"Getting Started"}]},{"id":"luqP6GmU7oqSvWPEWoOc","title":"Can I Trust Onside?","pathname":"/store/authorization-and-safety/can-i-trust-onside","siteSpaceId":"sitesp_Vt32f","icon":"shield-heart","description":"A guide to understanding Onside's commitment to security, how we ensure apps are safe, and the best practices for using our marketplace securely.","breadcrumbs":[{"label":"Onside Store","icon":"mobile-notch"},{"label":"Authorization & Safety"}]},{"id":"QWgV74KLoCrxBkEgqgZF","title":"How to Sign Up?","pathname":"/store/authorization-and-safety/how-to-sign-up","siteSpaceId":"sitesp_Vt32f","icon":"arrow-right-to-bracket","description":"Create an Onside account with your phone number to manage purchases, your profile, and other account-based features.","breadcrumbs":[{"label":"Onside Store","icon":"mobile-notch"},{"label":"Authorization & Safety"}]},{"id":"4trACDIWYPk2QxuMnjMv","title":"How to Log Out?","pathname":"/store/authorization-and-safety/how-to-log-out","siteSpaceId":"sitesp_Vt32f","icon":"arrow-right-from-bracket","description":"Log out of the Onside Store safely: find the logout option, end sessions on iOS, switch accounts, and troubleshoot issues (missing button, lost device, session not closing).","breadcrumbs":[{"label":"Onside Store","icon":"mobile-notch"},{"label":"Authorization & Safety"}]},{"id":"xY6mvSFAc1IFQ3vex0Rn","title":"How to Delete Your Account?","pathname":"/store/authorization-and-safety/how-to-delete-your-account","siteSpaceId":"sitesp_Vt32f","icon":"trash-can","description":"If you wish to permanently delete your Onside Store account and its associated data, please follow these steps.","breadcrumbs":[{"label":"Onside Store","icon":"mobile-notch"},{"label":"Authorization & Safety"}]},{"id":"PueWuNi1XyHMFbdtX1R5","title":"Main Sections","pathname":"/store/onside-app-interface/main-sections","siteSpaceId":"sitesp_Vt32f","icon":"mobile-screen-button","description":"Understanding the Onside App Interface","breadcrumbs":[{"label":"Onside Store","icon":"mobile-notch"},{"label":"Onside App Interface"}]},{"id":"dRVttcVgQvHohKealRv8","title":"App Page","pathname":"/store/onside-app-interface/app-page","siteSpaceId":"sitesp_Vt32f","icon":"newspaper","description":"A detailed guide to all the sections and features you'll find on an app or game's product page in the Onside Store.","breadcrumbs":[{"label":"Onside Store","icon":"mobile-notch"},{"label":"Onside App Interface"}]},{"id":"8ECIV9IkYCypLAphB6Ui","title":"Changing the App Theme","pathname":"/store/onside-app-interface/changing-the-app-theme","siteSpaceId":"sitesp_Vt32f","icon":"circle-half-stroke","description":"Onside Store is designed to look great on your iPhone, and we offer different appearance options to suit your preference.","breadcrumbs":[{"label":"Onside Store","icon":"mobile-notch"},{"label":"Onside App Interface"}]},{"id":"XGNtX753eYGkGCWmyzQT","title":"Updating Apps in Onside","pathname":"/store/app-management/updating-apps-in-onside","siteSpaceId":"sitesp_Vt32f","icon":"arrows-rotate","description":"Learn how to update apps in Onside: check for new versions, enable auto-updates in settings, troubleshoot failed updates, and manage rollbacks.","breadcrumbs":[{"label":"Onside Store","icon":"mobile-notch"},{"label":"App Management"}]},{"id":"HsXegkuXR8LGV30iPcLU","title":"Troubleshooting App Updates","pathname":"/store/app-management/troubleshooting-app-updates","siteSpaceId":"sitesp_Vt32f","icon":"rotate-exclamation","description":"Find solutions for Onside app update issues: enable auto-updates, fix storage or network problems, restart the app or iPhone, and resolve stuck or failed installs.","breadcrumbs":[{"label":"Onside Store","icon":"mobile-notch"},{"label":"App Management"}]},{"id":"1vuwAgaiCM4ZOJxWrpSM","title":"Payment Methods & Currencies","pathname":"/store/purchases-and-returns/payment-methods-and-currencies","siteSpaceId":"sitesp_Vt32f","icon":"apple-pay","description":"An overview of the payment methods and currencies currently supported by Onside for all purchases.","breadcrumbs":[{"label":"Onside Store","icon":"mobile-notch"},{"label":"Purchases and returns"}]},{"id":"gPV2rt67XZPhJUXgpIEo","title":"Linking a Bank Card to Onside","pathname":"/store/purchases-and-returns/linking-a-bank-card-to-onside","siteSpaceId":"sitesp_Vt32f","icon":"credit-card","description":"Link your bank card to your Onside account for fast and easy purchases of apps, in-app items, and subscriptions.","breadcrumbs":[{"label":"Onside Store","icon":"mobile-notch"},{"label":"Purchases and returns"}]},{"id":"UPGOlADwiICJoEc0XDAj","title":"Purchasing Paid Apps","pathname":"/store/purchasing-paid-apps","siteSpaceId":"sitesp_Vt32f","icon":"square-dollar","description":"A guide on how to purchase apps with a one-time cost in the Onside Store, including information on refunds and re-downloading.","breadcrumbs":[{"label":"Onside Store","icon":"mobile-notch"}]},{"id":"DqdMr9IUWPoc4THj3Cin","title":"Troubleshooting Payment Issues","pathname":"/store/troubleshooting-payment-issues","siteSpaceId":"sitesp_Vt32f","icon":"hammer","description":"A guide to resolving common payment problems, from declined transactions to refund requests and questions about currencies.","breadcrumbs":[{"label":"Onside Store","icon":"mobile-notch"}]},{"id":"a5KNkeSSWkCww82UKL0n","title":"Keeping Your iPhone Secure","pathname":"/store/onside-rules-and-policies/keeping-your-iphone-secure","siteSpaceId":"sitesp_Vt32f","icon":"lock-keyhole","description":"Learn the essential security practices for your iPhone and understand Onside's commitment to creating a safe marketplace.","breadcrumbs":[{"label":"Onside Store","icon":"mobile-notch"},{"label":"Onside rules and policies"}]},{"id":"NKJR24H3wAkLCx0W1fO8","title":"Participate in UX Research (Users)","pathname":"/store/onside-rules-and-policies/participate-in-ux-research-users","siteSpaceId":"sitesp_Vt32f","icon":"heart","description":"An invitation for Onside Store users to participate in feedback sessions and help us build an even better app marketplace.","breadcrumbs":[{"label":"Onside Store","icon":"mobile-notch"},{"label":"Onside rules and policies"}]},{"id":"b5zhZ5LsTKvQWZroQV9c","title":"Data Collection Policy","pathname":"/store/onside-rules-and-policies-japan/data-collection-policy","siteSpaceId":"sitesp_Vt32f","description":"How Onside collects, uses, protects, and handles personal information in Japan, including user rights under APPI, cross-border data handling, and contact details for privacy requests.","breadcrumbs":[{"label":"Onside Store","icon":"mobile-notch"},{"label":"Onside rules and policies (Japan)"}]},{"id":"tJvJzU7WF2dBFuQj9QQf","title":"App Marketplace Guidelines","pathname":"/store/onside-rules-and-policies-japan/app-marketplace-guidelines","siteSpaceId":"sitesp_Vt32f","description":"Rules for distributing apps through Onside in Japan, including legal compliance, intellectual property, fraud prevention, quality standards, and the review and appeals process.","breadcrumbs":[{"label":"Onside Store","icon":"mobile-notch"},{"label":"Onside rules and policies (Japan)"}]},{"id":"b3KLsZq8SBhSKWoYF9qu","title":"Intellectual Property Review Mechanism For App Distribution","pathname":"/store/onside-rules-and-policies-japan/intellectual-property-review-mechanism-for-app-distribution","siteSpaceId":"sitesp_Vt32f","description":"How Onside reviews apps for intellectual property compliance in Japan before distribution, including submission requirements, manual screening, developer remediation, and ongoing enforcement.","breadcrumbs":[{"label":"Onside Store","icon":"mobile-notch"},{"label":"Onside rules and policies (Japan)"}]},{"id":"3iX6AH50r49mQ0Sozd3G","title":"Intellectual Property Dispute Resolution Policy","pathname":"/store/onside-rules-and-policies-japan/intellectual-property-dispute-resolution-policy","siteSpaceId":"sitesp_Vt32f","description":"How Onside handles intellectual property disputes in Japan, including notice requirements, review steps, developer responses, content removal, and repeat infringement enforcement.","breadcrumbs":[{"label":"Onside Store","icon":"mobile-notch"},{"label":"Onside rules and policies (Japan)"}]},{"id":"EMdiS5Av34tHEnHN6icg","title":"Governmental And Legal Compliance Policy For App Takedown Requests","pathname":"/store/onside-rules-and-policies-japan/governmental-and-legal-compliance-policy-for-app-takedown-requests","siteSpaceId":"sitesp_Vt32f","description":"How Onside handles governmental, legal, intellectual property, and policy-based app takedown requests in Japan, including review steps, temporary restrictions, developer notices, and contact details.","breadcrumbs":[{"label":"Onside Store","icon":"mobile-notch"},{"label":"Onside rules and policies (Japan)"}]},{"id":"KOZnDAqopvqLIWlXParJ","title":"Data Collection Policy","pathname":"/store/onside-rules-and-policies-brazil/data-collection-policy","siteSpaceId":"sitesp_Vt32f","description":"How Onside collects, uses, protects, and processes personal information in Brazil, including user rights under LGPD and information about international data transfers and privacy requests.","breadcrumbs":[{"label":"Onside Store","icon":"mobile-notch"},{"label":"Onside rules and policies (Brazil)"}]},{"id":"yhl0xLUY0W3rbSZ8QrSo","title":"App Marketplace Guidelines","pathname":"/store/onside-rules-and-policies-brazil/app-marketplace-guidelines","siteSpaceId":"sitesp_Vt32f","description":"Rules for distributing apps through Onside in Brazil, including legal compliance, safety requirements, quality standards, and app review procedures.","breadcrumbs":[{"label":"Onside Store","icon":"mobile-notch"},{"label":"Onside rules and policies (Brazil)"}]},{"id":"vW3wG5ImIzRViLSKsoVw","title":"Intellectual Property Review Mechanism For App Distribution","pathname":"/store/onside-rules-and-policies-brazil/intellectual-property-review-mechanism-for-app-distribution","siteSpaceId":"sitesp_Vt32f","description":"How Onside reviews apps for intellectual property compliance before and after distribution in Brazil.","breadcrumbs":[{"label":"Onside Store","icon":"mobile-notch"},{"label":"Onside rules and policies (Brazil)"}]},{"id":"SLMJEOwsd04tO6jg1uqH","title":"Intellectual Property Dispute Resolution Policy","pathname":"/store/onside-rules-and-policies-brazil/intellectual-property-dispute-resolution-policy","siteSpaceId":"sitesp_Vt32f","description":"Process for reporting, reviewing, and resolving intellectual property disputes related to apps distributed through Onside in Brazil.","breadcrumbs":[{"label":"Onside Store","icon":"mobile-notch"},{"label":"Onside rules and policies (Brazil)"}]},{"id":"XrAmUlQSgIj4CfQAi7Wi","title":"Governmental And Legal Compliance Policy For App Takedown Requests","pathname":"/store/onside-rules-and-policies-brazil/governmental-and-legal-compliance-policy-for-app-takedown-requests","siteSpaceId":"sitesp_Vt32f","description":"Process for handling governmental, legal, intellectual property, and policy-based app takedown requests on Onside in Brazil.","breadcrumbs":[{"label":"Onside Store","icon":"mobile-notch"},{"label":"Onside rules and policies (Brazil)"}]},{"id":"kzTlst3tKo255yz4YpDi","title":"Welcome to Onside Console","pathname":"/console","siteSpaceId":"sitesp_LxnLk","icon":"hand-wave","description":"An introduction to the Onside Developer Console, outlining its main features and guiding you to your first steps on the platform.","breadcrumbs":[{"label":"Onside Console","icon":"rectangle-terminal"}]},{"id":"JF6tmPPiI5C3dBHBlyRr","title":"Create Onside Account","pathname":"/console/getting-started-and-publishing/create-onside-account","siteSpaceId":"sitesp_LxnLk","icon":"user-plus","description":"A step-by-step guide to creating your Onside developer account, choosing your account type, and connecting it to the App Store for seamless app management.","breadcrumbs":[{"label":"Onside Console","icon":"rectangle-terminal"},{"label":"Getting Started & Publishing"}]},{"id":"MZd1MLkYgPgeJEwYMXVf","title":"Link Apple Developer Account to Onside","pathname":"/console/getting-started-and-publishing/link-apple-developer-account-to-onside","siteSpaceId":"sitesp_LxnLk","icon":"link","description":"A step-by-step guide to connecting your AppStore Connect account to Onside using an API Key and Marketplace Token for seamless app management.","breadcrumbs":[{"label":"Onside Console","icon":"rectangle-terminal"},{"label":"Getting Started & Publishing"}]},{"id":"O6JSj1zf3R8uOpcon7Y7","title":"How to Publish an App","pathname":"/console/publishing-your-app/how-to-publish-an-app","siteSpaceId":"sitesp_LxnLk","icon":"upload","description":"A comprehensive guide on how to publish your app on Onside, explaining the two review paths: the standard App Store Review and the Onside-only Notarization.","breadcrumbs":[{"label":"Onside Console","icon":"rectangle-terminal"},{"label":"Publishing Your App"}]},{"id":"JjjojIyKxaiBPzzLwvtg","title":"App Requirements & Guidelines","pathname":"/console/publish-your-docs","siteSpaceId":"sitesp_LxnLk","icon":"globe-pointer","description":"A practical guide to the Onside App Guidelines, our commitment to safety and quality, and how to prepare your app for a smooth review process.","breadcrumbs":[{"label":"Onside Console","icon":"rectangle-terminal"}]},{"id":"CVZ032MODgVBlWV0TRjT","title":"Wrap your Site as App","pathname":"/console/wrap-your-site-as-app","siteSpaceId":"sitesp_LxnLk","icon":"browser","description":"Learn how Onside can turn your existing Progressive Web App (PWA) or website into a native iOS app for distribution on our marketplace.","breadcrumbs":[{"label":"Onside Console","icon":"rectangle-terminal"}]},{"id":"eqIjMu1CEEoCWoqXQ0Eg","title":"Edit Your App Metadata","pathname":"/console/account-and-platform/edit-your-app-metadata","siteSpaceId":"sitesp_LxnLk","icon":"pen","description":"A guide to managing your app's store listing information on Onside, including syncing with the App Store and making manual edits for instant updates.","breadcrumbs":[{"label":"Onside Console","icon":"rectangle-terminal"},{"label":"Account & Platform"}]},{"id":"4n7h9gpnIYlEMY9st1LZ","title":"Managing User Access and Roles","pathname":"/console/account-and-platform/managing-user-access-and-roles","siteSpaceId":"sitesp_LxnLk","icon":"users-gear","description":"Manage user access in Onside: invite team members, assign roles and permissions, set organization ownership, and revoke access—all from the Developer Console.","breadcrumbs":[{"label":"Onside Console","icon":"rectangle-terminal"},{"label":"Account & Platform"}]},{"id":"K8Kj0mJlrunOfJcuNWaL","title":"Onside Legal Documents","pathname":"/console/account-and-platform/onside-legal-documents","siteSpaceId":"sitesp_LxnLk","icon":"file-signature","description":"Access Onside’s legal documents: Terms of Use, Privacy Policy, Developer Agreement, Data Processing, and compliance policies—latest versions and change history.","breadcrumbs":[{"label":"Onside Console","icon":"rectangle-terminal"},{"label":"Account & Platform"}]},{"id":"1vwqWfNNiHcZCOrOAqqi","title":"Overview & Commission","pathname":"/console/monetization/overview-and-commission","siteSpaceId":"sitesp_LxnLk","icon":"sack-dollar","description":"An introduction to Onside's monetization framework, starting with your choice of payment processing, and then detailing our commission and tax policies.","breadcrumbs":[{"label":"Onside Console","icon":"rectangle-terminal"},{"label":"Monetization"}]},{"id":"LAwgTR6s5B7VBT0Eu2sA","title":"Using a Third-Party Payment Provider","pathname":"/console/monetization/using-a-third-party-payment-provider","siteSpaceId":"sitesp_LxnLk","icon":"up-right-from-square","description":"A guide for developers who choose to use their own payment infrastructure and need to report transactions to Onside.","breadcrumbs":[{"label":"Onside Console","icon":"rectangle-terminal"},{"label":"Monetization"}]},{"id":"cEHgDv7NGBquDGHeLyQ4","title":"Paid Apps","pathname":"/console/monetization/paid-apps","siteSpaceId":"sitesp_LxnLk","icon":"comments-dollar","description":"Configure and manage in-app products in Onside. Set pricing, regions, and billing options for iOS apps directly from the Developer Console.","breadcrumbs":[{"label":"Onside Console","icon":"rectangle-terminal"},{"label":"Monetization"}]},{"id":"ZXxfwYY21Yz9PCv9X7ja","title":"In-App Purchases","pathname":"/console/monetization/in-app-purchases","siteSpaceId":"sitesp_LxnLk","icon":"cart-shopping","description":"Configure and manage in-app purchases in Onside: set consumables, non-consumables, entitlement logic, product bundles, and pricing across regions using the Developer Console.","breadcrumbs":[{"label":"Onside Console","icon":"rectangle-terminal"},{"label":"Monetization"}]},{"id":"C0Iw7dSqN20mv5qqYb8F","title":"Monetization FAQ","pathname":"/console/monetization/faq","siteSpaceId":"sitesp_LxnLk","icon":"question","description":"Frequently asked questions about Onside monetization: commissions, app pricing, in-app products, subscriptions, payment flow, refunds, and policy clarifications.","breadcrumbs":[{"label":"Onside Console","icon":"rectangle-terminal"},{"label":"Monetization"}]},{"id":"7FeyoyOg1RASmLSar5v2","title":"ASO & Discovery Tips","pathname":"/console/marketing-and-promotion/aso-and-discovery-tips","siteSpaceId":"sitesp_LxnLk","icon":"arrow-up-right-dots","description":"Learn how to optimize your app's product page for better visibility, more downloads, and greater success on the Onside Store.","breadcrumbs":[{"label":"Onside Console","icon":"rectangle-terminal"},{"label":"Marketing & Promotion"}]},{"id":"ZKV9pd3yK5H9VveVNwDw","title":"\"Download from Onside\" Button for Your Website","pathname":"/console/marketing-and-promotion/download-from-onside-button-for-your-website","siteSpaceId":"sitesp_LxnLk","icon":"arrow-down-to-dotted-line","description":"Include Onside badge on your website as a clear call to action to get your app","breadcrumbs":[{"label":"Onside Console","icon":"rectangle-terminal"},{"label":"Marketing & Promotion"}]},{"id":"GEB3tHcfuyYqy6V6PfY1","title":"Grow with Onside","pathname":"/console/marketing-and-promotion/grow-with-onside","siteSpaceId":"sitesp_LxnLk","icon":"rectangle-ad","description":"Onside helps publishers grow through Web2App distribution, running and optimizing campaigns across Google Ads and Meta Ads — from setup to scale.","breadcrumbs":[{"label":"Onside Console","icon":"rectangle-terminal"},{"label":"Marketing & Promotion"}]},{"id":"NRmYp6RVhjc47aCA9ZlG","title":"Landing Page Asset Requirements","pathname":"/console/marketing-and-promotion/landing-page-asset-requirements","siteSpaceId":"sitesp_LxnLk","icon":"images","description":"What to send Onside when we create a distribution landing page for your app.","breadcrumbs":[{"label":"Onside Console","icon":"rectangle-terminal"},{"label":"Marketing & Promotion"}]},{"id":"JDFnGyEGizEqjkeOqyVX","title":"Participate in UX Research (Developers)","pathname":"/console/participate-in-ux-research-developers","siteSpaceId":"sitesp_LxnLk","icon":"heart","description":"An invitation for Onside developers to participate in UX research interviews to help shape the future of our platform.","breadcrumbs":[{"label":"Onside Console","icon":"rectangle-terminal"}]},{"id":"2C479F4IouEOKyVlDSE0","title":"Welcome","pathname":"/sdk","siteSpaceId":"sitesp_3Ft3L","icon":"hand-wave","description":"An overview of the Onside Payment SDK, designed for easy integration to help you monetize your apps with in-app purchases and subscriptions.","breadcrumbs":[{"label":"Onside SDK","icon":"screwdriver-wrench"},{"label":"Getting Started"}]},{"id":"djrJSfiKfuxxKoyaOTC4","title":"Quick Start","pathname":"/sdk/getting-started/quick-start","siteSpaceId":"sitesp_3Ft3L","icon":"rocket","description":"A minimal, end-to-end OnsideKit integration you can copy-paste: initialize the SDK, fetch a product, buy it, and finish the transaction.","breadcrumbs":[{"label":"Onside SDK","icon":"screwdriver-wrench"},{"label":"Getting Started"}]},{"id":"fE4i5CW7M0ZeaZqcsDJp","title":"Installation","pathname":"/sdk/getting-started/installation","siteSpaceId":"sitesp_3Ft3L","icon":"list-check","description":"Add the OnsideKit framework to your iOS project with Swift Package Manager, CocoaPods, or a manual framework install.","breadcrumbs":[{"label":"Onside SDK","icon":"screwdriver-wrench"},{"label":"Getting Started"}]},{"id":"p3ct9vTDKLqewcHrq3SF","title":"Initializing the SDK","pathname":"/sdk/getting-started/initialization","siteSpaceId":"sitesp_3Ft3L","icon":"power-off","description":"Initialize OnsideKit, register your callback URL scheme, and forward incoming URLs so the app-to-app login flow can complete.","breadcrumbs":[{"label":"Onside SDK","icon":"screwdriver-wrench"},{"label":"Getting Started"}]},{"id":"IDqAGYlWbxSmIjHh88J7","title":"Authentication & User Account","pathname":"/sdk/core-concepts/authentication","siteSpaceId":"sitesp_3Ft3L","icon":"user-group","description":"How OnsideKit handles authentication: explicit and on-demand login, the two login flows, reading session state, and logging out.","breadcrumbs":[{"label":"Onside SDK","icon":"screwdriver-wrench"},{"label":"Core Concepts"}]},{"id":"6AhIQCbDT0KvwTQKlPWC","title":"The Payment Queue & Transactions","pathname":"/sdk/core-concepts/payment-queue","siteSpaceId":"sitesp_3Ft3L","icon":"list-ol","description":"How the OnsidePaymentQueue processes transactions, why a transaction observer is required, the transaction lifecycle, and why finishing transactions is mandatory.","breadcrumbs":[{"label":"Onside SDK","icon":"screwdriver-wrench"},{"label":"Core Concepts"}]},{"id":"g4WVJzJ0ojOQWAJg5LJa","title":"Threading & Object Lifetime","pathname":"/sdk/core-concepts/threading-and-retention","siteSpaceId":"sitesp_3Ft3L","icon":"timeline","description":"OnsideKit's main-actor threading model and the lifetime rules for request objects, observers, and delegates.","breadcrumbs":[{"label":"Onside SDK","icon":"screwdriver-wrench"},{"label":"Core Concepts"}]},{"id":"c1zXVakY1NYA1etwIIJj","title":"Fetching Products","pathname":"/sdk/products-and-subscriptions/fetching-products","siteSpaceId":"sitesp_3Ft3L","icon":"cubes-stacked","description":"Fetch your product catalog from Onside with a products request, read product details, and handle errors.","breadcrumbs":[{"label":"Onside SDK","icon":"screwdriver-wrench"},{"label":"Products & Subscriptions"}]},{"id":"fK48DGOKXzpUqAbWtkuw","title":"Subscriptions","pathname":"/sdk/products-and-subscriptions/subscriptions","siteSpaceId":"sitesp_3Ft3L","icon":"repeat","description":"Work with auto-renewable subscriptions in OnsideKit: detect them, read the billing period, then purchase, restore, and validate them like any other product.","breadcrumbs":[{"label":"Onside SDK","icon":"screwdriver-wrench"},{"label":"Products & Subscriptions"}]},{"id":"dj5qJjCvt6MwLbk49Vri","title":"Regions & Storefronts","pathname":"/sdk/products-and-subscriptions/regions-and-storefronts","siteSpaceId":"sitesp_3Ft3L","icon":"earth-americas","description":"How OnsideKit resolves the user's region and storefront before and after login, and how that affects product availability and pricing.","breadcrumbs":[{"label":"Onside SDK","icon":"screwdriver-wrench"},{"label":"Products & Subscriptions"}]},{"id":"HhnXQpRNBjCAhuOmnFSN","title":"Making a Purchase","pathname":"/sdk/purchasing/making-a-purchase","siteSpaceId":"sitesp_3Ft3L","icon":"cart-shopping","description":"Start a purchase by adding a payment to the queue, process the resulting transaction, and finish it.","breadcrumbs":[{"label":"Onside SDK","icon":"screwdriver-wrench"},{"label":"Purchasing"}]},{"id":"ywjXlambhT5vjV5RFgHO","title":"Restoring Purchases","pathname":"/sdk/purchasing/restoring-purchases","siteSpaceId":"sitesp_3Ft3L","icon":"rotate-left","description":"Let users restore their previous non-consumable and subscription purchases on a new device or after reinstalling.","breadcrumbs":[{"label":"Onside SDK","icon":"screwdriver-wrench"},{"label":"Purchasing"}]},{"id":"UfEqPVpXoucGIgqdnh62","title":"Handling Storefront & Price Changes","pathname":"/sdk/purchasing/storefront-price-changes","siteSpaceId":"sitesp_3Ft3L","icon":"shield-halved","description":"Approve or cancel a queued purchase when the storefront or price changes between enqueue and execution, using OnsidePaymentQueueDelegate.","breadcrumbs":[{"label":"Onside SDK","icon":"screwdriver-wrench"},{"label":"Purchasing"}]},{"id":"q64SA4zwvax4xTTifRw2","title":"Managing Payment Methods","pathname":"/sdk/purchasing/payment-methods","siteSpaceId":"sitesp_3Ft3L","icon":"credit-card-front","description":"Let users manage their saved payment methods (bank cards) with OnsideKit's built-in payment methods manager screen.","breadcrumbs":[{"label":"Onside SDK","icon":"screwdriver-wrench"},{"label":"Purchasing"}]},{"id":"d68KNbPlPOh4ZwOy2bDc","title":"Apple Pay","pathname":"/sdk/purchasing/apple-pay","siteSpaceId":"sitesp_3Ft3L","icon":"apple-pay","description":"Set up Apple Pay in OnsideKit using a Merchant ID, an Apple-generated certificate, and your app's Apple Pay capability.","breadcrumbs":[{"label":"Onside SDK","icon":"screwdriver-wrench"},{"label":"Purchasing"}]},{"id":"iVzvEIrqoAnsJZCNtLpq","title":"Overview","pathname":"/sdk/purchase-validation/purchase-validation","siteSpaceId":"sitesp_3Ft3L","icon":"clipboard-check","description":"Validate purchases server-side: obtain a signed transaction history on the client and verify it against the Onside Merchant API.","breadcrumbs":[{"label":"Onside SDK","icon":"screwdriver-wrench"},{"label":"Purchase Validation"}]},{"id":"swfTjbwgCfZc3sH0dPZS","title":"Signed In-App Purchase History","pathname":"/sdk/purchase-validation/signed-in-apps-history","siteSpaceId":"sitesp_3Ft3L","icon":"file-signature","description":"Download a signed (JWS) in-app purchase history on the client using makeSignedInAppsHistoryRequest().","breadcrumbs":[{"label":"Onside SDK","icon":"screwdriver-wrench"},{"label":"Purchase Validation"}]},{"id":"pGmdJ3q3wtDVc3r3Fb6T","title":"Backend Validation & Merchant API","pathname":"/sdk/purchase-validation/merchant-api","siteSpaceId":"sitesp_3Ft3L","icon":"server","description":"Authenticate to the Onside Merchant API and validate transactions from your own backend.","breadcrumbs":[{"label":"Onside SDK","icon":"screwdriver-wrench"},{"label":"Purchase Validation"}]},{"id":"10094670e6a1adf1596232283913791301b08946","title":"Merchant API","pathname":"/sdk/purchase-validation/merchant-api/merchant-api","siteSpaceId":"sitesp_3Ft3L","description":"","breadcrumbs":[{"label":"Onside SDK","icon":"screwdriver-wrench"},{"label":"Purchase Validation"},{"label":"Backend Validation & Merchant API","icon":"server"}]},{"id":"0ac15994ba4644a79b241d5e8e75cab466504dcb","title":"Models","pathname":"/sdk/purchase-validation/merchant-api/models","siteSpaceId":"sitesp_3Ft3L","breadcrumbs":[{"label":"Onside SDK","icon":"screwdriver-wrench"},{"label":"Purchase Validation"},{"label":"Backend Validation & Merchant API","icon":"server"}]},{"id":"5oGGH6dyxvl0lcEMuSqx","title":"The Onside Delegate","pathname":"/sdk/customization/delegate","siteSpaceId":"sitesp_3Ft3L","icon":"delicious","description":"Customize OnsideKit with OnsideDelegate — host window scene, per-screen theme override, login routing, and a pre-login region hint.","breadcrumbs":[{"label":"Onside SDK","icon":"screwdriver-wrench"},{"label":"Customization"}]},{"id":"kw3vekVfzad0vX2uY39f","title":"Appearance & Theming","pathname":"/sdk/customization/appearance","siteSpaceId":"sitesp_3Ft3L","icon":"palette","description":"Apply a consistent global theme to all screens presented by OnsideKit using OnsideAppearance.","breadcrumbs":[{"label":"Onside SDK","icon":"screwdriver-wrench"},{"label":"Customization"}]},{"id":"CTU1ZKPvzowOnIDPO1rq","title":"Attribution","pathname":"/sdk/attribution-and-analytics/attribution","siteSpaceId":"sitesp_3Ft3L","icon":"link","description":"Retrieve install attribution metadata from OnsideKit, including the referring browser URL tied to a prior web session.","breadcrumbs":[{"label":"Onside SDK","icon":"screwdriver-wrench"},{"label":"Attribution & Analytics"}]},{"id":"hwXMpbVJlmfOrR46RUTt","title":"Building funnels with event tracking","pathname":"/sdk/attribution-and-analytics/building-funnels-with-event-tracking","siteSpaceId":"sitesp_3Ft3L","description":"Track user actions with Onside.track and build funnels over these events.","breadcrumbs":[{"label":"Onside SDK","icon":"screwdriver-wrench"},{"label":"Attribution & Analytics"}]},{"id":"ldKWj48OfiubJHH4gj3s","title":"JS ↔ Native Bridge","pathname":"/sdk/integrations/js-bridge","siteSpaceId":"sitesp_3Ft3L","icon":"square-js","description":"Use the Onside JS Bridge to call OnsideKit from JavaScript in a `WKWebView`. Covers setup, `window.onside` APIs, callbacks, transactions, and typed errors.","breadcrumbs":[{"label":"Onside SDK","icon":"screwdriver-wrench"},{"label":"Integrations"}]},{"id":"xWvD7yKyP6hvxoUOZOHA","title":"Unity","pathname":"/sdk/integrations/unity","siteSpaceId":"sitesp_3Ft3L","icon":"unity","description":"Integrate OnsideKit into a Unity game targeting iOS with the OnsideKit Unity package — a C# wrapper over the native SDK.","breadcrumbs":[{"label":"Onside SDK","icon":"screwdriver-wrench"},{"label":"Integrations"}]},{"id":"8NtQfGGho0czqR4lu6Le","title":"Local Testing with a .storekit File","pathname":"/sdk/advanced-and-tooling/local-testing","siteSpaceId":"sitesp_3Ft3L","icon":"flask","description":"Develop and QA the purchase and restore flows offline with a bundled StoreKit configuration file, without a backend or a real account.","breadcrumbs":[{"label":"Onside SDK","icon":"screwdriver-wrench"},{"label":"Advanced & Tooling"}]},{"id":"fWGx6Q3xqWTP103Vgryj","title":"Debugging & installationId","pathname":"/sdk/advanced-and-tooling/debugging","siteSpaceId":"sitesp_3Ft3L","icon":"bug","description":"Diagnostics for OnsideKit: the installationId publisher, SDK console logging, and the SSL-pinning debug switch.","breadcrumbs":[{"label":"Onside SDK","icon":"screwdriver-wrench"},{"label":"Advanced & Tooling"}]},{"id":"meYhMgRNvcgdjwx7gzru","title":"OnsideKit vs OnsideKitLite","pathname":"/sdk/advanced-and-tooling/onsidekit-lite","siteSpaceId":"sitesp_3Ft3L","icon":"feather","description":"OnsideKitLite is the SDK without the PassKit dependency (no Apple Pay), for apps that cannot include PassKit.","breadcrumbs":[{"label":"Onside SDK","icon":"screwdriver-wrench"},{"label":"Advanced & Tooling"}]},{"id":"tsjvj9J9AnoKbO9Q4tUS","title":"Migrating from StoreKit","pathname":"/sdk/reference/migrating-from-storekit","siteSpaceId":"sitesp_3Ft3L","icon":"arrow-right-arrow-left","description":"Map StoreKit types and patterns to their OnsideKit equivalents.","breadcrumbs":[{"label":"Onside SDK","icon":"screwdriver-wrench"},{"label":"Reference"}]},{"id":"T4XDOSoHc7OoJfP23KaJ","title":"Models","pathname":"/sdk/reference/models","siteSpaceId":"sitesp_3Ft3L","icon":"cube","description":"Reference for OnsideKit's public value types: transactions, payments, products, prices and periods.","breadcrumbs":[{"label":"Onside SDK","icon":"screwdriver-wrench"},{"label":"Reference"}]},{"id":"6Fm8xD0WpaJjCCOOxVrR","title":"Error Reference","pathname":"/sdk/reference/errors","siteSpaceId":"sitesp_3Ft3L","icon":"triangle-exclamation","description":"Every OnsideKit error type, its cases, what causes them, and how to handle them.","breadcrumbs":[{"label":"Onside SDK","icon":"screwdriver-wrench"},{"label":"Reference"}]},{"id":"FEYwnKwp7HwpJlL8Jpo0","title":"Example App","pathname":"/sdk/reference/example-app","siteSpaceId":"sitesp_3Ft3L","icon":"vials","description":"A sample app showcasing OnsideKit features: login, fetching products, making purchases, and restoring purchases — as a reference implementation.","breadcrumbs":[{"label":"Onside SDK","icon":"screwdriver-wrench"},{"label":"Reference"}]},{"id":"O0zALGXftf25M97xSdrT","title":"Welcome to the Onside API","pathname":"/api","siteSpaceId":"sitesp_ofaiq","icon":"hand-wave","description":"An introduction to the Onside API, covering authentication, key concepts, and where to find detailed endpoint references.","breadcrumbs":[{"label":"Onside API","icon":"gear-code"}]},{"id":"PdE7XFbB7aSu8QoS0b2q","title":"Transactions Reporting API","pathname":"/api/transactions-reporting-api","siteSpaceId":"sitesp_ofaiq","icon":"money-bill-transfer","description":"Transactions Reporting API offers our merchant clients increased flexibility in managing their in-app payments.","breadcrumbs":[{"label":"Onside API","icon":"gear-code"}]},{"id":"4f3e0b235cdb391e67124ef35544ee22b78bda10","title":"Merchant::reports::transaction","pathname":"/api/transactions-reporting-api/merchant-reports-transaction","siteSpaceId":"sitesp_ofaiq","description":"","breadcrumbs":[{"label":"Onside API","icon":"gear-code"},{"label":"Transactions Reporting API","icon":"money-bill-transfer"}]},{"id":"54eb16bc93d45b3a9ded772066a4f7c025a55938","title":"Models","pathname":"/api/transactions-reporting-api/models","siteSpaceId":"sitesp_ofaiq","breadcrumbs":[{"label":"Onside API","icon":"gear-code"},{"label":"Transactions Reporting API","icon":"money-bill-transfer"}]},{"id":"WYvsXp1SDTLVz1jrrkDu","title":"Onside Attribution","pathname":"/api/onside-attribution","siteSpaceId":"sitesp_ofaiq","icon":"rectangle-ad","description":"This document outlines the two key parts of the Onside attribution system: client-side tracking and server-side webhooks.","breadcrumbs":[{"label":"Onside API","icon":"gear-code"}]},{"id":"3flYLxCZt0JSjZiKLyNS","title":"Installation and Attribution","pathname":"/api/onside-attribution/installation-and-attribution","siteSpaceId":"sitesp_ofaiq","description":"This document describes the Onside API endpoint for retrieving app installation and attribution data. It is intended for use by apps and SDKs upon their first launch.","breadcrumbs":[{"label":"Onside API","icon":"gear-code"},{"label":"Onside Attribution","icon":"rectangle-ad"}]},{"id":"lOFvREgyJzeVOkqMav86","title":"Server-to-server attribution events","pathname":"/api/onside-attribution/server-to-server-attribution-events","siteSpaceId":"sitesp_ofaiq","description":"This page describes the server-to-server API for submitting attribution events.","breadcrumbs":[{"label":"Onside API","icon":"gear-code"},{"label":"Onside Attribution","icon":"rectangle-ad"}]}]}