ตรวจสอบข้อมูลผู้ใช้ คุณสามารถตรวจสอบโปรไฟล์ของผู้ใช้และสถานะการระงับหลังจากที่ผู้ใช้เข้าสู่ระบบแล้ว
การดึงข้อมูลโปรไฟล์ผู้ใช้ เมื่อผู้ใช้ลงชื่อเข้าใช้ คุณสามารถดึงข้อมูลโปรไฟล์ผู้ใช้ได้โดยการเรียกใช้วิธี getProfile()
ของคลาส AuthV4 ข้อมูลโปรไฟล์ประกอบด้วย playerId
, playerName
สำหรับชื่อที่แสดง และ playerImageUrl
สำหรับภาพขนาดย่อของผู้ใช้
ต่อไปนี้คือตัวอย่างโค้ดเพื่อรับข้อมูลโปรไฟล์
Unity Unreal Engine C++ Kotlin Java Swift Objective-C
เอกสารอ้างอิง API : hive.AuthV4.getProfile
ใช้ hive;
List<Int64> playerIdList = new List();
playerIdList.Add(0123);
playerIdList.Add(4567);
AuthV4.getProfile(playerIdList, (ResultAPI result, List profileInfoList) => {
if (!result.isSuccess()) {
return;
}
if (profileInfoList != null) {
foreach (ProfileInfo profileInfo in profileInfoList) {
// PlayerName: profileInfo.playerName
// PlayerId: profileInfo.playerId
}
}
});
#include "HiveAuthV4.h"
TArray < int64 > PlayerIdArray ;
PlayerIdArray . Add ( 1234 );
PlayerIdArray . Add ( 5678 );
FHiveAuthV4 :: GetProfile ( PlayerIdArray , FHiveAuthV4OnGetProfileDelegate :: CreateLambda ([ this ]( const FHiveResultAPI & Result , const TArray < FHiveProfileInfo > ProfileInfoArray ) {
if ( ! Result . IsSuccess ()) {
return ;
}
for ( const auto & ProfileInfo : ProfileInfoArray )
{
// PlayerName: ProfileInfo.PlayerName;
// PlayerId : ProfileInfo.ProfileInfo;
}
}));
เอกสารอ้างอิง API : AuthV4::getProfile
#include <HIVE_SDK_Plugin/HIVE_CPP.h>
using namespace std ;
using namespace hive ;
vector < PlayerID > playerIdList ;
playerIdList . push_back ( 0123 );
playerIdList . push_back ( 4567 );
AuthV4 :: getProfile ( playerIdList , [ = ]( ResultAPI const & result , vector < ProfileInfo > const & profileInfoList ) {
if ( ! result . isSuccess ()) {
return ;
}
if ( profileInfoList != null ) {
for ( auto profileInfo : profileInfoList ) {
// PlayerName: profileInfo.playerName
// PlayerId: profileInfo.playerId
}
}
});
เอกสารอ้างอิง API : AuthV4.getProfile
import com.hive.AuthV4
import com.hive.ResultAPI
val playerIdList = arrayListOf<Long>(
1234,
4567
)
AuthV4.getProfile(playerIdList, object : AuthV4.AuthV4GetProfileListener {
override fun onAuthV4GetProfile(result: ResultAPI, profileInfoList: ArrayList<AuthV4.ProfileInfo>?) {
if (!result.isSuccess) {
return
}
if (profileInfoList != null) {
for (i in 0 until profileInfoList.size) {
// PlayerName: profileInfoList[i].playerName
// PlayerId: profileInfoList[i].playerId
}
}
}
})
เอกสารอ้างอิง API : com.hive.AuthV4.getProfile
import com.hive.AuthV4 ;
import com.hive.ResultAPI ;
ArrayList < Long > playerIdList = new ArrayList <> ( Arrays . asList (
1234L ,
5678L
));
AuthV4 . INSTANCE . getProfile ( playerIdList , ( result , profileInfoList ) -> {
if ( ! result . isSuccess ()) {
return ;
}
if ( profileInfoList != null ) {
for ( AuthV4 . ProfileInfo profileInfo : profileInfoList ) {
// PlayerName: profileInfo.getPlayerName();
// PlayerId: profileInfo.getPlayerId();
}
}
});
API Reference : AuthV4Interface.getProfile
import HIVEService
var playerIdList = [ Int64 ]()
playerIdList . append ( 0123 )
playerIdList . append ( 4567 )
AuthV4Interface . getProfile ( playerIdList ) { result , profileInfoList in
if ! result . isSuccess () {
return
}
if let profileInfoList = profileInfoList {
for ( profileInfo in profileInfoList ) {
// PlayerName: profileInfo.playerName
// PlayerId: profileInfo.playerId
}
}
}
API Reference : HIVEAuthV4:getProfile
#import <HIVEService/HIVEService-Swift.h>
NSMutableArray < NSNumber *> * playerIdList = [[[ NSMutableArray ] alloc ] init ];
[ playerIdList addObject : [ NSNumber numberWithLongLong : 0123 ]];
[ playerIdList addObject : [ NSNUmber numberWithLongLong : 4567 ]];
[ HIVEAuthV4 getProfile : playerIdList handler : ^ ( HIVEResultAPI * result , NSArray < HIVEProfileInfo *> * profileInfoList ) {
if ( ! [ result isSuccess ]) {
return ;
}
if ( profileInfoList != nil ) {
for ( HIVEProfileInfo * profileInfo in profileInfoList ) {
// PlayerName: profileInfo.playerName
// PlayerId: profileInfo.playerId
}
}
}];
ตรวจสอบรายการดำ เมื่อผู้ใช้ลงชื่อเข้าใช้หรือซิงค์กับ IdP, Hive SDK จะตรวจสอบรายชื่อดำโดยอัตโนมัติและระงับผู้ใช้จากการเล่นเกม หากคุณต้องการตรวจสอบสถานะการระงับผู้ใช้ระหว่างเกม, ใช้เมธอด checkBlacklist()
เพื่อตรวจสอบสถานะการระงับของผู้ใช้แบบเรียลไทม์และจำกัดการเล่นเกม ขึ้นอยู่กับค่าของพารามิเตอร์ isShow ในขณะเรียก checkBlacklist()
, Hive SDK จะจะแสดงป๊อปอัปสถานะการระงับโดยตรงหรือส่งคืนเนื้อหาป๊อปอัปเพื่อปรับแต่งป๊อปอัปสถานะการระงับ
การใช้ป๊อปอัปการระงับที่จัดเตรียมไว้ : ตั้งค่าพารามิเตอร์ isShow
เป็น true
. การใช้ป๊อปอัปการระงับที่กำหนดเอง : ตั้งค่าพารามิเตอร์ isShow
เป็น false
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับข้อมูลป๊อปอัป โปรดดูที่ ข้อมูลป๊อปอัปที่ส่งคืนโดย Hive SDK ด้านล่าง.
ตัวอย่างหน้าจอของป๊อปอัพการระงับ
หากผลลัพธ์ของการเรียกใช้เมธอด checkBlacklist()
สำเร็จ, Hive SDK จะส่งค่าตามตารางด้านล่างผ่านวัตถุ AuthV4MaintenanceInfo
ชื่อฟิลด์ คำอธิบาย ประเภท title ชื่อป๊อปอัพ สตริง message เนื้อหาป๊อปอัพ สตริง button ข้อความบนป้ายของปุ่มป๊อปอัพ สตริง action ประเภทการกระทำเมื่อผู้ใช้แตะปุ่มป๊อปอัพ * OPEN_URL: เปิด URL ที่ส่งโดยเบราว์เซอร์ภายนอก * EXIT: สิ้นสุดแอป * DONE: ปิดป๊อปอัพการบำรุงรักษา ประเภทการจัด enumerations ของ AuthV4MaintenanceActionType url URL ที่แสดงโดยเบราว์เซอร์ภายนอก ซึ่งจะใช้ได้เมื่อค่าของฟิลด์ action
เป็น OPEN_URL สตริง remainingTime เวลาที่เหลือจนกว่าจะเสร็จสิ้นการบำรุงรักษา (หน่วย: วินาที). เวลาจะรีเฟรชแบบเรียลไทม์และเมื่อถึงศูนย์ แอปจะถูกปิด จำนวนเต็ม
ต่อไปนี้คือตัวอย่างโค้ดเพื่อตรวจสอบผู้ใช้ที่อยู่ภายใต้การระงับ
ในกรณีที่ไม่ใช้ UI SDK ของ Hive (isShow = false) Unity Unreal Engine C++ Kotlin Java Swift Objective-C
API Reference: hive.AuthV4.checkBlacklist
using hive;
Boolean isShow = false;
AuthV4.checkBlacklist(isShow, (ResultAPI result, List<AuthV4.MaintenanceInfo> maintenanceInfo) => {
if (!result.isSuccess()) {
// การตรวจสอบการระงับล้มเหลว
return;
}
if(maintenanceInfo != null){
// ในกรณีของผู้ใช้ที่ถูกระงับ
} else{
// หากคุณเป็นผู้ใช้ทั่วไป
}
});
#include "HiveAuthV4.h"
bool bIsShow = false ;
FHiveAuthV4 :: CheckBlacklist ( bIsShow ,
FHiveAuthV4OnMaintenanceInfoDelegate :: CreateLambda ([ this ]( const FHiveResultAPI & Result , const TArray < FHiveAuthV4MaintenanceInfo >& AuthV4MaintenanceInfoArray ) {
if ( ! Result . IsSuccess ()) {
// การร้องขอเพื่อตรวจสอบการระงับล้มเหลว
return ;
}
if ( AuthV4MaintenanceInfoArray . Num () > 0 ) {
// ในกรณีของผู้ใช้ที่ถูกระงับ
} else {
// หากคุณเป็นผู้ใช้ทั่วไป
}
}));
API Reference: AuthV4.checkBlacklist
#include <HIVE_SDK_Plugin/HIVE_CPP.h>
using namespace std ;
using namespace hive ;
bool isShow = false ;
AuthV4 :: checkBlacklist ( isShow , [ = ]( ResultAPI const & result , vector < AuthV4MaintenanceInfo > const & maintenanceInfo ) {
if ( ! result . isSuccess ) {
// การตรวจสอบการระงับล้มเหลว
return ;
}
if ( maintenanceInfo != null ){
// In case of suspended user
} else {
// If you are a general user
}
});
API Reference: AuthV4.checkBlacklist
import com.hive.AuthV4
import com.hive.ResultAPI
val isShow = false
AuthV4.checkBlacklist(isShow, object : AuthV4.AuthV4MaintenanceListener {
override fun onAuthV4Maintenance(result: ResultAPI, maintenanceInfo: ArrayList<AuthV4.AuthV4MaintenanceInfo>?) {
if (!result.isSuccess) {
// การร้องขอเพื่อตรวจสอบการระงับล้มเหลว
return
}
if (maintenanceInfo != null) {
// In case of suspended user
} else {
// If you are a general user
}
}
})
API Reference: com.hive.AuthV4.checkBlacklist
import com.hive.AuthV4 ;
import com.hive.ResultAPI ;
boolean isShow = false ;
AuthV4 . INSTANCE . checkBlacklist ( isShow , ( result , maintenanceInfo ) -> {
if ( ! result . isSuccess ()) {
// การตรวจสอบการระงับล้มเหลว
return ;
}
if ( maintenanceInfo != null ) {
// In case of suspended user
} else {
// If you are a general user
}
});
API Reference: AuthV4Interface.checkBlacklist
import HIVEService
let isShow = false
AuthV4Interface . checkBlacklist ( isShow ) { result , maintenanceInfo in
if ! result . isSuccess () {
// การร้องขอเพื่อตรวจสอบการระงับล้มเหลว
return
}
หากให้ maintenanceInfo = maintenanceInfo {
// ในกรณีที่ผู้ใช้ถูกระงับ
} else {
// หากคุณเป็นผู้ใช้ทั่วไป
}
}
API Reference: HIVEAuthV4:checkBlacklist
#import <HIVEService/HIVEService-Swift.h>
BOOL isShow = NO ;
[ HIVEAuthV4 checkBlackList : isShow handler : ^ ( HIVEResultAPI * result , HIVEAuthV4MaintenanceInfo * maintenanceInfo ) {
if ( ! [ result isSuccess ]) {
// การตรวจสอบการระงับล้มเหลว
return ;
}
if ( maintenanceInfo != nil ) {
// ในกรณีของผู้ใช้ที่ถูกระงับ
} else {
// หากคุณเป็นผู้ใช้ทั่วไป
}
}];
ในกรณีที่ใช้ Hive SDK UI (isShow = true) Unity Unreal Engine C++ Kotlin Java Swift Objective-C
API Reference: hive.AuthV4.checkBlacklist
// ถ้า isShow เป็นจริง, Hive SDK จะแสดงป๊อปอัพการระงับ.
Boolean isShow = true;
// Hive SDK AuthV4 requests to check whether suspended user or not.
AuthV4.checkBlacklist(isShow, (ResultAPI result, List<AuthV4.MaintenanceInfo> maintenanceInfo)=>{
if (result.isSuccess()) {
// ในกรณีของผู้ใช้ปกติ
} else if (result.needExit()) {
// TODO: Implement the termination of the app.
// ตัวอย่าง) Application.Quit(); }});
#include "HiveAuthV4.h"
// ถ้า isShow เป็นจริง, Hive SDK จะแสดงป๊อปอัพการระงับ.
bool bIsShow = true ;
// Hive SDK AuthV4 requests เพื่อตรวจสอบว่าผู้ใช้ถูกระงับหรือไม่
FHiveAuthV4 :: CheckBlacklist ( bIsShow ,
FHiveAuthV4OnMaintenanceInfoDelegate :: CreateLambda ([ this ]( const FHiveResultAPI & Result , const TArray < FHiveAuthV4MaintenanceInfo >& AuthV4MaintenanceInfoArray ) {
if ( Result . IsSuccess ()) {
// ในกรณีของผู้ใช้ปกติ
} else if ( Result . NeedExit () {
// TODO: Implement the termination of the app.
// Ex) UKismetSystemLibrary::QuitGame(GetWorld(), nullptr, EQuitPreference::Quit, false);
}
}));
API Reference: AuthV4.checkBlacklist
// ถ้า isShow เป็นจริง, Hive SDK จะแสดงป๊อปอัปการระงับ.
bool isShow = true ;
// Hive SDK AuthV4 requests to check whether suspended user or not.
AuthV4 :: checkBlacklist ( isShow , [ = ]( ResultAPI const & result , std :: vector < AuthV4MaintenanceInfo > const & maintenanceInfolist ){
if ( result . isSuccess ()) {
// In case of normal user
} else if ( result . needExit ()) {
// TODO: Implement the termination of the app.
// Users of the Cocos2d-x engine
// ex) exit(0);
// Unreal engine users
// Example) UKismetSystemLibrary::QuitGame(GetWorld(), nullptr, EQuitPreference::Quit, false); }});
API Reference: AuthV4.checkBlacklist
// ถ้า isShow เป็นจริง, Hive SDK จะแสดงป๊อปอัปการระงับ.
val isShow = true
// Hive SDK AuthV4 requests to check whether suspended user or not.
AuthV4.checkBlacklist(isShow, object : AuthV4.AuthV4MaintenanceListener {
override fun onAuthV4Maintenance(
result: ResultAPI,
maintenanceInfo: ArrayList<AuthV4.AuthV4MaintenanceInfo>? ) { if (result.isSuccess) {
// In case of normal user
} else if (result.needExit()) {
// TODO: Implement the termination of the app.
// Example) exitProcess(0) } }})
API Reference: com.hive.AuthV4.checkBlacklist
// If isShow is true, Hive SDK displays suspension popup.
boolean isShow = true ;
// Hive SDK AuthV4 requests เพื่อตรวจสอบว่าผู้ใช้ถูกระงับหรือไม่
AuthV4 . checkBlacklist ( isShow , new AuthV4 . AuthV4MaintenanceListener () {
@Override
public void onAuthV4Maintenance ( ResultAPI result , ArrayList < AuthV4 . AuthV4MaintenanceInfo > maintenanceInfo ) {
if ( result . isSuccess ()) {
// ในกรณีของผู้ใช้ปกติ
} else if ( result . needExit ()) {
// TODO: Implement the termination of the app.
// Example) System.exit(0); } }});
API Reference: AuthV4Interface.checkBlacklist
// ถ้า isShow เป็นจริง, Hive SDK จะแสดงป๊อปอัปการระงับ.
let isShow = true
// Hive SDK AuthV4 requests to check whether suspended user or not.
AuthV4Interface . checkBlacklist ( isShow ) { ( result , maintenanceInfolist ) in
if result . isSuccess () {
// In case of normal user
}
else if result . needExit () {
// TODO: Implement the termination of the app.
// Example) exit(0)
}
API Reference: HIVEAuthV4:checkBlacklist
// If isShow is YES, Hive SDK displays suspension popup.
BOOL isShow = YES ;
// Hive SDK AuthV4 requests to check whether suspended user or not.
[ HIVEAuthV4 checkBlacklist : isShow handler :^ ( HIVEResultAPI * result , NSArray < HIVEAuthV4MaintenanceInfo *> * maintenanceInfolist ) {
if ( result . isSuccess ) {
// In case of normal user
} else if ( result . needExit ) {
// TODO: Implement the termination of the app.
// Example) exit(0); }}];
ใช้ที่อยู่อีเมลของผู้ใช้ บริษัทเกมมีฟังก์ชันในการรวบรวมข้อมูลอีเมลในข้อมูลโปรไฟล์ของผู้ใช้ที่เข้าสู่ระบบ เพื่อรวบรวมข้อมูลอีเมล คุณต้องเปิดใช้งานฟีเจอร์ใน Hive Console.
ก่อนอื่น คุณต้องขออนุญาตในการเก็บรวบรวมอีเมลจาก ‘IDP ที่สามารถเก็บรวบรวมอีเมล’ จากรายการ IDP ด้านล่าง
IdPs ที่มีให้สำหรับการเก็บอีเมล: Google, Facebook, Huawei (Android), membership, Apple (iOS) ไม่สามารถเก็บอีเมลจาก IdPs: Google Play Games, Apple Game Center, QQ, VK, WeChat, Line, Weverse <
หลังจากเรียกใช้ Explicit Login API คุณสามารถรับที่อยู่อีเมลของผู้ใช้ที่เข้าสู่ระบบโดยการอ้างอิง providerInfoData
ในอินสแตนซ์ของคลาส PlayerInfo
ซึ่งจะถูกส่งกลับใน callback.
ใช้ ProviderType
เป็นกุญแจใน providerInfoData
เพื่อดึงข้อมูล ProviderInfo สำหรับรายละเอียดเพิ่มเติม ดูตัวอย่างโค้ดด้านล่าง
Unity Unreal Engine C++ Kotlin Java Swift Objective-C
เอกสารอ้างอิง API : hive.AuthV4.showSignIn
// Request Hive SDK AuthV4 Authentication UI
AuthV4.showSignIn((ResultAPI result, AuthV4.PlayerInfo playerInfo)=>{
if (result.isSuccess()) {
// authentication success
// playerInfo: Authenticated user information
// ตัวอย่างการดึงข้อมูลอีเมล
foreach (KeyValuePair<AuthV4.ProviderType , AuthV4.ProviderInfo> entry in playerInfo.providerInfoData) {
AuthV4.ProviderInfo providerInfo = entry.Value;
if(providerInfo.providerEmail != null && providerInfo.providerEmail != "") {
string email = providerInfo.providerEmail;
break;
}
}
}
else if (result.needExit()) {
// TODO: Implement the termination of the app
// Example) Application.Quit();
}
});
#include "HiveAuthV4.h"
// ขอ Hive SDK AuthV4 การตรวจสอบสิทธิ์ UI
FHiveAuthV4 :: ShowSignIn ( FHiveAuthV4OnSignInDelegate :: CreateLambda ([ this ]( const FHiveResultAPI & Result , const FHivePlayerInfo & PlayerInfo ) {
if ( Result . IsSuccess ()) {
// การตรวจสอบสิทธิ์สำเร็จ
// playerInfo: ข้อมูลผู้ใช้ที่ตรวจสอบสิทธิ์
// ตัวอย่างการดึงข้อมูลอีเมล
for ( const auto & ProviderInfoEntry : PlayerInfo . ProviderInfoData ) {
FHiveProviderInfo ProviderInfo = ProviderInfoEntry . Value ;
FString Email = ProviderInfo . ProviderEmail ;
}
} else if ( Result . NeedExit ()) {
// TODO: Implement the termination of the app
// ผู้ใช้ของเอนจิน Cocos2d-x
// ex) UKismetSystemLibrary::QuitGame(GetWorld(), nullptr, EQuitPreference::Quit, false);
}
}));
เอกสารอ้างอิง API : AuthV4::showSignIn
// ขอ Hive SDK AuthV4 การตรวจสอบสิทธิ์ UI
AuthV4 :: showSignIn ([ = ]( ResultAPI const & result , PlayerInfo const & playerInfo ) {
if ( result . isSuccess ()) {
// การตรวจสอบสิทธิ์สำเร็จ
// playerInfo: ข้อมูลผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์
// ตัวอย่างการดึงข้อมูลอีเมล
for ( auto it = playerInfo . providerInfoData . begin (); it != playerInfo . providerInfoData . end (); ++ it ) {
hive :: ProviderInfo providerInfo = it -> second ;
if ( ! providerInfo . providerEmail . empty ()) {
std :: string email = providerInfo . providerEmail ;
break ;
}
}
}
else if ( result . needExit ()) {
// TODO: Implement the termination of the app
// ผู้ใช้ของเอนจิน Cocos2d-x
// ex) exit(0);
// ผู้ใช้เอนจิน Unreal
// ตัวอย่าง) UKismetSystemLibrary::QuitGame(GetWorld(), nullptr, EQuitPreference::Quit, false);
}
});
เอกสาร API : com.hive.AuthV4.showSignIn
// Request Hive SDK AuthV4 Authentication UI
AuthV4.showSignIn(object : AuthV4.AuthV4SignInListener{
override fun onAuthV4SignIn(result: ResultAPI, playerInfo: AuthV4.PlayerInfo?) {
if (result.isSuccess) {
// authentication success
// playerInfo: Authenticated user information
// ตัวอย่างการดึงข้อมูลอีเมล
playerInfo?.let {
for ((key, value) in it.providerInfoData) {
var providerInfo: AuthV4.ProviderInfo = value
if(providerInfo.providerEmail.isNotEmpty()) {
val email = providerInfo.providerEmail
break
}
}
}
} else if (result.needExit()) {
// TODO: Implement the termination of the app
// ex) exitProcess(0)
}
}
})
เอกสารอ้างอิง API : com.hive.AuthV4.showSignIn
// Request Hive SDK AuthV4 Authentication UI
AuthV4 . showSignIn ( new AuthV4 . AuthV4SignInListener () {
@Override
public void onAuthV4SignIn ( ResultAPI result , AuthV4 . PlayerInfo playerInfo ) {
if ( result . isSuccess ()) {
// การตรวจสอบสิทธิ์สำเร็จ
// playerInfo: ข้อมูลผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์
// ตัวอย่างการดึงข้อมูลอีเมล
if ( playerInfo != null ) {
for ( Map . Entry < AuthV4 . ProviderType , AuthV4 . ProviderInfo > entry : playerInfo . getProviderInfoData (). entrySet ()) {
AuthV4 . ProviderInfo providerInfo = entry . getValue ();
if ( providerInfo . getProviderEmail () != "" ) {
String email = providerInfo . getProviderEmail ();
break ;
}
}
}
}
else if ( result . needExit ()) {
// TODO: Implement the termination of the app
// Example) System.exit(0);
}
}
});
เอกสาร API : HIVEAuthV4:showSignIn
var email = String ()
// ขอ Hive SDK AuthV4 การตรวจสอบสิทธิ์ UI
AuthV4Interface . showSignIn { ( result , playerInfo ) in
หากผลลัพธ์ . isSuccess () {
// การตรวจสอบสิทธิ์สำเร็จ
// playerInfo: ข้อมูลผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว
// ตัวอย่างการดึงข้อมูลอีเมล
if let playerInfo = playerInfo {
// ค้นหาข้อมูล providerInfo ที่มี providerEmail (ผู้ให้บริการของการเข้าสู่ระบบปัจจุบัน)
for key in playerInfo . providerInfoData . keys {
if let providerInfo = playerInfo . providerInfoData [ key ],
providerInfo . providerEmail . count > 0 {
// providerEmail != ""
email = providerInfo . providerEmail
break
}
}
}
} else if result . needExit () {
// TODO: Implement the termination of the app
// Example) exit(0)
}
}
เอกสารอ้างอิง API : HIVEAuthV4:showSignIn
__block NSString * email = @"" ;
// ขอ Hive SDK AuthV4 การตรวจสอบสิทธิ์ UI
[ HIVEAuthV4 showSignIn :^ ( HIVEResultAPI * result , HIVEPlayerInfo * playerInfo ) {
if ([ result isSuccess ]){
// authentication success
// playerInfo: Authenticated user information
// ตัวอย่างการดึงข้อมูลอีเมล
if ( playerInfo != nil ) {
// ค้นหาข้อมูล providerInfo ที่มี providerEmail อยู่ (ผู้ให้บริการของการลงชื่อเข้าใช้ปัจจุบัน)
for ( NSString * key in playerInfo . providerInfoData . allKeys ) {
HIVEProviderInfo * providerInfo = playerInfo . providerInfoData [ key ];
if ( providerInfo != nil && providerInfo . providerEmail . length > 0 ) {
// providerEmail != ""
email = providerInfo . providerEmail ;
break ;
}
}
}
} else if ([ result needExit ]) {
// TODO: Implement the termination of the app
// ex) exit(0);
}
}];
Note การเข้าสู่ระบบแขกและการเข้าสู่ระบบที่กำหนดเองไม่มีข้อมูลอีเมลใน ProviderInfo
มันถูกส่งกลับเป็นอักขระว่าง ("").
หากไม่มีข้อมูลอีเมลของผู้ใช้ ข้อมูลอีเมลใน ProviderInfo
จะถูกส่งคืนเป็นอักขระว่าง ("").