다음을 통해 공유


오프라인용 앱 개발 모범 사례

이 문서에서는 오프라인 사용을 위해 구성된 앱 사용자에게 최상의 환경을 만드는 방법에 대한 권장 사항을 제공합니다.

  • 오프라인 사용을 위해 캔버스 앱을 구성하는 경우 앱이 데이터 원본에서 데이터를 가져오는 방법을 최적화해야 합니다. 자세한 정보: 캔버스 앱에서 최상의 오프라인 사용자 환경을 만드는 방법
  • 오프라인으로 작동하려면 앱이 네트워크 연결과 독립적으로 작동하려면 처음에 리소스 및 데이터를 포함하여 필요한 모든 자산을 다운로드해야 합니다. 이 프로세스는 앱을 처음 사용하는 동안 발생하는 일회성 설정 작업입니다. 이 초기 다운로드 속도는 디바이스에 다운로드된 데이터의 양에 따라 영향을 받으며, 이는 오프라인 프로필 설정 및 앱 환경 내에서 사용자가 사용할 수 있는 데이터의 수량에 따라 결정됩니다. 원활한 초기 환경을 위해 오프라인 앱 출시를 계획하는 것이 좋습니다.

캔버스 앱에서 최상의 오프라인 사용자 환경을 만드는 방법

다음 권장 사항을 사용하여 특정 시나리오에 대한 빠른 사용자 환경을 만듭니다.

Scenario 권장되지 않는 접근 방식 권장되는 접근 방식
갤러리에 관련 테이블 정보를 표시합니다. 조회를 사용하여 데이터를 가져옵니다. 관련 테이블의 열이 포함된 뷰를 사용합니다.
레코드가 많은 필터링 가능한 갤러리를 만듭니다. Dataverse에서 레코드를 로드하고 컬렉션에 저장합니다. 갤러리의 항목을 필터링된 컬렉션으로 설정합니다. 갤러리의 항목을 Dataverse 필터링된 데이터로 직접 설정합니다.
여러 레코드를 업데이트합니다. 레코드를 반복하고 개별적으로 패치합니다. 모든 수정 내용이 포함된 컬렉션을 대량 패치합니다.

Monitor를 사용하여 모바일 오프라인 캔버스 앱 진단

Monitor는 앱이 실행될 때 앱에서 발생하는 모든 주요 활동을 기록하여 앱이 무엇을 하고 어떻게 수행하는지에 대한 심층적인 보기를 제작자에게 제공하는 도구입니다. 모바일 앱 세션을 모니터에 연결하여 문제를 더 빠르게 진단하고 해결할 수 있습니다.

오프라인 앱 출시 계획

중요합니다

자동 생성된 오프라인 프로필(캔버스 앱에만 사용 가능)을 사용하는 경우 첫 번째 동기화에 너무 많은 시간이 걸리는 경우 다음 모범 사례를 사용하여 수동 오프라인 프로필을 만들어야 합니다.

세 단계로 오프라인 앱을 개발하고 롤아웃합니다.

작성자의 경우 1단계, 테스터의 경우 2단계, 사용자를 위한 3단계를 보여 주는 일러스트레이션입니다.

1단계: 개발 및 반복

캔버스 앱에 대해 모바일 오프라인을 설정하거나 모델 기반 앱에 대해 모바일 오프라인으로 설정한 후에는 테스트 및 조정을 시작해야 합니다. Power Apps 모바일 또는 Field Service Mobile을 사용하여 앱이 오프라인 상태일 때 동작하는 방식을 결정합니다. Windows의 경우 Microsoft Store에서 모바일 디바이스 없이도 반복할 수 있는 Windows용 Power Apps 앱을 찾을 수 있습니다.

이 단계에서는 오프라인 프로필을 최적화하기 위한 지침에 따라 올바른 데이터가 앱에 다운로드되도록 테이블을 추가하고 기존 테이블에 필터를 적용합니다.

결과

데이터를 다운로드한 후 모든 테이블과 양식이 오프라인으로 작동하고 다운로드 크기가 적절한지 확인합니다.

중요합니다

모델 기반 앱의 메타데이터는 앱이 시작될 때 검색됩니다. 즉, 양식 구성 요소 또는 보기와 같은 앱의 구성 요소를 변경하는 경우 변경 내용을 반영하기 위해 프로필에 대한 앱을 다시 시작해야 합니다.

2단계: 사용자로 테스트

몇 명의 사용자에게 실제 데이터로 앱을 테스트하도록 요청합니다. 오프라인 프로필이 다양한 유형의 사용자에 맞게 확장되고 스토리지 용량이 다양한 디바이스에서 작동하는지 확인합니다. 각 사용자에 대한 디바이스 상태 페이지(모델 기반 앱에서 기본 제공)를 선택합니다. 자세한 내용은 오프라인 템플릿 및 오프라인 상태 아이콘 사용을 참조하세요. 다운로드되는 데이터의 양을 늘리거나 줄이려면 오프라인 프로필의 필터를 조정합니다.

성공적으로 다운로드한 후 모바일 앱의 오프라인 상태 페이지 스크린샷

결과

오프라인 프로필이 실제 사용 사례로 확장되는 것을 확인합니다. 그렇지 않은 경우 오프라인 프로필을 최적화합니다.

3단계: 배포

조직의 나머지 부분에 앱을 배포합니다.

결과

롤아웃의 각 사용자 클래스가 성공적으로 동기화되고 오프라인으로 작업할 수 있는지 확인합니다.

사용자에게 필요한 데이터를 놓치지 마세요.

사용자에게 필요한 모든 데이터가 있는지 테스트합니다. 앱이 온라인 상태일 때와 오프라인 상태일 때 사용할 수 있는 데이터를 비교합니다. 디바이스가 비행기 모드인 경우 보기 및 양식이 웹 브라우저 온라인과 동일한 데이터를 표시하는지 확인합니다. 차이점이 있는 경우 보기에서 필터를 조정하거나 오프라인 프로필에서 필터를 조정합니다.

  • 비즈니스 프로세스 흐름: 양식에 비즈니스 프로세스 흐름이 포함된 경우 비즈니스 프로세스 흐름 테이블을 추가해야 합니다. 자세한 내용은 지원되는 기능을 참조하세요.

  • 파일 및 이미지: 오프라인 프로필에 파일 및 이미지가 포함된 경우 해당 파일을 위한 테이블을 추가합니다. 자세한 내용은 오프라인 모델 기반 앱에서 파일 및 이미지 구성 또는 오프라인캔버스 앱에서 파일 및 이미지 구성을 참조하세요. 사용자 지정 필터를 사용하여 중요한 파일의 다운로드를 제한합니다.

  • 타임라인: 오프라인에서 사용할 수 있는 타임라인 컨트롤(모델 기반 앱에만 해당)을 메모하려면 노트 테이블과 사용자 테이블을 오프라인 프로필에 추가합니다. 사용자가 이미지와 비디오를 업로드하는 경우 노트가 클 수 있으므로 사용자 지정 필터를 Notes 테이블에 적용하여 다운로드 시간을 제한합니다.

    중요합니다

    사용자가 4MB보다 큰 파일을 타임라인 컨트롤에 업로드하는 경우 데이터 다운로드 속도가 느려질 수 있습니다. 사용자가 4MB보다 큰 파일을 업로드해야 하는 경우 타임라인 대신 필드 서비스 또는 파일/이미지 의 빠른 노트 컨트롤을 사용하여 성능을 향상시킵니다.

모바일 오프라인 동기화에 대한 팁

  • 모바일 디바이스와의 모바일 오프라인 동기화는 주기적으로 발생합니다. 동기화 주기는 Azure 네트워크 대기 시간, 동기화를 위해 설정된 데이터 볼륨 및 모바일 네트워크 속도에 따라 몇 분 동안 지속될 수 있습니다. 사용자는 동기화하는 동안 모바일 앱을 계속 사용할 수 있습니다.

  • 초기 메타데이터 다운로드 시간은 오프라인으로 구성된 앱 모듈의 총 테이블 수에 따라 결정됩니다. 최종 사용자의 환경을 최적화하는 데 필요한 오프라인용 테이블 및 앱 모듈만 구성해야 합니다.

  • 오프라인으로 작업하려는 뷰가 오프라인으로 사용하도록 구성되지 않은 테이블을 참조하지 않는지 확인합니다. 예를 들어 계정이 오프라인 프로필에 있다고 가정하면 연락처가 프로필에 없을 때 기본 연락처를 참조하는 계정 보기를 사용할 수 없습니다.

  • 사용자의 보안 권한에 대한 변경 내용은 다음 동기화 주기 동안 업데이트됩니다. 그때까지 사용자는 이전 보안 권한에 따라 데이터에 계속 액세스할 수 있지만 서버 동기화 중에 변경한 내용의 유효성이 검사됩니다. 행을 변경할 권한이 더 이상 없으면 오류가 발생하며 행이 생성, 업데이트 또는 삭제되지 않습니다.

  • 행을 볼 수 있는 사용자의 권한에 대한 변경 내용은 다음 동기화 주기까지 모바일 디바이스에 적용되지 않습니다.

  • 모바일 오프라인은 필드 수준 보안 및 필드 공유를 제외하고 모바일 앱 및 계층적 보안 모델에 대한 보안 모델을 적용합니다.

참고하십시오