CocoaPods trunk is moving to be read-only. Read more on the blog, there are 3 months to go.

RapidoReach 1.0.9

RapidoReach 1.0.9

Maintained by Vikash Kumar.



  • By
  • RapidoReach

RapidoReach iOS SDK

Lightweight rewarded survey offerwall SDK for iOS. Integrate to monetise your users with minimal effort and a native WebView experience.

Installation (CocoaPods)

platform :ios, '12.0'
use_frameworks!

target 'YourApp' do
  pod 'RapidoReach', '~> 1.0.3'
end

Run pod install, then open the generated workspace.

Quick start

import RapidoReach

@main
class AppDelegate: UIResponder, UIApplicationDelegate, RapidoReachDelegate {
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        // Configure once on app start
        RapidoReach.shared.configure(apiKey: "<YOUR_API_KEY>", user: "<YOUR_APP_USER_ID>")
        RapidoReach.shared.delegate = self
        RapidoReach.shared.fetchAppUserID() // registers user + fetches rewards
        return true
    }

    func showOfferwall(from controller: UIViewController) {
        RapidoReach.shared.presentOfferwall(from: controller, title: "Earn rewards")
    }

    // MARK: - RapidoReachDelegate (all methods have default empty implementations)
    func didGetRewards(_ reward: RapidoReachReward) { print("Total rewards: \(reward.total_rewards)") }
    func didSurveyAvailable(_ available: Bool) { print("Surveys available: \(available)") }
    func didOpenRewardCenter() { print("Offerwall opened") }
    func didClosedRewardCenter() { print("Offerwall closed") }
    func didGetError(_ error: RapidoReachError) { print("RapidoReach error: \(error.localizedDescription)") }
}

Optional configuration

  • RapidoReach.shared.updateBackend(baseURL: URL(string: "...")!) to point to staging if needed.
  • Request ATT consent (RapidoReachDeviceInfo().requestTrackingPermission) before accessing IDFA.

Troubleshooting

  • Call configure(apiKey:user:) before SDK methods.
  • If no presenter is available, pass one explicitly to presentOfferwall(from:).

CocoaPods publishing (token + workflow)

  • Register with trunk (one-time) and verify via email:
    pod trunk register [email protected] 'Vikash Kumar' --description='Rapidoreach iOS pod'
    
    Click the verification link from [email protected].
  • If the token file is not created automatically, write it manually:
    mkdir -p ~/.cocoapods/trunk
    cat > ~/.cocoapods/trunk/config.json <<'EOF'
    {
      "email": "[email protected]",
      "token": "<YOUR_TOKEN_HERE>",
      "created_at": "<UTC_TIMESTAMP>",
      "verified": true
    }
    EOF
  • Confirm the session and token:
    pod trunk me
    cat ~/.cocoapods/trunk/config.json
    
  • CI publishing: set secret COCOAPODS_TRUNK_TOKEN to the token value. Use the Publish CocoaPod workflow (.github/workflows/pod-publish.yml) to lint and push, optionally creating a Git tag/release.