跳转到主要内容

账户注册及认证

使用 Facebook 账户进行注册和认证。支持 iOS、Android 通用。

URL 确认

此 API 使用 service-account.playnanoo.com 域名。

API 信息

  • URL: https://service-account.playnanoo.com/api/v20240101/social/signin
  • Method: PUT
  • 需要认证: 否

请求参数

参数类型必需说明
account_tokenstring必需社交登录令牌(Facebook Access Token)
account_typestring必需账户类型(PN_ACCOUNT_FACEBOOK = "FACEBOOK")
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 UnityEngine;
using Facebook.Unity;
using System.Collections.Generic;

public class FacebookSignInExample : MonoBehaviour
{
void Start()
{
if (!FB.IsInitialized)
{
FB.Init(OnFBInitComplete, OnFBHideUnity);
}
else
{
FB.ActivateApp();
}
}

void OnFBInitComplete()
{
if (FB.IsInitialized)
{
FB.ActivateApp();
}
else
{
Debug.Log("Failed to Initialize the Facebook SDK");
}
}

void OnFBHideUnity(bool isShow)
{
Time.timeScale = isShow ? 1 : 0;
}

public void FacebookSignIn()
{
var para = new List<string>() { "public_profile", "email" };
FB.LogInWithReadPermissions(para, FacebookAuthCallback);
}

void FacebookAuthCallback(ILoginResult result)
{
if (FB.IsLoggedIn)
{
// SocialSignin API 호출
SocialSignin(result.AccessToken.TokenString);
}
else
{
Debug.Log("Login Cancel");
}
}

private void SocialSignin(string token)
{
//SocialSignIn(token, PN_ACCOUNT_FACEBOOK);
}
}

使用方法

1. 开始 Facebook 登录

FacebookSignIn();

显示 Facebook 登录窗口,用户使用 Facebook 账户进行认证。

2. 使用令牌进行账户关联

认证完成后,使用 SocialSignin 方法中获取的 token 调用 PlayNANOO API:

新登录(SocialSignIn)

public void SocialSignIn(string token, string accountType)
{
// Facebook 账户首次登录
//accountType : PN_ACCOUNT_FACEBOOK
}
参考