Account Registration
Sign up with an email account.
API Information
- URL:
https://service-account.playnanoo.com/api/v20240101/email/signup - Method:
PUT - Authentication Required: No
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| linked_id | string | Required | Email address |
| linked_password | string | Required | Password |
| platform | string | Required | Platform (e.g., "aos", "ios") |
| device_id | string | Required | Device unique ID |
| device_model | string | Required | Device model name |
| device_name | string | Required | Device name |
| device_os | string | Required | Device OS |
| device_language | string | Required | Device language (e.g., "KO", "EN") |
Response Data
Token Information
AccessToken: Access tokenRefreshToken: Refresh token
Player Information
UserUniqueID: User unique IDOpenID: Open IDNickname: NicknameLinkedID: Linked IDLinkedType: Linked typePurchaseCount: Purchase countPurchaseCurrencyCode: Purchase currency codePurchaseTotalPrice: Total purchase amountCountry: CountryTimezone: TimezoneOffset: Time offsetJoinPeriod: Join period
Code Example
void UMyGame::EmailSignup(const FString& Email, const FString& Password)
{
// Create request body with player information
TSharedPtr<FJsonObject> Body = FPlayNANOOHelper::CreateRequestBody();
Body->SetStringField(TEXT("linked_id"), Email);
Body->SetStringField(TEXT("linked_password"), Password);
Body->SetStringField(TEXT("device_name"), FPlatformMisc::GetDeviceMakeAndModel());
// Convert to JSON string
FString JsonBody = FPlayNANOOHelper::ToJsonString(Body);
// HTTP request
TSharedRef<IHttpRequest> Request = FHttpModule::Get().CreateRequest();
Request->SetURL(TEXT("https://service-account.playnanoo.com/api/v20240101/email/signup"));
Request->SetVerb(TEXT("PUT"));
FPlayNANOOHelper::SetCommonHeaders(Request, false); // No authentication token required
Request->SetContentAsString(JsonBody);
Request->OnProcessRequestComplete().BindLambda(
[](FHttpRequestPtr Req, FHttpResponsePtr Res, bool bSuccess)
{
if (bSuccess && Res.IsValid())
{
TSharedPtr<FJsonObject> JsonObject;
TSharedRef<TJsonReader<>> Reader = TJsonReaderFactory<>::Create(Res->GetContentAsString());
if (FJsonSerializer::Deserialize(Reader, JsonObject))
{
// Token information
const TSharedPtr<FJsonObject>* TokenObject;
if (JsonObject->TryGetObjectField(TEXT("Token"), TokenObject))
{
FString AccessToken, RefreshToken;
(*TokenObject)->TryGetStringField(TEXT("AccessToken"), AccessToken);
(*TokenObject)->TryGetStringField(TEXT("RefreshToken"), RefreshToken);
UE_LOG(LogTemp, Log, TEXT("Signup successful"));
}
// Player information
const TSharedPtr<FJsonObject>* PlayerObject;
if (JsonObject->TryGetObjectField(TEXT("Player"), PlayerObject))
{
FString UserUniqueID, Nickname;
(*PlayerObject)->TryGetStringField(TEXT("UserUniqueID"), UserUniqueID);
(*PlayerObject)->TryGetStringField(TEXT("Nickname"), Nickname);
UE_LOG(LogTemp, Log, TEXT("UserUniqueID: %s"), *UserUniqueID);
}
}
}
});
Request->ProcessRequest();
}
Device Information
You can obtain device information using Unreal Engine's FPlatformMisc class.