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.


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.