PICO Unreal Platform SDK
FPicoUserInterface Class Reference

PicoUserInterface class. More...

#include <Pico_User.h>

Public Member Functions

bool GetLoginUser (FGetLoginUser InGetLoginUserDelegate)
 Gets the information about the current logged-in user. More...
 
bool GetUserInfo (const FString &UserId, FGetUserInfo InGetUserInfoDelegate)
 Gets the information by user ID. More...
 
bool GetLoggedInUserAndRoom (FGetLoggedInUserFriendsAndRooms OnGetLoggedInuserFriendsAndRoomsCallback)
 Gets the friends of the logged-in user and the rooms the friends might be in. If a friend is not in any room, the 'room' field will be null. More...
 
bool GetNextUserAndRoomArrayPage (UPico_UserAndRoomArray *InUserAndRoomArray, FGetNextUserAndRoomArrayPage OnGetNextUserAndRoomArrayPageCallback)
 Get the next page of the list of rooms where the friends of the currently logged in user are located. More...
 
bool GetUserFriends (FGetLoggedInUserFriends OnGetLoggedInUserFriendsCallback)
 Gets the friend list of the current user. Friends who don't use this app won't appear in this list. More...
 
bool GetNextUserPage (UPico_UserArray *InUserArray, FGetNextUserPage OnGetNextUserPageCallback)
 Gets the next page of user list. More...
 
bool GetAuthorizePermissions (FGetPermissionResult OnGetPermissionResultCallback)
 Gets the authorized permissions. More...
 
bool RequestUserPermissions (TArray< FString > Permissions, FGetPermissionResult OnGetPermissionResultCallback)
 Requests user permissions. The user will received a pop-up notification window. More...
 
bool LaunchFriendRequestFlow (const FString &UserId, FLaunchFriendRequestResult OnLaunchFriendRequestResultCallback)
 Launches the flow to apply for friendship with someone. More...
 
bool GetAccessToken (FGetAccessTokenResult OnGetAccessTokenResultCallback)
 Gets current login user's AccessToken. The system caches the access token upon the first request, allowing subsequent requests to use the cached token information stored locally. More...
 
bool GetRelations (TArray< FString > UserIDs, FGetUserRelationResult OnGetUserRelationResultCallback)
 Gets the relationship between a specified user and other user(s). More...
 
bool EntitlementCheck (bool bKillApp, FEntitlementCheckResult OnEntitlementCheckResultCallback)
 Gets whether the player has entitlement to use the app in the current state. More...
 
bool GetIDToken (FGetIDToken OnGetIDTokenResultCallback)
 Gets the ID token of the current user. ID token is for OIDC login. China's issuer url is https://platform-cn.picovr.com. The global issuer url is https://platform-us.picovr.com. You can use GetSystemInfo to get the device system's region and choose the right OIDC provider. More...
 
bool GetOrgScopedID (const FString &UserId, FGetOrgScopedID OnGetOrgScopedIDCallback)
 Gets a user's organization ID. In an organization's apps, each user is assigned a unique organization ID, which remains the same for the same user across different apps within the organization. More...
 

Detailed Description

PicoUserInterface class.

Member Function Documentation

◆ EntitlementCheck()

bool EntitlementCheck ( bool  bKillApp,
FEntitlementCheckResult  OnEntitlementCheckResultCallback 
)

Gets whether the player has entitlement to use the app in the current state.

Parameters
bKillAppWhether to kill the app in the system when the player does not have the entitlement. If the value is true, you will not get the callback result because the app is killed.
OnEntitlementCheckResultCallbackWill be executed when the request has been completed. Delegate will contain the requested object class (bool, bIsError, int, ErrorCode, const FString&, ErrorMessage, UPico_EntitlementCheckResult *, EntitlementCheck).
Returns
Bool:
  • true: Send request successful
  • false: Send request failure


◆ GetAccessToken()

bool GetAccessToken ( FGetAccessTokenResult  OnGetAccessTokenResultCallback)

Gets current login user's AccessToken. The system caches the access token upon the first request, allowing subsequent requests to use the cached token information stored locally.

Note
User's permission is required if the user uses this app for the first time.
Parameters
OnGetAccessTokenResultCallbackWill be executed when the request has been completed. Delegate will contain the requested object class (bool, bIsError, const FString&, ErrorMessage, const FString&, AccessToken).
Returns
Bool:
  • true: Send request successful
  • false: Send request failure


◆ GetAuthorizePermissions()

bool GetAuthorizePermissions ( FGetPermissionResult  OnGetPermissionResultCallback)

Gets the authorized permissions.

Parameters
OnGetPermissionResultCallbackWill be executed when the request has been completed. Delegate will contain the requested object class (bool, bIsError, const FString&, ErrorMessage, UPico_PermissionResult *, PermissionResult).
Returns
Bool:
  • true: Send request successful
  • false: Send request failure


◆ GetIDToken()

bool GetIDToken ( FGetIDToken  OnGetIDTokenResultCallback)

Gets the ID token of the current user. ID token is for OIDC login. China's issuer url is https://platform-cn.picovr.com. The global issuer url is https://platform-us.picovr.com. You can use GetSystemInfo to get the device system's region and choose the right OIDC provider.

Note
User's permission is required if using the app for the first time.
Parameters
OnGetIDTokenResultCallbackWill be executed when the request has been completed. Delegate will contain the requested object class (bool, bIsError, const FString&, ErrorMessage, const FString&, IDToken).
Returns
Bool:
  • true: Send request success
  • false: Send request failure

◆ GetLoggedInUserAndRoom()

bool GetLoggedInUserAndRoom ( FGetLoggedInUserFriendsAndRooms  OnGetLoggedInuserFriendsAndRoomsCallback)

Gets the friends of the logged-in user and the rooms the friends might be in. If a friend is not in any room, the 'room' field will be null.

Parameters
OnGetLoggedInuserFriendsAndRoomsCallbackWill be executed when the request has been completed. Delegate will contain the requested object class (bool, bIsError, const FString&, ErrorMessage, UPico_UserAndRoomArray *, UserAndRoomArray).
Returns
Bool:
  • true: Send request successful
  • false: Send request failure


◆ GetLoginUser()

bool GetLoginUser ( FGetLoginUser  InGetLoginUserDelegate)

Gets the information about the current logged-in user.

Parameters
InGetLoginUserDelegateWill be executed when the request has been completed. Delegate will contain the requested object class (bool, bIsError, const FString&, ErrorMessage, UPico_User *, User).
Returns
Bool:
  • true: Send request successful
  • false: Send request failure


◆ GetNextUserAndRoomArrayPage()

bool GetNextUserAndRoomArrayPage ( UPico_UserAndRoomArray InUserAndRoomArray,
FGetNextUserAndRoomArrayPage  OnGetNextUserAndRoomArrayPageCallback 
)

Get the next page of the list of rooms where the friends of the currently logged in user are located.

Parameters
InUserAndRoomArrayThe current object of user and room array.
OnGetNextUserAndRoomArrayPageCallbackWill be executed when the request has been completed. Delegate will contain the requested object class (bool, bIsError, const FString&, ErrorMessage, UPico_UserAndRoomArray *, UserAndRoomArray).
Returns
Bool:
  • true: Send request successful
  • false: Send request failure


◆ GetNextUserPage()

bool GetNextUserPage ( UPico_UserArray InUserArray,
FGetNextUserPage  OnGetNextUserPageCallback 
)

Gets the next page of user list.

Parameters
InUserArrayThe current object of the user array.
OnGetNextUserPageCallbackWill be executed when the request has been completed. Delegate will contain the requested object class (bool, bIsError, const FString&, ErrorMessage, UPico_UserArray *, UserArray).
Returns
Bool:
  • true: Send request successful
  • false: Send request failure


◆ GetOrgScopedID()

bool GetOrgScopedID ( const FString &  UserId,
FGetOrgScopedID  OnGetOrgScopedIDCallback 
)

Gets a user's organization ID. In an organization's apps, each user is assigned a unique organization ID, which remains the same for the same user across different apps within the organization.

Parameters
UserIdThe Open ID for a user.
OnGetOrgScopedIDCallbackWill be executed when the request has been completed. Delegate will contain the requested object class (bool, bIsError, const FString&, ErrorMessage, UPico_OrgScopedID *, OrgScopedID).
Returns
Bool:
  • true: Send request success
  • false: Send request failure


◆ GetRelations()

bool GetRelations ( TArray< FString >  UserIDs,
FGetUserRelationResult  OnGetUserRelationResultCallback 
)

Gets the relationship between a specified user and other user(s).

Parameters
UserIDsThe list of user IDs. The request queries the current logged-in user's relationship with these users. A single request can pass no more than 20 user IDs.
OnGetUserRelationResultCallbackWill be executed when the request has been completed. Delegate will contain the requested object class (bool, bIsError, const FString&, ErrorMessage, UPico_UserRelationResult *, UserRelationResult).
Returns
Bool:
  • true: Send request successful
  • false: Send request failure


◆ GetUserFriends()

bool GetUserFriends ( FGetLoggedInUserFriends  OnGetLoggedInUserFriendsCallback)

Gets the friend list of the current user. Friends who don't use this app won't appear in this list.

Parameters
OnGetLoggedInUserFriendsCallbackWill be executed when the request has been completed. Delegate will contain the requested object class (bool, bIsError, const FString&, ErrorMessage, UPico_UserArray *, UserArray).
Returns
Bool:
  • true: Send request successful
  • false: Send request failure


◆ GetUserInfo()

bool GetUserInfo ( const FString &  UserId,
FGetUserInfo  InGetUserInfoDelegate 
)

Gets the information by user ID.

Parameters
UserIdThe ID of the user.


Parameters
InGetUserInfoDelegateWill be executed when the request has been completed. Delegate will contain the requested object class (bool, bIsError, const FString&, ErrorMessage, UPico_User *, User).
Returns
Bool:
  • true: Send request successful
  • false: Send request failure


◆ LaunchFriendRequestFlow()

bool LaunchFriendRequestFlow ( const FString &  UserId,
FLaunchFriendRequestResult  OnLaunchFriendRequestResultCallback 
)

Launches the flow to apply for friendship with someone.

Parameters
UserIdThe ID of the user that the friend request is sent to.
OnLaunchFriendRequestResultCallbackWill be executed when the request has been completed. Delegate will contain the requested object class (bool, bIsError, const FString&, ErrorMessage, bool, bDidCancel, bool, bDidSendRequest).
Returns
Bool:
  • true: Send request successful
  • false: Send request failure


◆ RequestUserPermissions()

bool RequestUserPermissions ( TArray< FString >  Permissions,
FGetPermissionResult  OnGetPermissionResultCallback 
)

Requests user permissions. The user will received a pop-up notification window.

Parameters
PermissionsWill be executed when the request has been completed. Delegate will contain the requested object class.
  • user_info: The permission to get the user's basic information, such as the user's nickname and profile picture.
  • friend_relation: The permission to get the user's friend list and invitable users.
  • sports_userinfo: The permission to get the user's information set in the sport center.
  • sports_summarydata: The permission to get a summary of the user's exercise data.
OnGetPermissionResultCallbackWill be executed when the request has been completed. Delegate will contain the requested object class (bool, bIsError, const FString&, ErrorMessage, UPico_PermissionResult *, PermissionResult).
Returns
Bool:
  • true: Send request successful
  • false: Send request failure