I found a workaround by using the js-interop library. Just use proxies:
import 'package:js/js.dart' as js;
// ...
_rpc = new js.Proxy(js.context.webkitRTCPeerConnection, js.map(iceServers));
// ...
var iceCandidate = new js.Proxy(js.context.RTCIceCandidate,
js.context.JSON.parse(/*your icecandidate string*/)
);
_rpc.addIceCandidate(iceCandidate);