开发供脱机使用的应用的最佳做法
本文提供有关如何为配置为离线使用的应用的用户创建最佳体验的建议。
- 如果将画布应用配置为离线使用,则需要优化应用从数据源提取数据的方式。 了解更多: 如何在画布应用中创建最佳的离线用户体验
- 要离线运行,应用最初必须下载所有必要的资产,包括资源和数据,才能独立于网络连接运行。 此过程是在应用首次使用期间发生的一次性设置任务。 此初始下载的速度受下载到设备的数据量的影响,而数据量由脱机配置文件设置和用户在应用环境中可用的数据量决定。 为了获得无缝的初始体验,建议您规划 离线应用的推出。
如何在画布应用中创建最佳的离线用户体验
使用以下建议为特定方案创建快速的用户体验。
场景 | 不推荐的方法 | 建议的方法 |
---|---|---|
在库中显示相关表信息。 | 使用查找提取数据。 | 使用包含相关表的列的视图。 |
使用大量记录场景可筛选的库。 | 从 Dataverse 中加载记录,并将其存储在集合中。 将库的项目设置为筛选的集合。 | 将库的项目直接设置为 Dataverse 筛选的数据。 |
更新多个记录。 | 循环遍历记录并分别对记录进行修补。 | 批量修补包含所有修改的集合。 |
使用 Monitor 诊断 Mobile Offline 画布应用
监视器是一种工具,它通过记录应用运行时发生的所有关键活动,让制作者深入了解应用程序的作用和操作方式。 您可以将 移动应用程序会话连接到 Monitor ,以便更好地诊断和更快地解决问题。
规划离线应用部署
重要
如果您使用的是 自动生成的脱机配置文件 (仅适用于画布应用),并且第一次同步花费了太多时间,则应使用以下最佳实践创建手动脱机配置文件。
分三个阶段开发和推出您的离线应用程序。
第 1 阶段:开发和迭代
在为画布应用 设置了 Mobile Offline 或 为模型驱动应用 设置了 Mobile Offline 之后,就可以开始测试和调整了。 使用 Power Apps 移动设备 或 Field Service Mobile 确定应用在脱机时的行为方式。 对于 Windows,您可以在 Power Apps Microsoft Store 中找到适用于 Windows 的应用程序,该应用程序允许在无需移动设备的情况下进行迭代。
在此阶段,您将添加表并将过滤器应用于现有表,以确保将正确的数据下载到应用中,并遵循优化离线配置文件 的准则。
结果
您确认所有表和表单在下载数据后都脱机工作,并且下载大小是合理的。
重要
模型驱动应用的元数据在应用启动时进行检索。 这意味着,如果您更改了应用中的组件,如窗体组件或视图,则需要重新启动应用以使配置文件反映这些更改。
第 2 阶段:与用户一起测试
请一些用户使用真实数据测试应用。 确保离线配置文件可以针对不同类型的用户扩展并适用于具有不同存储容量的设备。 检查每个用户的“ 设备状态 ”页(在模型驱动应用中开箱即用)。 有关更多信息,请参阅 使用脱机模板和脱机状态图标。 调整离线配置文件中的筛选器来增加或减少下载的数据量。
结果
您确认脱机配置文件可扩展到实际用例。 如果没有, 请优化离线配置文件。
第 3 阶段:推出
将应用部署到组织的其余部分。
结果
您确认部署中的每一类用户都能够成功同步并脱机工作。
不要遗漏用户需要的数据
测试用户是否有所有需要的数据。 比较应用在线和离线时可用的数据。 在设备处于飞行模式时,确保视图和窗体显示的数据与在线时 Web 浏览器中的数据相同。 如果存在差异,调整视图中的筛选器或调整离线配置文件中的筛选器。
如果您的应用需要,添加相关表
业务流程:如果表单包含业务流程,请务必添加业务流程表。 有关详细信息,请参阅 支持的功能。
文件和图像:如果您的离线配置文件包含文件和图像,请为它们添加表格。 有关详细信息,请参阅 在离线模型驱动应用中 配置文件和图像或 在离线画布应用中 配置文件和图像。 使用自定义过滤器来限制关键文件的下载。
时间线:若要使时间线控件(仅适用于模型驱动应用)上的注释可脱机使用,请将“注释 ”表和“ 用户 ”表添加到 脱机配置文件中。 如果用户上传图片和视频,备注可能会很大,因此请对 备注 表应用自定义过滤器以限制下载时间。
重要
如果用户将大于 4 MB 的文件上载到 timeline 控件,数据下载可能会变慢。 如果用户需要上载大于 4 MB 的文件,请使用 Field Service 或文件/图像中的 quick notes 控件而不是 timeline,以提高性能。
有关 Mobile Offline 同步的提示
与移动设备的 Mobile Offline 同步定期执行。 同步周期可能持续几分钟时间,具体取决于 Azure 网络延迟、为同步设置的数据量和移动网络速度。 在同步期间,用户仍然可以使用移动应用程序。
初始元数据下载的时间由离线配置的应用模块中的总表数决定。 请确保仅将那些为优化最终用户体验所必需的表和应用模块配置为脱机。
确保要脱机工作的任何视图都不会引用未配置为脱机使用的表。 例如,假设 客户 位于离线配置文件中,则 当联系人 不在配置文件中时 引用主要联系人的客户视图不可用。
对用户安全权限的更改在下一个同步周期期间更新。 直到那时,用户才可以根据其前面的安全权限继续访问数据,但是,其所做的任何更改将在与服务器的同步过程中加以验证。 如果他们不再有权更改行,他们将收到错误,并且不会创建、更新或删除行。
对用户查看行的权限所做的任何更改不会对移动设备生效,直到下一个同步周期。
Mobile Offline 遵循移动应用的安全模型和分层安全模型,但字段级安全性和字段共享 除外。