adforus_cubex_adapter 1.4.0
adforus_cubex_adapter: ^1.4.0 copied to clipboard
CubeX Flutter Adapter.
example/lib/main.dart
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
const MethodChannel _channel = MethodChannel('adforus_cubex_adapter');
void main() {
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({super.key});
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
String _platformVersion = 'unknown';
String _cubeXStatus = 'unknown';
@override
void initState() {
super.initState();
_probePlugin();
}
Future<void> _probePlugin() async {
String platformVersion;
String cubeXStatus;
try {
platformVersion =
await _channel.invokeMethod<String>('getPlatformVersion') ?? 'null';
} on PlatformException catch (e) {
platformVersion = 'failed: ${e.message}';
}
// iOS only: confirms the CubeX SDK is linked into the running app. The Android
// plugin does not implement this call and answers notImplemented.
try {
final bool available =
await _channel.invokeMethod<bool>('isCubeXAvailable') ?? false;
cubeXStatus = available ? 'linked' : 'not linked';
} on MissingPluginException {
cubeXStatus = 'not implemented on this platform';
} on PlatformException catch (e) {
cubeXStatus = 'failed: ${e.message}';
}
debugPrint('PROBE platformVersion=$platformVersion');
debugPrint('PROBE cubeX=$cubeXStatus');
if (!mounted) return;
setState(() {
_platformVersion = platformVersion;
_cubeXStatus = cubeXStatus;
});
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: const Text('CubeX adapter')),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text('Platform: $_platformVersion'),
Text('CubeX SDK: $_cubeXStatus'),
],
),
),
),
);
}
}