Flutter联邦插件

5
我正在尝试开发一个联合插件,它将包装一个本地SDK(适用于Android和iOS),如此处所述,并且还查看了示例此处url_launcher插件示例,但是,我仍然无法弄清楚一些事情。
在文档中没有创建平台接口包的示例,以及如何在插件的所有平台中使用它(示例文章和url_launcher显示Web插件,但示例项目的iOS和Android都没有使用平台接口包),似乎这些示例已经过时且未更新。
此外,他们解释说,平台包应该在其pubspec.yaml中使用implements定义引用平台接口包,如下所示:
flutter:
plugin:
  implements: hello //this refers to the platform interface package
platforms:
  windows:
    pluginClass: HelloPlugin

但我找不到关于这个的任何例子,以及这个implements如何帮助和platform-plugin如何使用platform-interface-package,就像文档中所解释的那样。

有关此主题的任何好的更新示例或教程吗?


非常晚的回复,但或许可以看看quick_blue,通过一个简单的函数调用startScan。有quick_blue_platform_inteface包,quick_blue,然后选择一个具体的本地实现,比如quick_blue_macos,在示例仓库中有如何调用的示例。 - undefined
@David,谢谢你的评论。我已经查看了他们的存储库,并确实在其中找到了有关在Flutter中编写插件的很好的示例。但是,我没有看到他们的yaml文件中提到使用implement关键字的任何说明。 - undefined
哦,你说得对。抱歉。也许它比文档显示的更加可选。这是一个更常见的包,而且似乎在每个特定平台的pubspec.yaml中都存在implements - undefined
2个回答

0

你应该看一下flutter插件url_launcher和来自flutter团队的其他示例。它极大地帮助我为每个尊重的平台创建插件。

我发现"implements:"不过是一个没有技术效果的指示

文档说:

"联合平台包 平台包使用相同的格式,但包括一个实现条目,指示它是哪个面向应用程序的包的实现。例如,包含Windows实现的hello的hello_windows插件将具有以下flutter:map:"


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接