콘텐츠 배달 네트워크 빠른 시작
Important
PlayFab CDN은 이전에 CDN을 구성한 타이틀이 하나 이상 있는 계정에 대해 지원되는 레거시 기능입니다. 콘텐츠 관리 솔루션에 관심이 있는 새 PlayFab 개발자의 경우 Azure CDN을 사용하는 것이 좋습니다. 시작하려면 Azure CDN 설명서를 참조하세요.
PlayFab 콘텐츠 배달 네트워크(CDN)는 개별 자산을 파일 이름(키라고도 함)으로 고유하게 식별되는 파일 형태로 저장합니다. 이는 키를 통해 자산을 추가, 업데이트, 제거 및 검색할 수 있다는 것을 의미합니다.
PlayFab CDN을 사용하면 폴더별로 자산을 분리할 수 있습니다. 자산의 폴더 경로는 자산 키의 일부가 됩니다.
다음의 예는 Android
로 명명된 폴더 내에 저장된 유효한 자산 키입니다.
Android/Image.png
.
사용자가 자산을 가져오려 하면, 요청이 자동적으로 가장 가까운 가장자리 위치로 라우팅되므로 최상의 성능으로 콘텐츠가 전달됩니다.
하지만 다음 예제에 나타나 있듯이 파일 관리 작업 상에서 지연이 발생할 수 있습니다.
파일 업로드: 즉시 파일을 사용할 수 있습니다.
파일 덮어쓰기: 이전 파일은 새 파일로 덮어쓸 때까지 최대 24시간 동안 사용자에게 표시됩니다.
파일 삭제: 파일은 삭제 명령이 모든 가장자리 위치에서 제거하는 동안 최대 24시간 동안 계속 존재합니다.
자산 업로드 중
사용자가 자산을 가져오려면 먼저 자산이 CDN에 업로드되어 있어야 합니다. 이는 게임 관리자에서 수행 가능합니다.
- 왼쪽 메뉴에서 내용을 선택합니다.
- 파일 관리 탭을 선택합니다.
- 그런 다음 파일 업로드를 선택합니다.
다음을 수행할 수 있습니다.
- 여러 파일을 선택합니다(1).
- 선택한 모든 파일이 (2) 목록에 표시됩니다.
- 파일 업로드 버튼을 선택하여 파일을 제출합니다(3).
업로드한 파일이 (1) 목록에 표시됩니다.
폴더를 관리할 수도 있다는 것을 염두에 둡니다.
- 폴더를 만들려면 새 폴더 버튼을 선택합니다(2).
폴더 이름을 입력합니다(1).
폴더 만들기 버튼을 선택합니다(2).
이렇게 하면 트리에 새 폴더가 만들어집니다. 그런 다음 이 폴더를 선택하고 파일을 정상적으로 업로드할 수 있습니다.
또는 관리자 SDK를 사용하여 코드를 통해 자산을 업로드할 수 있습니다. 이 작업은 두 단계 프로세스로 구성됩니다.
- 먼저 GetContentUploadUrl을 호출하고 업로드를 승인하는 미리 서명된 URL을 가져옵니다.
- 그런 다음 해당 URL을 사용하여
HTTP PUT
요청을 하고, 데이터와 콘텐츠 유형(선택 사항)을 제공합니다.
미리 서명된 URL을 가져오는 방법을 보여 주는 아래에 제공된 코드 조각을 사용하는 것이 좋습니다.
public void UploadFileToCDN(string key, byte[] content, string contentType = "binary/octet-stream") {
GetUploadUrl(key, contentType, presignedUrl => {
PutFile(presignedUrl, content, contentType);
});
}
void GetUploadUrl(string key, string contentType, Action<string> onComplete) {
PlayFabAdminAPI.GetContentUploadUrl(new GetContentUploadUrlRequest() {
ContentType = contentType,
Key = key
}, result => onComplete(result.URL),
error => Debug.LogError(error.GenerateErrorReport()));
}
void PutFile(string presignedUrl, byte[] content, string contentType = "binary/octet-stream") {
// Implement your own PUT HTTP request here.
// - Must use PUT method
// - Must set content type Header
}
그런 다음 PlayFab 게임 관리자를 통해 결과를 확인할 수 있습니다. 파일이 목록에 포함되어 있는지 확인합니다.
자산 가져오기
코드를 통해 자산을 다운로드하는 것은 자산을 업로드하는 것과 동일합니다. 앞서 언급한 것처럼 두 단계 프로세스입니다.
- 먼저 GetContentDownloadUrl을 호출하고 다운로드를 승인하는 미리 서명된 URL을 가져옵니다.
- 그런 다음 미리 서명된 해당 URL을 사용하여
HTTP GET
요청을 하고 데이터를 가져옵니다.
프로세스의 뼈대를 보여주는 아래의 스니펫을 사용해보십시오.
public void DownloadFileFromCDN(string key) {
GetDownloadUrl(key, presignedUrl =>
{
GetFile(presignedUrl);
});
}
void GetDownloadUrl(string key, Action<string> onComplete) {
PlayFabClientAPI.GetContentDownloadUrl(new GetContentDownloadUrlRequest() {
Key = key,
ThruCDN = true
}, result => onComplete(result.URL),
error => Debug.LogError(error.GenerateErrorReport()));
}
void GetFile(string preauthorizedUrl) {
// Implement your own GET HTTP request here.
}
앞에서 언급했듯이 CDN에는 파일 업데이트와 관련하여 대기 시간이 포함될 수 있습니다. 개발 중에 최신 파일을 강제로 가져오는 것이 유용한 경우가 있습니다.
GetContentDownloadUrl 호출을 사용하면 ThruCDN
매개 변수를 False
로 설정할 수 있습니다. 반환된 URL은 캐시되지 않은 새 파일을 가리킵니다.
참고 항목
퍼블리시된 게임 클라이언트는 절대 이 옵션을 사용하면 안 됩니다!