Passing custom object through method channel flutter Passing custom object through method channel flutter flutter flutter

Passing custom object through method channel flutter


You can pass data in hash map.

In Android:

result.success(hashMapOf(    "CREDITS" to user.credits,    "EMAIL" to user.email,    ...))

In iOS:

let data: [String: Any] = [...]result(data)

In Flutter:

final result = await platform.invokeMethod<Map<String, dynamic>>('loginUser', ...);final credits = result['CREDITS'] as String;final email = result['EMAIL'] as String;...


you can use invokeMapMethod which is an implementation of invokeMethod that can return typed maps.like this :

final result = await platform.invokeMapMethod('loginUser', ...);

or you can pass json object as string like that :

in android

platform.success(    "{\"CREDITS\":\"${user.credits}\",\"EMAIL\":\"${user.email}\",\"LAST_ACTIVE\":\"${user.lastActiveAt}\"}")

in flutter

var result = await methodChannel.invokeMethod('loginUser' , '');var json = json.decode(result);var credit = json['CREDITS'];var email = json['EMAIL'];var lastActive = json['LAST_ACTIVE'];