Flutter项目的Urban Airship整合?

时间:2018-05-24 18:45:06

标签: flutter urbanairship.com

我们的团队刚刚开始比较Xamarin和Flutter。从一开始,Flutter似乎更新(不那么战斗硬化),但对hot-reloading and dual native output等细节更加性感。然而,在战斗强硬的战线上,Xamarin与Urban Airship的整合是well-documented。这是我们项目的一个难点,因为Urban Airship是一项要求,因此我们倾向于Xamarin。

但是为了给Flutter带来一个公平的动摇,我想我会问:如何将Urban Airship融入Flutter项目? (显然需要同时使用Android和iOS。)

到目前为止,我的google-fu并不乐观。

1 个答案:

答案 0 :(得分:0)

Flutter与本地平台特定库交互的解决方案是plugins。这是一个可重用的包,主要是Dart代码,一些swift或objC代码,一些java或kotlin代码,一个示例/测试flutter应用程序和一些单元测试。 Dart代码定义了一个公共接口,其他语言代码提供了对各个平台的绑定,在您的情况下,还提供了供应商提供的库。 IDE将为您创建一个完整的插件工作模板,并且有很多示例可以从酒吧获取想法。

在实现ios本机代码时使用xcode,在实现android特定代码时使用android studio(或IDEA)。幸运的是,由于您只是编写了一些绑定,因此本机代码通常很薄。

通常Dart代码调用本机方法,但反之亦然。本机代码也可以生成事件。 Flutter负责转换Dart参数并将值返回原生值,并支持简单类型,列表,地图等。

团队中熟悉两个平台上的供应商库的人应该能够定义常见的Dart api(您使用的功能的子集)并实现本机绑定。该插件处理其余部分。

相关问题