init method

  1. @override
Future<bool> init(
  1. dynamic backgroundMessageHandler(
    1. Map
    ), [
  2. String title = "Pushed",
  3. String body = "The service active"
])
override

Implementation

@override
Future<bool> init(Function(Map<dynamic, dynamic>) backgroundMessageHandler,
    [String title = "Pushed", String body = "The service active"]) async {
  methodChannel.setMethodCallHandler(_handle);
  var token = await methodChannel.invokeMethod<String>('getToken');
  var newToken = await getNewToken(token ?? "");
  if (token != newToken && newToken != "") {
    token = newToken;
    await methodChannel.invokeMethod<bool>('setToken', {"token": token});
  }
  if (token == "") return false;
  messageCallback = backgroundMessageHandler;
  final CallbackHandle? handle =
      PluginUtilities.getCallbackHandle(backgroundMessageHandler);
  final result = await methodChannel.invokeMethod<dynamic>('init', {
        "backgroundHandle": handle?.toRawHandle(),
        "title": title,
        "body": body
      }) ??
      false;
  if (!result) {
    await methodChannel.invokeMethod<String>('setToken', {"token": ""});
    return false;
  }
  FlutterPushedMessagingPlatform.pushToken = token;
  return true;
}