simple_work_manager

Creator: coderz1093

Last updated:

0 purchases

TODO
Add to Cart

Description:

simple work manager

simple_work_manager #
Simple Work Manager for Android and iOS.
Abstracts #
Simple Work Manager is mapped to Android Work Manager and iOS BGTaskScheduler.
Getting Started #
pubspec.yaml #
Add "simple_work_manager:" into pubspec.yaml.
dependencies:
simple_work_manager:
copied to clipboard
iOS #

Permitted background task scheduler identifier in info.plist in Xcode
Set PermittedBackgroundTaskSchedulerIdentifier as unique string like <[com].[domain].simple_work_manager.process>.
Background modes in Xcode
Check Background processing.
Add code for registration into AppDelegate.swift.

GeneratedPluginRegistrant.register(with: self)
copied to clipboard
Import #
import 'package:simple_work_manager/simple_work_manager.dart';
copied to clipboard
Preparing callback function #
@pragma("vm:entry-point")
void callbackDispatcher() {
sync_func();
// execute background jobs here.
}
copied to clipboard
Defines callback function as top level function. The callback function is called in repetition.
Instantiate SimpleWorkManager() #
_simpleWorkManagerPlugin =
SimpleWorkManager(callbackFunction: callbackDispatcher, callbackFunctionIdentifier: "callbackDispatcher");
copied to clipboard
Specifies callbackFunction defined above. Specifies callbackFunctionIdentifier as arbitrarily non-empty string, typically same as callbackFunction name.
Schedule #
_simpleWorkManagerPlugin.schedule(
AndroidOptions(
requiresNetworkConnectivity: true,
requiresExternalPower: true,
targetPeriodInMinutes: 15),
IOSOptions(
requiresNetworkConnectivity: true,
requiresExternalPower: true,
taskIdentifier: "com.jimdo.uchida001tmhr.simple_work_manager.process"));
copied to clipboard
requiresNetworkConnectivity and requiresExternalPower must be set as following section.
targetPeriodInMinutes specifies minimum interval of background process, minimum value is 15.
taskIdentifier must be same as "Permitted background task scheduler identifier" of Info of Xcode. taskIdentifier must be unique, then must contain your domain identifier.
Options(Constraints(Experimental approach)) #
Simple Work Manager can specify the constraints such that requiresNetworkConnectivity and requiresExternalPower. The behaviors according to these constraints are as following tables:
Android #
                              

◯: callback function will be called in background△: callback function will be called but its interval is long×: callback function wil not be called in background requiresExternalPower


NULL FALSE TRUE

Power Plug in Power Plug off Power Plug in Power Plug off Power Plug in Power Plug off


requiresNetworkConnectivity NULL WiFi ON ◯△◯△◯×


WiFi OFF ◯△◯△◯×


FALSE WiFi ON ◯◯◯◯◯×


WiFi OFF ◯△◯◯◯×


TRUE WiFi ON ◯△◯△◯×


WiFi OFF ××××××


iOS #
                              

◯: callback function will be called in background△: callback function will be called but its interval is long×: callback function wil not be called in background requiresExternalPower


NULL FALSE TRUE

Power Plug in Power Plug off Power Plug in Power Plug off Power Plug in Power Plug off

requiresNetworkConnectivity NULL WiFi ON ◯×◯×××


WiFi OFF ◯×◯×××


FALSE WiFi ON △×◯×××


WiFi OFF ◯×△×◯×


TRUE WiFi ON ◯×◯×◯×


WiFi OFF ××××××


SUGGESTION FOR CONSTRAINTS #
Set requiresExternalPower and requiresNetworkConnectivity to TRUE and plug external power IN to execute background process continuously.
Cancel the schedule #
_simpleWorkManagerPlugin.cancel();
copied to clipboard
CAUTION #
App must not killed to invoke callback function.
In iOS, app must be in background to invoke callback function.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.