iOS 가입 및 인증
애플 아이디를 활용하여 회원 가입 및 인증을 합니다.
URL 확인
이 API는 service-account.playnanoo.com 도메인을 사용합니다.
애플 인증 SDK 등록
애플 인증 Unity Package를 다운로드하여 프로젝트에 Import 합니다.
API 정보
- URL:
https://service-account.playnanoo.com/api/v20240101/social/signin - Method:
PUT - 인증 필요: 아니오
요청 파라미터
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
| account_token | string | 필수 | 소셜 로그인 토큰 (Apple ID Token) |
| account_type | string | 필수 | 계정 타입 (PN_ACCOUNT_APPLE_ID = "APPLE ID") |
DeviceInfo 상속
이 API의 Req 클래스는 DeviceInfo를 상속받습니다. DeviceInfo의 모든 속성이 자동으로 포함됩니다.
응답 데이터
Res 클래스
| 필드 | 타입 | 설명 |
|---|---|---|
| Token | SerializeTokenData | 토큰 정보 |
| Player | SerializePlayerData | 플레이어 정보 |
SerializeTokenData 구조
| 필드 | 타입 | 설명 |
|---|---|---|
| AccessToken | string | 액세스 토큰 |
| RefreshToken | string | 리프레시 토큰 |
SerializePlayerData 구조
| 필드 | 타입 | 설명 |
|---|---|---|
| UserUniqueID | string | 사용자 고유 ID |
| OpenID | string | 오픈 ID |
| Nickname | string | 닉네임 |
| LinkedID | string | 연동 ID |
| LinkedType | string | 연동 타입 |
| PurchaseCount | int | 구매 횟수 |
| PurchaseCurrencyCode | string | 구매 통화 코드 |
| PurchaseTotalPrice | double | 총 구매 금액 |
| PurchaseVoidedCount | int | 환불 횟수 |
| PurchaseVoidedCurrencyCode | string | 환불 통화 코드 |
| PurchaseVoidedTotalPrice | double | 총 환불 금액 |
| Country | string | 국가 |
| Timezone | string | 타임존 |
| Offset | int | 시간 오프셋 |
| JoinPeriod | int | 가입 기간 |
Unity C# 구현
using AppleAuth;
using AppleAuth.Native;
using AppleAuth.Enums;
using AppleAuth.Extensions;
using AppleAuth.Interfaces;
using UnityEngine;
using System.Text;
public class AppleSignInExample : MonoBehaviour
{
IAppleAuthManager _appleAuthManager;
void Start()
{
if (AppleAuthManager.IsCurrentPlatformSupported)
{
var deserializer = new PayloadDeserializer();
_appleAuthManager = new AppleAuthManager(deserializer);
}
}
private void Update()
{
_appleAuthManager?.Update();
}
public void SignIn()
{
var loginArgs = new AppleAuthLoginArgs();
_appleAuthManager.LoginWithAppleId(
loginArgs,
credential =>
{
var appleIdCredential = credential as IAppleIDCredential;
if (appleIdCredential != null)
{
string idToken = Encoding.UTF8.GetString(
appleIdCredential.IdentityToken,
0,
appleIdCredential.IdentityToken.Length
);
// SocialSignin API 호출
SocialSignin(idToken);
}
},
error =>
{
var authorizationErrorCode = error.GetAuthorizationErrorCode();
Debug.LogError($"Apple 인증 실패: {authorizationErrorCode}");
}
);
}
private void SocialSignin(string token)
{
//SocialSignIn(token, PN_ACCOUNT_APPLE_ID);
}
}
사용 방법
1. Apple 로그인 시작
SignIn();
Apple 로그인 창이 표시되고 사용자가 Apple 계정으로 인증합니다.
2. 토큰으로 계정 연동
인증 완료 후 SendTokenToServer 메소드에서 받은 token으로 PlayNANOO API를 호출합니다:
신규 로그인 (SocialSignIn)
public void SocialSignIn(string token, string accountType)
{
// Apple 계정으로 처음 로그인
//accountType : PN_ACCOUNT_APPLE_ID
}
참조
- 계정 타입 값:
PN_ACCOUNT_APPLE_ID = "APPLE ID"- 자세한 정보는 기타 > 계정 타입 정보 참조 - 회원 전환: 비회원 연동 > 회원 전환 문서 참조