lifecycleHooksListener static method
Future<void> Function()
lifecycleHooksListener(
{ - dynamic onAuth(
- String appId
)?,
- dynamic onLaunch(
- String appId
)?,
- dynamic onResume(
- String appId
)?,
- dynamic onPause(
- String appId
)?,
- dynamic onClose(
- String appId
)?,
- dynamic onError(
- String appId,
- String? error
)?,
- dynamic onUserInteraction(
- String appId
)?,
})
Implementation
static Future<void> Function() lifecycleHooksListener(
{Function(String appId)? onAuth,
Function(String appId)? onLaunch,
Function(String appId)? onResume,
Function(String appId)? onPause,
Function(String appId)? onClose,
Function(String appId, String? error)? onError,
Function(String appId)? onUserInteraction}) {
StreamSubscription<LifecycleHook> subscription = _lifecycleEventChannel
.receiveBroadcastStream()
.map((event) => LifecycleHook.fromJson(event))
.listen((hook) {
switch (hook.lifecycle) {
case MiniappLifecycleHooks.OnAuth:
onAuth?.call(hook.appId);
break;
case MiniappLifecycleHooks.OnLaunch:
onLaunch?.call(hook.appId);
break;
case MiniappLifecycleHooks.OnResume:
onResume?.call(hook.appId);
break;
case MiniappLifecycleHooks.OnPause:
onPause?.call(hook.appId);
break;
case MiniappLifecycleHooks.OnClose:
onClose?.call(hook.appId);
break;
case MiniappLifecycleHooks.OnError:
onError?.call(hook.appId, hook.error);
break;
case MiniappLifecycleHooks.OnUserInteraction:
onUserInteraction?.call(hook.appId);
break;
}
});
return () => subscription.cancel();
}