Платформенные интеграции во Flutter
Интеграция нативных SDK в Flutter-приложение — классный способ использовать функции и возможности, недоступные во Flutter. Для этого используют Platform Channels, которые позволяют Flutter общаться с нативной частью приложения — отправлять и получать сообщения.
Platform Channels — мостики, которые позволяют запускать нативный код из Flutter-приложения. Стандартный декодер обеспечивает эффективную двоичную сериализацию простых значений типа JSON. Сюда относятся логические значения, числа, строки, массивы байт, а также списки и мапы.
Сперва нужно выбрать тип канала в зависимости от потребностей:
MethodChannel: используют в большинстве случаев, когда вызов метода во Flutter запускает нативный метод. Поддерживает асинхронные вызовы методов.
EventChannel: для передачи потоков данных из нативного кода во Flutter.
BasicMessageChannel: для отправки простых сообщений между Flutter и нативным кодом.
Для интеграции нативных SDK чаще всего используют MethodChannel:
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
class CartPage extends StatelessWidget {
static const MethodChannel _channel = MethodChannel('co.wawand/stripe');
@override
Widget build(BuildContext context) {
return Scaffold(
// Widget...
);
}
}
Подробнее о том, как как работает интеграция нативных SDK для iOS и для Android и с какими особенности платформ вы можете столкнуться, читайте в нашем переводе.