규칙을 사용하여 연락처 메일 주소 확인
이 자습서에서는 플레이어가 연락처 메일 주소를 변경할 때 확인 메일을 보내는 규칙을 생성하는 단계를 안내합니다.
요구 사항
Important
이 자습서는 ‘고급’ 자습서입니다. 모든 요구 사항을 충족했는지 확인하세요. 충족하지 않으면 이 자습서를 완료할 수 ‘없습니다’.
- 메일 템플릿으로 사용자 지정 메일을 보내려면 사용자 이름과 암호가 있는 고유한 외부 SMTP 서버가 있어야 합니다. 다음 자습서 추가 기능으로 SMTP 서버 설정을 사용하기 전에 고유한 SMTP 서버가 있는지 확인하세요.
참고 항목
Gmail을 테스트용으로 사용할 수 있지만 Gmail은 하루에 메일 2,000개로 제한됩니다.
- 계정 복구 논리를 호출하기 전에 사용자 이름과 암호를 가진 플레이어가 있어야 하므로 플레이어를 생성하는 방법에 대한 기본적인 지식은 필수적입니다.
- 메일 템플릿이 만들어지는 곳인 게임 관리자에 익숙하지 않은 경우 게임 관리자 빠른 시작을 읽어 보세요.
- 연락처 메일이 플레이어의 프로필에 추가되었는지 확인하기 위해 메일을 필요함을 확인하기 위해 플레이어 프로필을 작동하는 방법에 대한 지식이 요구됩니다. 플레이어 프로필 가져오기 자습서에서 플레이어 프로필을 가져오는 방법에 대해 읽어 보고 연락처 메일 주소를 허용하는 타이틀의 클라이언트 프로필 옵션에서 확인하세요.
- 이 자습서에서는 규칙을 만드는 것이 필수적이므로 규칙이 작동하는 방법에 대해 읽어 보는 것이 좋습니다.
1단계 - 메일 템플릿 만들기
가장 먼저 할 일은 계정 복구 메일 템플릿을 만드는 것입니다.
- 왼쪽 메뉴에서 콘텐츠를 선택합니다.
- 메일 템플릿 탭으로 이동합니다.
- NEW EMAIL TEMPLATE(새 메일 템플릿) 단추를 선택합니다.
이제 Error Callback(오류 콜백) URL은 비워둔 상태로 다음과 같이 필드를 채워 New Email Template(새 메일 템플릿)을 추가합니다.
- 템플릿 이름: MyFirstEmailVerificationTemplate
- 템플릿 형식: 메일 확인
- 메일 제목: 메일 확인
- 메일 본문: (아래와 같이 입력)
<head></head>
<body><p> You recently registered a new email with us.</p>
<p>Please click <a href="$ConfirmationUrl$">here</a> confirm your email. Thanks!</p>
보낸 사람 이름: 메일의 보낸 사람 필드에서 표시하려는 이름
보낸 사람 메일 주소: 메일의 보낸 사람 필드에서 표시하려는 메일 주소. SMTP 서버에서 메일을 보낼 수 있도록 하는 메일 도메인이여야 합니다.
참고 항목
Gmail과 같은 일부 메일 서버는 이 필드를 무시하고 SMTP 서버로 설정된 계정에서 전송합니다.
콜백 URL: https://www.example.com
기억해야 할 몇 가지 정보
- 메일 본문의
$ConfirmationUrl$
에서는 사용자 지정 URL을 생성합니다. 이 URL을 선택하면 사용자가 URL을 선택했음을 추적한 후 콜백 URL로 문제를 리디렉션합니다. 이 경우 앵커 태그에 삽입됩니다. - 콜백 URL은 플레이어가 확인 URL 링크를 선택한 후 PlayFab에서 리디렉션하는 URL입니다. 메일 확인에 성공했음을 알려주는 통계 페이지일 수 있습니다. 이 경우 https://www.example.com(으)로 리디렉션됩니다.
양식을 채워 넣은 후 SAVE EMAIL TEMPLATE(메일 템플릿 저장) 단추를 선택합니다. 그러면 메일 템플릿 목록이 표시된 페이지로 다시 리디렉션됩니다. 4단계에서 사용할 수 있도록 메일 템플릿의 ID를 기록해 둡니다.
2단계 - 연락처 메일이 업데이트된 경우 규칙을 생성하여 메일 보내기
다음으로 플레이어가 연락처 메일을 업데이트할 때마다 확인 메일을 보내는 규칙을 생성합니다. 게임 관리자에서 다음을 수행합니다.
- 왼쪽 메뉴에서 자동화를 선택합니다.
- 규칙 탭을 선택합니다.
- 새 규칙을 선택합니다.
- 규칙 이름 필드를 Rule VerifyUpdatedEmail로 채웁니다.
- 이벤트 유형 드롭다운에서 com.playfab.player_updated_contact_email을 선택합니다.
- 작업 제목에서 +작업 추가를 선택합니다.
유형 드롭다운에서 메일 보내기를 선택합니다.
- 메일 템플릿 드롭다운에 1단계에서 만든 MyFirstEmailVerificationTemplate 템플릿이 채워져 있어야 합니다.
- 그렇지 않은 경우 드롭다운에서 MyFirstEmailVerificationTemplate을 선택합니다.
3단계 - 연락처 메일을 플레이어에 추가
다음 단계로 기존 플레이어 계정이 필요합니다.
AddOrUpdateContactEmail을 사용하여 연락처 메일을 플레이어에 추가합니다.
참고 항목
플레이어 프로필의 연락처 메일 필드와 플레이어 프로필의 로그인 메일 필드 모두 동일한 메일 주소를 포함할 수 있지만 이 두 메일 필드는 서로 다릅니다. 플레이어에게 메일을 보낼 때 연락처 메일 주소로‘만’ 메일이 전송됩니다.
C# 코드 예제
다음 예제에서는 플레이어로 로그인한 다음 AddOrUpdateContactEmail을 사용하여 연락처 메일을 추가합니다. 플레이어와 연결된 메일 주소에 액세스할 수 있는지 확인합니다.
void AddContactEmailToPlayer()
{
var loginReq = new LoginWithCustomIDRequest
{
CustomId = "SomeCustomID", // replace with your own Custom ID
CreateAccount = true // otherwise this will create an account with that ID
};
var emailAddress = "testaddress@example.com"; // Set this to your own email
PlayFabClientAPI.LoginWithCustomID(loginReq, loginRes =>
{
Debug.Log("Successfully logged in player with PlayFabId: " + loginRes.PlayFabId);
AddOrUpdateContactEmail(loginRes.PlayFabId, emailAddress);
}, FailureCallback);
}
void AddOrUpdateContactEmail(string playFabId, string emailAddress)
{
var request = new AddOrUpdateContactEmailRequest
{
EmailAddress = emailAddress
};
PlayFabClientAPI.AddOrUpdateContactEmail(request, result =>
{
Debug.Log("The player's account has been updated with a contact email");
}, FailureCallback);
}
void FailureCallback(PlayFabError error)
{
Debug.LogWarning("Something went wrong with your API call. Here's some debug information:");
Debug.LogError(error.GenerateErrorReport());
}
4단계 - 연락처 메일이 플레이어 프로필에 추가되었는지 확인
다음으로 연락처 메일이 플레이어의 프로필에 추가되었는지 확인합니다. 게임 관리자에 로그인하고 플레이어 프로필 페이지를 방문합니다.
해당 플레이어의 연락처 메일이 확인 상태: 보류 중으로 목록에 표시되어야 합니다.
참고 항목
확인 메일이 아직 전송되지 않은 경우 확인 상태가 확인되지 않음일 수 있지만 메일이 전송되는 즉시 보류 중 상태로 변경됩니다.
또한 PlayerProfileViewConstraints의 ShowContactEmailAddresses를 방금 추가한 연락처 메일이 플레이어에게 있음을 나타내는 True로 설정하고 GetPlayerProfile을 호출할 수 있습니다.
5단계 - 메일이 전송되었는지 확인
마지막으로 계정 복구 메일이 전송되었는지 확인할 수 있습니다.
가장 먼저 할 수 있는 일은 게임 관리자에서 플레이어의 PlayStream으로 이동하는 것입니다.
- 왼쪽 메뉴에서 플레이어를 선택합니다.
- 플레이어 탭에서 PlayStream 영역으로 이동합니다.
- 보낸 메일 이벤트가 표시됩니다.
이벤트에서 정보 아이콘을 선택하면 아래와 유사하게 JSON이 표시되어야 합니다.
{
"EventName": "sent_email",
"EventNamespace": "com.playfab",
"Source": "PlayFab",
"EntityType": "player",
"TitleId": "YourTitleId",
"EventId": "a05625e48b1f4194bd08d1ff6a889cf8",
"EntityId": "64647AA368D6448E",
"SourceType": "BackEnd",
"Timestamp": "2017-10-27T09:35:16.2946918Z",
"History": null,
"CustomTags": null,
"Reserved": null,
"emailTemplateId": "7D6438687903D4DC",
"emailTemplateName": "MyFirstEmailVerificationTemplate",
"emailTemplateType": "EmailVerification",
"success": true,
"emailName": "Primary"
}
메일을 실제로 받았는지 확인하기 위해 3단계에서 생성한 플레이어의 메일로 이동합니다. 아래와 유사하게 표시된 메일이 있어야 합니다.
해당 메일에서 URL을 검사하는 경우 이와 같은 내용이 표시됩니다.
https://a5f3.playfabapi.com/EmailConfirmation/Confirm/?token=2346241B7C277796&titleId=A5F3&templateId=38017AAE7F494AB3
플레이어가 해당 URL을 선택하면 다음과 같은 3가지가 발생합니다.
- PlayFab에서는 auth_token_validated라는 새로운 PlayStream 이벤트를 생성합니다. 이를 통해 플레이어가 메일에서 해당 URL을 선택했음을 확인할 수 있습니다.
- 해당 이벤트를 사용하여 플레이어에게 코인이나 아이템을 주는 것과 같은 동작을 트리거할 수 있습니다.
- 이 메일 템플릿은 특별한 메일 확인 템플릿이기 때문에 PlayFab에서는 플레이어 메일을 확인됨으로 표시합니다.
- PlayFab에서는 리디렉션 URL을 반환하여 플레이어에게 콜백 URL 웹 사이트를 보냅니다.
이 웹 사이트에서는 정적인 Thanks for verifying your email(메일을 확인해 주셔서 감사합니다) 메시지나 더욱 상세한 메시지가 표시될 수 있습니다. 리디렉션 URL은 https://www.example.com/?token=2346241B7C277796와(과) 같은 형태입니다.
메일에 있는 URL을 선택합니다.
example.com 웹 사이트로 이동됩니다.
게임 관리자를 사용하여 플레이어 프로필을 봅니다.
확인 상태가 변경되었음을 알 수 있습니다.
결론
이 자습서의 내용을 마무리합니다. SMTP 서버를 설정하고 메일 템플릿을 만들고 메일 주소를 확인하는 메일을 플레이어에게 보내는 규칙을 만드는 방법을 살펴보았습니다.
이 자습서에 대한 질문이나 피드백이 있으면 커뮤니티 포럼에서 알려 주세요.