init method
Future<bool>
init(])
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;
}