템플릿 제한사항

호스트는 주어진 작업에 표시할 템플릿 수를 최대 5개로 제한하고 마지막 템플릿은 다음 유형 중 하나여야 합니다.

이 제한은 템플릿 수에 적용되고 스택의 Screen 인스턴스 수에는 적용되지 않습니다. 예를 들어 앱이 화면 A에 있는 동안 템플릿을 두 개 전송한 후 화면 B를 푸시하면 이제 템플릿을 세 개 더 전송할 수 있습니다.

또는 각 화면이 단일 템플릿을 전송하도록 구성된 경우 앱은 화면 인스턴스 5개를 ScreenManager 스택으로 푸시할 수 있습니다.

템플릿 새로고침, 뒤로 및 재설정 작업 등 이러한 제한사항에는 특수한 사례가 있습니다.

템플릿 새로고침

특정 콘텐츠 업데이트는 템플릿 제한에 포함되지 않습니다. 일반적으로 앱이 이전 템플릿과 유형이 동일하고 포함된 기본 콘텐츠도 동일한 새 템플릿을 푸시한다면 새 템플릿은 할당량에 포함되지 않습니다. 예를 들어 ListTemplate에서 행의 전환 상태를 업데이트해도 할당량에 포함되지 않습니다. 새로고침으로 간주할 수 있는 콘텐츠 업데이트 유형에 관한 자세한 내용은 개별 템플릿 문서를 참고하세요.

뒤로 작업

작업 내에서 하위 흐름을 사용 설정하기 위해 호스트는 앱이 ScreenManager 스택에서 Screen을 표시할 때를 감지하고 앱이 뒤로 이동할 템플릿 수에 따라 나머지 할당량을 업데이트합니다.

예를 들어 앱이 화면 A에서 템플릿을 2개 전송하고 화면 B를 푸시한 후 템플릿을 2개 더 전송하면 앱에 남은 할당량은 하나입니다. 앱이 다시 화면 A로 돌아오면 호스트는 할당량을 3으로 재설정합니다. 앱이 템플릿 2개만큼 뒤로 이동했기 때문입니다.

화면으로 다시 돌아올 때 앱은 이 화면에서 마지막으로 전송한 것과 동일한 유형의 템플릿을 전송해야 합니다. 다른 템플릿 유형을 전송하면 오류가 발생합니다. 그러나 뒤로 작업 시 유형이 동일하게 유지되는 한 앱은 할당량에 영향을 주지 않고 템플릿의 콘텐츠를 자유롭게 수정할 수 있습니다.

작업 재설정

특정 템플릿에는 작업의 끝을 나타내는 특수한 의미 체계가 있습니다. 예를 들어 NavigationTemplate은 화면에 계속 유지되고 사용자에게 새로운 세부 경로 안내로 새로고침될 것으로 예상되는 뷰입니다.

작업이 이러한 템플릿 중 하나에 도달하면 호스트는 템플릿 할당량을 재설정하여 템플릿을 새 작업의 첫 번째 단계인 것처럼 간주합니다. 이렇게 하면 앱이 새 작업을 시작할 수 있습니다. 자세한 내용은 개별 템플릿 문서를 참고하여 호스트에서 재설정을 트리거하는 템플릿을 확인하세요.

호스트가 인텐트를 수신하여 알림 작업이나 런처에서 앱을 시작하면 할당량도 재설정됩니다. 이 메커니즘으로 앱은 알림에서 새 작업 흐름을 시작할 수 있고 앱이 이미 바인딩되고 포그라운드에 있더라도 마찬가지입니다.