이 문서에서는 오프라인 사용을 위해 구성된 앱 사용자에게 최상의 환경을 만드는 방법에 대한 권장 사항을 제공합니다.
- 오프라인 사용을 위해 캔버스 앱을 구성하는 경우 앱이 데이터 원본에서 데이터를 가져오는 방법을 최적화해야 합니다. 자세한 정보: 캔버스 앱에서 최상의 오프라인 사용자 환경을 만드는 방법
- 오프라인으로 작동하려면 앱이 네트워크 연결과 독립적으로 작동하려면 처음에 리소스 및 데이터를 포함하여 필요한 모든 자산을 다운로드해야 합니다. 이 프로세스는 앱을 처음 사용하는 동안 발생하는 일회성 설정 작업입니다. 이 초기 다운로드 속도는 디바이스에 다운로드된 데이터의 양에 따라 영향을 받으며, 이는 오프라인 프로필 설정 및 앱 환경 내에서 사용자가 사용할 수 있는 데이터의 수량에 따라 결정됩니다. 원활한 초기 환경을 위해 오프라인 앱 출시를 계획하는 것이 좋습니다.
캔버스 앱에서 최상의 오프라인 사용자 환경을 만드는 방법
다음 권장 사항을 사용하여 특정 시나리오에 대한 빠른 사용자 환경을 만듭니다.
| Scenario | 권장되지 않는 접근 방식 | 권장되는 접근 방식 |
|---|---|---|
| 갤러리에 관련 테이블 정보를 표시합니다. | 조회를 사용하여 데이터를 가져옵니다. | 관련 테이블의 열이 포함된 뷰를 사용합니다. |
| 레코드가 많은 필터링 가능한 갤러리를 만듭니다. | Dataverse에서 레코드를 로드하고 컬렉션에 저장합니다. 갤러리의 항목을 필터링된 컬렉션으로 설정합니다. | 갤러리의 항목을 Dataverse 필터링된 데이터로 직접 설정합니다. |
| 여러 레코드를 업데이트합니다. | 레코드를 반복하고 개별적으로 패치합니다. | 모든 수정 내용이 포함된 컬렉션을 대량 패치합니다. |
Monitor를 사용하여 모바일 오프라인 캔버스 앱 진단
Monitor는 앱이 실행될 때 앱에서 발생하는 모든 주요 활동을 기록하여 앱이 무엇을 하고 어떻게 수행하는지에 대한 심층적인 보기를 제작자에게 제공하는 도구입니다. 모바일 앱 세션을 모니터에 연결하여 문제를 더 빠르게 진단하고 해결할 수 있습니다.
오프라인 앱 출시 계획
중요합니다
자동 생성된 오프라인 프로필(캔버스 앱에만 사용 가능)을 사용하는 경우 첫 번째 동기화에 너무 많은 시간이 걸리는 경우 다음 모범 사례를 사용하여 수동 오프라인 프로필을 만들어야 합니다.
세 단계로 오프라인 앱을 개발하고 롤아웃합니다.
1단계: 개발 및 반복
캔버스 앱에 대해 모바일 오프라인을 설정하거나 모델 기반 앱에 대해 모바일 오프라인으로 설정한 후에는 테스트 및 조정을 시작해야 합니다. Power Apps 모바일 또는 Field Service Mobile을 사용하여 앱이 오프라인 상태일 때 동작하는 방식을 결정합니다. Windows의 경우 Microsoft Store에서 모바일 디바이스 없이도 반복할 수 있는 Windows용 Power Apps 앱을 찾을 수 있습니다.
이 단계에서는 오프라인 프로필을 최적화하기 위한 지침에 따라 올바른 데이터가 앱에 다운로드되도록 테이블을 추가하고 기존 테이블에 필터를 적용합니다.
결과
데이터를 다운로드한 후 모든 테이블과 양식이 오프라인으로 작동하고 다운로드 크기가 적절한지 확인합니다.
중요합니다
모델 기반 앱의 메타데이터는 앱이 시작될 때 검색됩니다. 즉, 양식 구성 요소 또는 보기와 같은 앱의 구성 요소를 변경하는 경우 변경 내용을 반영하기 위해 프로필에 대한 앱을 다시 시작해야 합니다.
2단계: 사용자로 테스트
몇 명의 사용자에게 실제 데이터로 앱을 테스트하도록 요청합니다. 오프라인 프로필이 다양한 유형의 사용자에 맞게 확장되고 스토리지 용량이 다양한 디바이스에서 작동하는지 확인합니다. 각 사용자에 대한 디바이스 상태 페이지(모델 기반 앱에서 기본 제공)를 선택합니다. 자세한 내용은 오프라인 템플릿 및 오프라인 상태 아이콘 사용을 참조하세요. 다운로드되는 데이터의 양을 늘리거나 줄이려면 오프라인 프로필의 필터를 조정합니다.
결과
오프라인 프로필이 실제 사용 사례로 확장되는 것을 확인합니다. 그렇지 않은 경우 오프라인 프로필을 최적화합니다.
3단계: 배포
조직의 나머지 부분에 앱을 배포합니다.
결과
롤아웃의 각 사용자 클래스가 성공적으로 동기화되고 오프라인으로 작업할 수 있는지 확인합니다.
사용자에게 필요한 데이터를 놓치지 마세요.
사용자에게 필요한 모든 데이터가 있는지 테스트합니다. 앱이 온라인 상태일 때와 오프라인 상태일 때 사용할 수 있는 데이터를 비교합니다. 디바이스가 비행기 모드인 경우 보기 및 양식이 웹 브라우저 온라인과 동일한 데이터를 표시하는지 확인합니다. 차이점이 있는 경우 보기에서 필터를 조정하거나 오프라인 프로필에서 필터를 조정합니다.
앱에 필요한 경우 관련 테이블 추가
비즈니스 프로세스 흐름: 양식에 비즈니스 프로세스 흐름이 포함된 경우 비즈니스 프로세스 흐름 테이블을 추가해야 합니다. 자세한 내용은 지원되는 기능을 참조하세요.
파일 및 이미지: 오프라인 프로필에 파일 및 이미지가 포함된 경우 해당 파일을 위한 테이블을 추가합니다. 자세한 내용은 오프라인 모델 기반 앱에서 파일 및 이미지 구성 또는 오프라인캔버스 앱에서 파일 및 이미지 구성을 참조하세요. 사용자 지정 필터를 사용하여 중요한 파일의 다운로드를 제한합니다.
타임라인: 오프라인에서 사용할 수 있는 타임라인 컨트롤(모델 기반 앱에만 해당)을 메모하려면 노트 테이블과 사용자 테이블을 오프라인 프로필에 추가합니다. 사용자가 이미지와 비디오를 업로드하는 경우 노트가 클 수 있으므로 사용자 지정 필터를 Notes 테이블에 적용하여 다운로드 시간을 제한합니다.
중요합니다
사용자가 4MB보다 큰 파일을 타임라인 컨트롤에 업로드하는 경우 데이터 다운로드 속도가 느려질 수 있습니다. 사용자가 4MB보다 큰 파일을 업로드해야 하는 경우 타임라인 대신 필드 서비스 또는 파일/이미지 의 빠른 노트 컨트롤을 사용하여 성능을 향상시킵니다.
모바일 오프라인 동기화에 대한 팁
모바일 디바이스와의 모바일 오프라인 동기화는 주기적으로 발생합니다. 동기화 주기는 Azure 네트워크 대기 시간, 동기화를 위해 설정된 데이터 볼륨 및 모바일 네트워크 속도에 따라 몇 분 동안 지속될 수 있습니다. 사용자는 동기화하는 동안 모바일 앱을 계속 사용할 수 있습니다.
초기 메타데이터 다운로드 시간은 오프라인으로 구성된 앱 모듈의 총 테이블 수에 따라 결정됩니다. 최종 사용자의 환경을 최적화하는 데 필요한 오프라인용 테이블 및 앱 모듈만 구성해야 합니다.
오프라인으로 작업하려는 뷰가 오프라인으로 사용하도록 구성되지 않은 테이블을 참조하지 않는지 확인합니다. 예를 들어 계정이 오프라인 프로필에 있다고 가정하면 연락처가 프로필에 없을 때 기본 연락처를 참조하는 계정 보기를 사용할 수 없습니다.
사용자의 보안 권한에 대한 변경 내용은 다음 동기화 주기 동안 업데이트됩니다. 그때까지 사용자는 이전 보안 권한에 따라 데이터에 계속 액세스할 수 있지만 서버 동기화 중에 변경한 내용의 유효성이 검사됩니다. 행을 변경할 권한이 더 이상 없으면 오류가 발생하며 행이 생성, 업데이트 또는 삭제되지 않습니다.
행을 볼 수 있는 사용자의 권한에 대한 변경 내용은 다음 동기화 주기까지 모바일 디바이스에 적용되지 않습니다.
모바일 오프라인은 필드 수준 보안 및 필드 공유를 제외하고 모바일 앱 및 계층적 보안 모델에 대한 보안 모델을 적용합니다.