init method
Future<bool>
init(
- dynamic backgroundMessageHandler()?, [
- String? notificationChannel = "messages",
- bool loggerEnabled = false,
- bool askPermissions = true,
- bool serverLoggerEnabled = false,
- String? applicationId,
override
Implementation
@override
Future<bool> init(Function(Map<dynamic, dynamic>)? backgroundMessageHandler,
[String? notificationChannel = "messages",
bool loggerEnabled = false,
bool askPermissions = true,
bool serverLoggerEnabled = false,
String? applicationId]) async {
messageCallback = backgroundMessageHandler;
methodChannel.setMethodCallHandler(_handle);
var result = await methodChannel.invokeMethod<String>('init', {
"log": loggerEnabled,
"serverlog": loggerEnabled,
if (applicationId != null && applicationId.isNotEmpty)
"applicationId": applicationId
});
if (result != "") {
if (askPermissions) {
await methodChannel
.invokeMethod<bool>('requestNotificationPermissions');
}
FlutterPushedMessagingPlatform.pushToken = result;
FlutterPushedMessagingPlatform.status = ServiceStatus.disconnected;
List<ConnectivityResult> lastConnectivity = [];
Connectivity().onConnectivityChanged.listen((result) async {
await addLog("Connectivity changed: $result");
if (result.contains(ConnectivityResult.wifi) &&
!lastConnectivity.contains(ConnectivityResult.wifi)) {
webChannel?.sink.close();
}
if (result.contains(ConnectivityResult.none)) {
connected = false;
} else {
connected = true;
}
lastConnectivity = result;
connect();
});
return true;
}
return false;
}