appboxo_sdk 0.1.16 appboxo_sdk: ^0.1.16 copied to clipboard
A Flutter plugin to integrate the Appboxo for iOS and Android.
import 'package:flutter/material.dart';
import 'package:appboxo_sdk/appboxo_sdk.dart';
void main() => runApp(MyApp());
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
Future<void> Function() subscription;
@override
void dispose() {
subscription();
super.dispose();
}
@override
void initState() {
super.initState();
Appboxo.setConfig("CLIENT_ID", multitaskMode: false);
//'multitaskMode' works only on Android. By default 'true', each miniapp appears as a task in the Recents screen.
Appboxo.customEvents().listen((CustomEvent event) {
if (event.appId == 'app16973') {
Appboxo.hideMiniapps();
Future.delayed(const Duration(milliseconds: 2000), () {
Appboxo.openMiniapp("app16973", "");
event.payload = {"complete": "ok"};
Appboxo.sendEvent(event);
});
}
});
subscription = Appboxo.lifecycleHooksListener(
onLaunch: (appId) {
print(appId);
print('onLaunch');
},
onResume: (appId) {
print(appId);
print('onResume');
},
onPause: (appId) {
print(appId);
print('onPause');
},
onClose: (appId) {
print(appId);
print('onClose');
},
onError: (appId, error) {
print(appId);
print(error);
print('onError');
},
);
}
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
appBar: AppBar(
title: const Text('Appboxo SDK Test'),
),
body: Center(
child: RaisedButton(
onPressed: () {
Appboxo.openMiniapp("app16973", "");
},
padding: const EdgeInsets.all(16),
color: Colors.blue,
child: const Text(
'Run miniapp',
style: const TextStyle(
color: Colors.white,
fontSize: 16,
),
),
),
),
),
);
}
}