본문으로 건너뛰기

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_tokenstring필수소셜 로그인 토큰 (Apple ID Token)
account_typestring필수계정 타입 (PN_ACCOUNT_APPLE_ID = "APPLE ID")
DeviceInfo 상속

이 API의 Req 클래스는 DeviceInfo를 상속받습니다. DeviceInfo의 모든 속성이 자동으로 포함됩니다.

응답 데이터

Res 클래스

필드타입설명
TokenSerializeTokenData토큰 정보
PlayerSerializePlayerData플레이어 정보

SerializeTokenData 구조

필드타입설명
AccessTokenstring액세스 토큰
RefreshTokenstring리프레시 토큰

SerializePlayerData 구조

필드타입설명
UserUniqueIDstring사용자 고유 ID
OpenIDstring오픈 ID
Nicknamestring닉네임
LinkedIDstring연동 ID
LinkedTypestring연동 타입
PurchaseCountint구매 횟수
PurchaseCurrencyCodestring구매 통화 코드
PurchaseTotalPricedouble총 구매 금액
PurchaseVoidedCountint환불 횟수
PurchaseVoidedCurrencyCodestring환불 통화 코드
PurchaseVoidedTotalPricedouble총 환불 금액
Countrystring국가
Timezonestring타임존
Offsetint시간 오프셋
JoinPeriodint가입 기간

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
}
참조