Kongregate 및 HTML5를 사용한 PlayFab 인증 설정
이 자습서는 Kongregate 및 HTML5/JavaScript를 사용하여 PlayFab에서 플레이어를 인증하는 데 필요한 최소한의 설정을 알려줍니다.
요구 사항
- 등록된 Kongregate 계정
- Kongregate 개발자 가이드에 대한 지식
- 등록된 PlayFab 타이틀
- 로그인 기본 사항 및 모범 사례에 대한 지식
Kongregate 앱 설정
Kongregate는 필요한 API 정보에 액세스하려면 먼저 앱의 미리 보기 버전을 업로드해야 합니다.
이렇게 하려면 다음 콘텐츠를 사용하여 index.html
파일을 준비해야 합니다.
<!doctype html>
<html lang="en-us">
<head></head>
<body>
<h1>Placeholder</h1>
</body>
</html>
Kongregate 웹 사이트로 이동합니다.
- 게임 탭 선택합니다.
- 그런 다음 Upload your game(게임 업로드) 단추를 선택합니다.
새 애플리케이션을 설정할 페이지가 열립니다.
- 타이틀 필드에 애플리케이션 이름을 입력합니다.
- 그런 다음 제공된 필드에 게임 설명을 입력합니다.
- 범주를 선택합니다.
- 아래에 제공된 예제에 나온 대로 계속 단추를 선택하여 새 앱을 제출합니다.
애플리케이션 업로드 페이지로 이동합니다.
‘매우’ 중요한 첫 번째 단계로, Web Address Bar(웹 주소 표시줄)의 URL을 저장해야 합니다. 이렇게 하면 페이지를 닫은 후에 애플리케이션에 대한 액세스를 복원하려고 하는 데 많은 시간을 절약할 수 있습니다.
- 이 작업이 완료되면 준비된 index.html 파일을 게임 파일로 선택합니다.
- 그런 다음 화면 크기를 설정합니다.
- 필요한 모든 라이선스에 동의해야 합니다.
- 아래의 예제와 같이 업로드 단추를 선택하여 애플리케이션을 업로드합니다.
- 미리 보기가 열리면 콘텐츠를 무시하고 API 정보 링크를 엽니다.
참고 항목
API 정보 페이지가 열리면 API 키를 찾아 나중에 사용하기 위해 안전하고 쉽게 액세스할 수 있는 장소에 저장합니다.
PlayFab 타이틀 구성
PlayFab 타이틀 게임 관리자에서:
- 추가 기능으로 이동합니다.
- 그런 다음 아래의 예제와 같이 Kongregate를 찾아서 선택합니다.
Kongregate 통합을 설정할 수 있는 새로운 페이지가 열립니다.
- 이전 섹션에서 획득한 API 키를 입력합니다.
- Kongregate 설치 단추를 선택합니다.
오류 메시지가 나타나지 않으면 Kongregate 애플리케이션과의 PlayFab 타이틀 통합이 구성된 것입니다.
일부 코드 준비
아래에 표시된 예제 코드를 사용하여 게임의 index.html
을 채웁니다.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
<title>Kongregate Javascript API example</title>
<!-- Import PlayFab API -->
<script src='https://download.playfab.com/PlayFabClientApi.js'></script>
<!-- Import JQuery, required specifically by this example, does not effect either API -->
<script src='https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js'></script>
<!-- Import Kongregate API -->
<script src='https://cdn1.kongregate.com/javascripts/kongregate_api.js'></script>
</head>
<!-- Define elements with IDs to show current state of things and a couple of buttons -->
<body style='background-color:white'>
<span id='init'>Initializing...</span>
<div id='content' style='display:none'>
<div>Kongregate API Loaded!</div>
<div id='username'></div>
<div id='user_id'></div>
<!-- This button will invoke Kongregate Auth Box -->
<button id='login' style='display:none'
onclick='kongregate.services.showRegistrationBox()'>Sign in/register</button>
<!-- This button will invoke PlayFab authentication process -->
<button id='login'
onclick='loginInUsingPlayFab()'>PlayFab Login With Kongregate</button>
</div>
<script type='text/javascript'>
// This function just updates UI, nothing else
function updateFields() {
$('#init').hide();
$('#content').show();
// Visualize Kongregate Auth Data
$('#username').text('Username: ' + kongregate.services.getUsername());
$('#user_id').text('User ID: ' + kongregate.services.getUserId());
// If not authenticated in Kongregate, allow to use Login button
if(kongregate.services.isGuest()) {
$('#login').show();
} else {
$('#login').hide();
}
}
// The function prepares and triggers PlayFab LoginWithKongregate API call
function loginInUsingPlayFab() {
// Setting up playfab title ID
PlayFab.settings.titleId = "159F";
// forming request
var request = {
TitleId: PlayFab.settings.titleId,
AuthTicket: kongregate.services.getGameAuthToken(),
KongregateId : kongregate.services.getUserId(),
CreateAccount: true
};
console.log('logging in');
// Invoke LoginWithKongregate API call and visualize both results (success or failure)
PlayFabClientSDK.LoginWithKongregate(request,
function(result){
$('<div></div>').html('Authenticated via playfab').appendTo('#content')
console.log("success");
},
function(err){
$('<div></div>').html('Problem occurred: ' + PlayFab.GenerateErrorReport(err)).appendTo('#content')
console.log("failure");
});
}
// The entry point for Kongregate initialization
kongregateAPI.loadAPI(function(){
window.kongregate = kongregateAPI.getAPI();
updateFields();
kongregate.services.addEventListener('login', function(){
updateFields();
});
});
</script>
</body>
</html>
테스트
앞서 안전하고 액세스하기 쉬운 장소에 저장하도록 요청한 URL을 기억하십니까? 지금 애플리케이션 업로드 페이지에 액세스하는 데 사용하세요.
- index.html을 게임 파일로 선택합니다.
- 화면 크기를 설정합니다.
- 필요한 모든 라이선스에 동의해야 합니다.
- 업로드 단추를 선택하여 애플리케이션을 업로드합니다.
미리 보기가 로드되면 애플리케이션이 Kongregate 사용자 ID 및 사용자 이름을 얻을 때까지 기다립니다.
- 완료되면 PlayFab Login With Kongregate(Kongregate를 사용한 PlayFab 로그인) 단추를 선택합니다.
- 잠시 후에 Authenticated via PlayFab(PlayFab 통해 인증됨) 메시지가 나타납니다.
- 이 시점에서 PlayFab 및 Kongregate를 사용하여 성공적으로 로그인됩니다!