安装 Flutter SDK
您可以在 Flutter 项目或独立运行的 Dart 项目中使用适用于 Flutter 的 Atlas Device SDK。 本指南提供了在这两类项目中安装 SDK 的说明。
先决条件
要开始使用适用于 Flutter 的 Atlas Device SDK,您需要根据要开发的应用类型安装以下内容:
对于 Flutter 或Dart应用,请在开发环境中安装 Flutter with Dart 。 Flutter 安装包括Dart。 要学习;了解操作方法,请参阅官方 Flutter 安装指南。
对于独立运行的 Dart 应用程序,您可以在没有 Flutter 的开发环境中安装 Dart。 要了解如何操作,请参阅官方 Dart 安装指南。
最新版本的 Flutter SDK 要求的最低版本如下:
Flutter 版本3.19.0或更高版本。
Dart 版本3.3.0或更高版本。
支持的平台
Flutter SDK 支持以下平台:
iOS 版
Android
macOS
在64位架构上运行的 Windows
在 64 位架构上运行的 Linux
重要
不支持的平台
Flutter SDK不支持以下平台:
Web
在 ARM 64或32位架构上运行的 Windows
在 ARM64 或 32 位架构上运行的 Linux
安装 SDK
适用于 Flutter 的 Atlas Device SDK 有两个软件包可供安装,具体取决于您开发的是 Flutter 还是 Dart 独立运行应用程序:
realm
:用于 Flutter 应用程序的 Flutter SDK 包。realm_dart
:用于 Dart 应用程序的独立 Dart SDK 包,例如 CLI 应用程序或在服务器环境中运行 Dart。
除非另有说明,否则独立运行的 Dart 包的用法与 Flutter 包相同。
提示
Atlas Device SDK 和 Realm
Flutter SDK 使用 Realm Core 数据库实现设备数据持久化。 安装 Flutter SDK 时,包名称会反映 Realm 命名方式。
将 SDK 添加到项目
要将 Flutter SDK 添加到项目,请运行以下命令:
flutter pub add realm
这会下载 Realm 包,并将其添加到您的项目中。
在pubspec.yaml
文件中,您应该看到:
dependencies: realm: <latest_version>
注意
在 macOS 应用中使用联网功能
如果您在 macOS App Sandbox 中使用 Flutter SDK 进行开发并需要网络访问权限,则必须在应用程序中启用网络授权。 默认情况下,由于 macOS 内置的安全设置,不允许网络请求。
要在 macOS 应用中使用联网,您必须更改应用的 macOS 网络授权。 要了解如何操作,请参阅将Realm 与 macOS App Sandbox 结合使用。
要将 SDK 添加到项目,请运行以下命令:
dart pub add realm_dart
这会下载 realm_dart 包,并将其添加到您的项目中。
在pubspec.yaml
文件中,您应该看到:
dependencies: realm_dart: <latest_version>
添加包后,运行以下命令进行安装:
dart run realm_dart install
此操作会将所需的本机二进制文件下载并复制到应用程序目录中。
更新软件包版本
要更改项目中 SDK 的版本,请执行以下步骤,具体取决于您使用的是realm
还是realm_dart
包:
重新生成对象模型
dart run realm generate
dart run realm_dart generate
重要
Flutter SDK v 2.0.0 对生成文件的重大更改
Flutter SDK 版本2.0.0 引入了对构建器的更新,这会影响文件的生成方式。 在 v 2.0.0及更高版本中,所有生成的文件都使用.realm.dart
命名规范,而不是.g.dart
。
对于现有应用程序来说,这是一项破坏性变更 (breaking change)。 有关如何升级现有应用从早期 SDK 版本升级到2.0.0或更高版本的信息,请参阅升级到Flutter SDK v 2.0.0 。
故障排除
如果您在应用程序中使用更新的 SDK 版本时遇到问题,可以删除 SDK 创建的.realm
数据库文件,然后重新启动应用程序。 请注意,删除.realm
文件也会删除该客户端数据库中存储的所有数据。
有关更多信息,请参阅删除 Realm 文件 - Flutter SDK。
Apple 隐私清单
2.2.0版本新增。
Apple 要求任何使用所需原因 API的应用或第三方 SDK 提供隐私清单。 清单包含有关应用程序或 SDK 的数据收集和使用实践的详细信息,在向 Apple App Store 提交新应用程序或应用程序更新时必须包含在内。 有关这些要求的更多详细信息,请参阅 即将发布的第三方 SDK 要求 在 Apple Developer 网站上。
从 Flutter SDK 版本2.2.0开始,SDK 附带适用于iOS
和macOS
环境的隐私清单,该清单包含在realm
包中。 两个隐私清单都包含 Apple 要求披露的 API 以及使用这些 API 的原因。
您可以在 SDK 包中或直接在 realm-dart
Github存储库中查看这些隐私清单:
iOS
: https://github.com/realm/realm-dart/blob/main/packages/realm/ios/Resources/PrivacyInfo.xcprivacymacOS
: https ://github.com/realm/realm-dart/blob/main/packages/realm/macos/Resources/PrivacyInfo.xcprivacy
Flutter SDK不会:
在 App Store 的构建中包含分析代码。
代表 Atlas 自身登录 Atlas。
重要
Atlas App Services可能需要额外披露信息
Flutter SDK隐私清单不包括针对Atlas App Services API 的披露。
如果您的应用使用任何 Atlas App Services 功能(例如用户身份验证或 Device Sync),您可能需要提供额外的披露信息,详细说明使用这些 API 时的数据收集和使用实践。 例如,如果您的应用将应用客户端初始化为:
有关更多信息,请参阅 Apple 的 隐私清单文件 文档。