askonu_flutter

Install the complete AskOnu administrator application inside a Flutter dashboard. Approved administrators can manage Product maps, data connections, investigations, reports, team access, and settings without a second AskOnu login.

Supported platforms

Platform Support
Flutter Web Supported through a restricted iframe
Android Supported on Android SDK 24+
iOS Supported on iOS 13+
macOS Supported on macOS 10.15+
Windows and Linux Not currently supported

Install

flutter pub add askonu_flutter

Add the module

import 'package:askonu_flutter/askonu_flutter.dart';

AskOnuModule(
  agentToken: 'YOUR_LIVE_AGENT_TOKEN',
  subject: signedInUser.id,
  getContext: () async {
    final response = await yourAuthenticatedBackend.post('/askonu-context');
    return response.data['token'] as String;
  },
)

Add this widget to the route registered for the AskOnu item in the host dashboard sidebar. AskOnu under Manage is the recommended default placement.

Required backend endpoint

getContext must call the host application's authenticated backend. That backend verifies the current administrator, then calls AskOnu's POST /api/v1/host-context with the server-only ASKONU_SERVICE_KEY, the Live agent token, and the authenticated administrator email.

AskOnu issues a short-lived context token only when the normalized email is on the module administrator whitelist. The first installer is added automatically. Never put ASKONU_SERVICE_KEY in Flutter code, build arguments, application assets, or browser storage.

The package refreshes context every four minutes and when a native application resumes or the browser tab becomes visible. An empty, expired, altered, or unauthorized context fails closed.

Complete guide

Read the Flutter installation guide for backend examples, routing, sidebar placement, platform requirements, themes, languages, testing, troubleshooting, and upgrades.

Report package issues in the AskOnu repository.

Libraries

askonu_flutter
Secure Flutter installation of the complete AskOnu administrator module.