Skip to main content
How users access your Nudj experience significantly impacts engagement, brand consistency, and technical implementation. This guide covers the three primary access patterns and helps you choose the right approach for your business needs.
Quick Decision: Need seamless brand integration? Use Iframe. Building a mobile app? Use In-App Browser. Want a dedicated engagement portal? Use Standalone Access.

Access Method Comparison

Iframe Embedding

Best for: Web platforms, seamless integrationPros: Consistent branding, native navigation, session continuityCons: CORS considerations, mobile complexity

In-App Browser

Best for: Mobile apps, native experiencePros: Feels native, device feature access, app store complianceCons: Platform differences, state management

Standalone Access

Best for: Dedicated portals, custom domainsPros: Full control, easy implementation, independent scalingCons: Context switching, session handoff

Iframe Embedding

Embed Nudj content directly within your existing web application for seamless user experience.

Implementation Guide

1

Configure Domain & Authentication

Set up your Nudj subdomain and authentication method in the admin panel.
2

Implement Responsive Iframe

Create a responsive iframe that adapts to your page layout:
<iframe 
  src="https://your-company.nudj.cx"
  width="100%"
  height="600"
  frameborder="0"
  scrolling="auto"
  allow="camera; microphone; fullscreen"
  sandbox="allow-same-origin allow-scripts allow-popups allow-forms">
</iframe>

In-App Browser Integration

Integrate Nudj into native mobile apps using web views for a native-feeling experience.
  • iOS (Swift)
  • Android (Kotlin)
import UIKit
import WebKit

class NudjViewController: UIViewController, WKNavigationDelegate {
    var webView: WKWebView!
    
    override func loadView() {
        let webConfiguration = WKWebViewConfiguration()
        webView = WKWebView(frame: .zero, configuration: webConfiguration)
        webView.navigationDelegate = self
        view = webView
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        if let url = URL(string: "https://your-company.nudj.cx") {
            let request = URLRequest(url: url)
            webView.load(request)
        }
    }
}

Standalone Access

Provide users with a dedicated, fully-featured Nudj portal on your custom domain.

Implementation Guide

1

Configure Custom Domain

Set up your custom domain to point to Nudj servers:
# CNAME record pointing to Nudj
your-rewards.company.com  →  your-company.nudj.cx
2

Implement Secure User Handoff

Create a secure transition from your platform to the standalone portal:
async function launchEngagementPortal(userId) {
  const response = await fetch('/api/generate-nudj-token', {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${userAccessToken}`
    },
    body: JSON.stringify({ userId })
  });
  
  const { temporaryToken } = await response.json();
  window.location.href = `https://your-rewards.company.com/auth?token=${temporaryToken}`;
}

Next Steps

I