ตรวจสอบข้อมูลผู้ใช้  หากคุณเข้าสู่ระบบสำเร็จแล้ว คุณสามารถตรวจสอบข้อมูลโปรไฟล์และข้อมูลการระงับของผู้ใช้ที่เข้าสู่ระบบได้. 
  การเปิดเผยโปรไฟล์ผู้ใช้  Hive SDK มีฟังก์ชันในการแสดงโปรไฟล์ผู้ใช้ในเว็บวิวภายในแอป เพื่อแสดงหน้าจอโปรไฟล์ คุณต้องทำตามขั้นตอนเหล่านี้
  นักพัฒนาจะสร้างปุ่มหรือองค์ประกอบ UI ที่สามารถเปิดเผยโปรไฟล์ในแอปได้  เมื่อผู้ใช้เลือกปุ่มหรือองค์ประกอบ UI นี้ในแอป แอปจะใช้ฟีเจอร์การตรวจสอบสิทธิ์ Hive SDK เพื่อเรียกใช้ AuthV4.showProfile.    
 การเรียกใช้ AuthV4.showProfile จะทำให้แสดงหน้าจอโปรไฟล์ที่จัดเตรียมโดย Hive SDK ผู้ใช้สามารถดูและเปลี่ยนรูปโปรไฟล์และชื่อเล่นของตนได้บนหน้าจอโปรไฟล์
 
 
 นี่คือตัวอย่างโค้ดที่เปิดเผยโปรไฟล์
  
 การใช้หน้าจอโปรไฟล์ขึ้นอยู่กับดุลยพินิจของนักพัฒนาเป็นหลัก อย่างไรก็ตาม หากคุณให้ Hive Membership  IdP คุณ ต้องดำเนินการ showProfile()  นี่เป็นเพราะการเป็นสมาชิก Hive มีฟีเจอร์การเปลี่ยนรหัสผ่านและการถอนในการตั้งค่าบัญชี Hive บนหน้าจอโปรไฟล์ตามที่แสดงด้านล่าง
    Hive สถานะการรวม IdP สมาชิก  สถานะการรวม IdP แขกและอื่น ๆ            
 
 แม้ว่า Hive จะมีเพียง IdP อื่นนอกเหนือจาก IdP สมาชิก การแสดงหน้าประวัติสามารถให้ฟีเจอร์ด้านความปลอดภัย เช่น การบล็อกการเข้าสู่ระบบจากต่างประเทศ การออกจากระบบทั้งหมด และการตรวจสอบประวัติการเข้าสู่ระบบ ดังนั้นจึงแนะนำให้ดำเนินการแสดงหน้าประวัติด้วยการใช้ showProfile()。
  Note  เมื่อรวมเข้ากับ IdP ที่ส่งคืนภาพโปรไฟล์และชื่อเล่น เช่น Facebook ภาพและชื่อเล่นที่จัดเตรียมโดย IdP นั้นจะถูกโหลดเข้าสู่โปรไฟล์โดยอัตโนมัติ
   ตรวจสอบโปรไฟล์ผู้ใช้  เมื่อผู้ใช้ลงชื่อเข้าใช้ คุณสามารถดึงข้อมูลโปรไฟล์ผู้ใช้ได้โดยการเรียกใช้วิธี getProfile() ของคลาส AuthV4  ข้อมูลโปรไฟล์ประกอบด้วย playerId, playerName สำหรับชื่อที่แสดง และ playerImageUrl สำหรับภาพขนาดย่อของผู้ใช้
 ต่อไปนี้คือตัวอย่างโค้ดเพื่อรับข้อมูลโปรไฟล์
 Unity Unreal Engine C++ Kotlin Java Swift Objective-C 
   เอกสารอ้างอิง API : hive.AuthV4.getProfile 
 
   #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 
 
   เอกสารอ้างอิง 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 ประเภทการกระทำเมื่อผู้ใช้แตะปุ่มป๊อปอัพ   ประเภทการจัด 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 
 
   #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 
 
   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 
 
   #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 
 
   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, Steam, X    
 หลังจากเรียกใช้ Explicit Login API  คุณสามารถรับที่อยู่อีเมลของผู้ใช้ที่เข้าสู่ระบบโดยการอ้างอิง providerInfoData ในอินสแตนซ์ของคลาส PlayerInfo ซึ่งจะถูกส่งกลับใน callback.
 ใช้ ProviderType เป็นกุญแจใน providerInfoData เพื่อดึงข้อมูล ProviderInfo สำหรับรายละเอียดเพิ่มเติม ดูตัวอย่างโค้ดด้านล่าง
 Unity Unreal Engine C++ Kotlin Java Swift Objective-C 
   เอกสารอ้างอิง API : hive.AuthV4.showSignIn 
 
   #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 
 
   เอกสารอ้างอิง 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 จะถูกส่งคืนเป็นอักขระว่าง ("").