init method

  1. @override
Future<bool> init(
  1. dynamic backgroundMessageHandler(
    1. Map
    )?, [
  2. String? notificationChannel = "messages",
  3. bool loggerEnabled = false,
  4. bool askPermissions = true,
  5. bool serverLoggerEnabled = false,
  6. 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;
}