SDK integration

Lightweight libraries for integrating web2wave features into native and cross-platform mobile applications. Available across Swift, Kotlin, Java, Flutter, React Native, and Unity.

🤖

Integrate with an AI coding agent — Cursor, Claude Code, Codex, Windsurf and others.

Open your mobile app project in the agent, paste the prompt below, and answer its questions. The agent reads the web2wave mobile integration playbook, detects your subscription provider and attribution tool, and does the integration step by step.

You are integrating web2wave into this mobile app.

1. Read the web2wave mobile integration playbook and follow it end to end:
   https://raw.githubusercontent.com/web2wave/integration-skills/main/docs/web2wave-mobile-integration-playbook.md
   (Docs index for agents: https://docs.web2wave.com/llms.txt)

2. First inspect this project: the platform (iOS, Android, Flutter, React Native, Unity),
   the subscription provider (RevenueCat, Adapty, Qonversion, Apphud, Superwall) and the
   attribution tool (AppsFlyer, Adjust, Branch). Show me what you found and ask me to confirm.

3. Ask me every question the playbook lists, in its order. Do not guess settings or secrets.
   Never hardcode API keys: ask me for my web2wave API key and keep it in config / env.

4. Implement only the branch we agreed on. Use the web2wave SDK for this platform and take
   code samples from the documentation pages the playbook links to.

5. At the end, list the web2wave project settings I still have to fill in, and run or
   describe the acceptance tests from the playbook.

Where to paste it: the chat or agent panel in Cursor and Windsurf, the terminal session in Claude Code and Codex. You can also save the playbook as a project skill or instructions file and keep the prompt short.


The web2wave Mobile SDK helps you synchronize data between your web funnel and mobile application without building the direct integration from raw API calls.

The SDK is a lightweight wrapper around our API. It helps you avoid bugs caused by incorrect parameter passing, misunderstandings of platform logic, and manual setup work. It helps your integration follow platform best practices and can reduce setup time from several days to a few hours by providing ready-made methods.

📘

Installing the SDK is not mandatory for launch. You can choose either direct HTTP requests to our API or the SDK if you prefer not to add additional dependencies to your project.


General flow

Mandatory steps

  1. Install the package
    Add the SDK through your stack's package manager: Gradle, SPM, pub.dev, npm, or Unity Package Manager.

  2. Initialize the SDK
    Call initialize(apiKey) or initWith(apiKey) on app launch to set your API key. Do this once before any other SDK calls.

  3. Get user_id
    Choose an attribution path:

Optional: Additional steps

  1. Link third-party profiles
    If you use Adapty, RevenueCat, or Qonversion, pass your paywall system's profileID to web2wave through setAdaptyProfileID, setRevenuecatProfileID, or setQonversionProfileID. This associates the user across systems.

  2. Check subscription status
    Call hasActiveSubscription(userID) and show the appropriate screen based on the result: locked content or a paywall.

  3. Open a web page
    To display a quiz or landing page inside the app, use showWebView or openWebPage, passing the URL and a listener to handle close events.

  4. Manage subscriptions
    Handle cancellation, refund, or re-charge through cancelSubscription, refundSubscription, and chargeUser with the corresponding Stripe, Paddle, or PayPal identifiers.

Key features

  • Subscription status retrieval
  • Active subscription check
  • User properties management
  • web2wave deferred deeplinks (identify()) — MMP-free alternative to AppsFlyer / Adjust / Branch
  • Third-party profile binding (Adapty, RevenueCat, Qonversion)
  • External subscription cancellation and refund (Stripe, Paddle, PayPal)
  • User charge via saved payment method
  • In-app web page, quiz, or landing page display
  • Web page event handling

Available SDKs

Repository: web2wave/web2wave_swift

A Swift Package Manager (SPM) library designed for UIKit-based iOS apps. SwiftUI apps can use the SDK, but WebView methods require a UIViewControllerRepresentable wrapper because they are UIKit-based.

Requirements

  • iOS 13.0+
  • macOS 10.15+
  • Swift 5.5+
  • Xcode 13.0+

Important: Includes identify() — resolve user_id without an MMP via web2wave deferred deeplinks.