npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

besitos-react-native-sdk-offerwall

v1.0.2

Published

Besitos Offerwall Mobile SDK for React Native and Expo

Downloads

369

Readme

Besitos Offerwall SDK

License

Cross-platform SDK for launching the Besitos offerwall from Android, iOS, and React Native applications.

Features

  • Native Android and iOS SDKs in the same repo
  • React Native bridge with a single Offerwall.show(...) API
  • Safe parameter validation before launch
  • Optional Combined route via onlyOffers
  • Native WebView-based presentation on both platforms

Requirements

  • Android API 21+
  • iOS 12+
  • React Native 0.73+

Installation

React Native package

npm install besitos-react-native-sdk-offerwall

Android native SDK

Ensure mavenCentral() is available:

dependencyResolutionManagement {
    repositories {
        google()
        mavenCentral()
    }
}

Add the Android dependency:

dependencies {
    implementation("io.github.kashkick:besitos-android-sdk:1.0.0")
}

If you want to consume the Android SDK directly from this repository as a local Gradle module instead, see android/besitos-android-sdk/README.md.

iOS native SDK

Swift Package Manager:

https://github.com/KashKick/besitos-react-native-sdk

CocoaPods:

pod 'Offerwall', :git => 'https://github.com/KashKick/besitos-react-native-sdk.git', :branch => 'main'

Quick Start

React Native

import { Offerwall } from "besitos-react-native-sdk-offerwall";

Offerwall.show({
  partnerId: "your_partner_id",
  userId: "user_123",
});

Open the Combined route:

Offerwall.show({
  partnerId: "your_partner_id",
  userId: "user_123",
  onlyOffers: true,
});

Android

import io.github.kashkick.besitos.android.sdk.offerwall.Offerwall
import io.github.kashkick.besitos.android.sdk.offerwall.config.OfferwallConfig

val config = OfferwallConfig(
    partnerId = "your_partner_id",
    userId = "user_123"
)

Offerwall.show(context = this, config = config)

iOS

import Offerwall

let config = OfferwallConfig(
    partnerId: "your_partner_id",
    userId: "user_123"
)

try? Offerwall.show(from: self, config: config)

Configuration

The shared config shape is:

| Parameter | Type | Required | Description | | :--- | :--- | :---: | :--- | | partnerId | string | ✅ | Partner identifier used in the URL path | | userId | string | ✅ | Unique ID for the current user | | subId | string | ❌ | Optional sub-publisher identifier | | deviceId | string | ❌ | Optional device identifier | | idfa | string | ❌ | Optional advertising identifier | | gdfa | string | ❌ | Optional Google advertising identifier | | info | string | ❌ | Optional custom metadata | | hideHeader | boolean | ❌ | Sends hide_header=1 when true | | hideFooter | boolean | ❌ | Sends hide_footer=1 when true | | onlyOffers | boolean | ❌ | Uses the Combined route instead of the default route |

Route Behavior

The SDK builds one of these routes:

  • Default route: https://wall.besitos.ai/v2/{partnerId}?...
  • Combined route: https://wall.besitos.ai/offers/{partnerId}?...

onlyOffers = true switches to the Combined route.

Validation

The SDK validates:

  • partnerId must be non-empty and contain only letters, numbers, _, or -
  • userId must be non-empty and contain only letters, numbers, _, or -
  • subId, deviceId, idfa, and gdfa use the same character restrictions when provided

React Native throws Error for invalid config before crossing the native bridge.

Platform Notes

License

MIT. See LICENSE.