跳到主要内容

Client Data Models

Enums

MatchmakingStatus

Battle session status

// namespace: pgos::client
enum class MatchmakingStatus : int32_t
membervaluedescription
Dummy0Dummy
Starting1matchmaking is starting
Preparing2the multi-player matchmaking's preparation phase. note: when the MatchmakingObserver receives this status, it requires players to join or reject the matchmaking request. mutilplayer matchmaking : when one of the players start a matchmaking request, the other players will receive the 'Preparing' matchmaking status, and then decide to join or reject the matchmaking request. When everyone has joined, matchmaking start Searching.
Searching3search players for matchmaking
Accepting4wait for players to accepting the result of matchmaking
Placing5placing battle session on game DS
Completed7The matchmaking request ends with a successful result. Check battle_session_info for detail information about the battle. Note: when the MatchmakingObserver receives this status, you need to connect the DS server via IP and port that could obtain from battle_session_info.
TimedOut8matchmaking request timeout
Terminated9matchmaking request is terminated
Canceled10matchmaking request is canceled. The request may have been canceled by the player or the matchmaking result has been rejected by the player
Error11matchmaking request error

MatchmakingMutexType

Mutex type of matchmaking request

// namespace: pgos::client
enum class MatchmakingMutexType : int32_t
membervaluedescription
PerMatchmakingConfig0There is no limit to the number of battle sessions a player can be in. multiple matchmaking requests from a player in the same matchmaking config are not allowed at the same time.
PerPlayer1If a player has any on going battle sessions or matchmaking in progress, they will not be able to start new matchmaking request.

PlayerBattleSessionStatus

Player battle session status

// namespace: pgos::client
enum class PlayerBattleSessionStatus : int32_t
membervaluedescription
Dummy0Dummy
Pending1The player battle session requires DS to call the ReservePlayerBattleSession interface for approval.
Reserved2Reserved players can be validated through the AcceptPlayerBattleSession interface.
Active3Player battle session status turn to ACTIVE after AcceptPlayerBattleSession is called successfully.
Completed4This is the terminal status of player battle session.The status will turn to COMPLETED after RemovePlayerBattleSession is called or player actively leave the battle session.
Disconnected5The player has disconnected from DS server.

P2PPlayerBattleSessionStatus

Status of a P2P player battle session

// namespace: pgos::client
enum class P2PPlayerBattleSessionStatus : int32_t
membervaluedescription
Dummy0Dummy
Reserved2Reserved players can be validated through the AcceptPlayerBattleSession interface.
Active3Player battle session status turn to ACTIVE after AcceptPlayerBattleSession is called successfully.
Completed4This is the terminal status of player battle session.The status will turn to COMPLETED after RemovePlayerBattleSession is called or player actively leave the battle session.
Disconnected5The player has disconnected from DS server.

BattleSessionStatus

Battle session status

// namespace: pgos::client
enum class BattleSessionStatus : int32_t
membervaluedescription
Dummy0Dummy
Placing1the battle session is currently waiting to be placed on a game DS.
Active2the battle session have been successfully created.
Terminated3the battle session have been terminated.
Error5the battle session error, check status_msg for more information.
Cancelled6the battle session is cancelled.
TimedOut7the battle session timeout
Failed8the battle session failed, check status_msg for more information.

P2PBattleSessionStatus

P2P Battle session status

// namespace: pgos::client
enum class P2PBattleSessionStatus : int32_t
membervaluedescription
Dummy0Dummy
Placing1the battle session is currently waiting to be placed on a game DS.
Active2the battle session have been successfully created.
HostHealthChecking3P2P clients should report the host health state within a limited time.
NewHostSelected4the new host has been selected and must accept the identity within a limited time. The new host needs to call the ActivateP2PBattleSession interface to reactivate the battle session.
Terminated101the battle session have been terminated.
Error102the battle session error, check status_msg for more information.
TimedOut103the battle session timeout
Failed104the battle session failed, check status_msg for more information.

FriendRequestProcessStatus

Friend request process status

// namespace: pgos::client
enum class FriendRequestProcessStatus : int32_t
membervaluedescription
Pending0friend request pending
Accepted1request Accepted
Expired2it may be timed out, the current validity period is 7 days

ReadStatus

Message read status

// namespace: pgos::client
enum class ReadStatus : int32_t
membervaluedescription
Unread0message unread
Read1message read

LobbyStatus

Lobby status

// namespace: pgos::client
enum class LobbyStatus
membervaluedescription
Dummy0Dummy
Waiting1StartBattle has not been called
Preparing2StartBattle was called, but not all lobby members are READY
Playing3A battle session that contains all lobby members is ready to be joined

LobbyPrivacy

Lobby privacy type

// namespace: pgos::client
enum class LobbyPrivacy
membervaluedescription
Dummy0Dummy
Visible1Lobby can be searched
Invisible2Lobby can only be searched using the exact lobby_id

LobbyProtection

Lobby protection type

// namespace: pgos::client
enum class LobbyProtection
membervaluedescription
Dummy0Dummy should be used when searching lobbies for all protection types
PasswordNeeded1Password needed when joining lobbies
PasswordUnneeded2Password unneeded when joining lobbies
FreeAccess2Players can join lobby directly
ApplicationNeeded3A join request will be sent to the owner after calling the JoinLobby interface, and the owner's approval is required to successfully join the lobby

LobbyJoiningSource

The source of the player join the lobby

// namespace: pgos::client
enum class LobbyJoiningSource
membervaluedescription
Dummy0Dummy
JoiningByLobbyID1Search for the lobby and join.
JoiningFromInvitation2Join the lobby through the event of 'OnLobbyInvitation' when the player is invited to join the lobby.
JoiningAsOwner3The lobby creator.
JoiningByQuickJoin4Joined by QuickJoin interface.

LobbyStatusReason

The reason that the lobby status changes

// namespace: pgos::client
enum class LobbyStatusReason
membervaluedescription
Dummy0Dummy
SomeoneNotReady1The lobby owner starts the battle, and lobby status changes from Waiting to Preparing.
PlacingFailed2Placing is failed, and lobby status changes from Placing to Waiting.
PreparingTimeout3Preparing is timeout because there are members not ready, and lobby status changes from Preparing to Waiting.
BattleCompleted4Battle is completed, and lobby status changes from Playing to Waiting.
PreparationInterrupted5Because of member changing, preparing status is interrupted and changes to Waiting.

LobbyStartBattleCondition

The action when the lobby owner invokes the StartBattle interface depends on the Ready flag of lobby members.

// namespace: pgos::client
enum class LobbyStartBattleCondition
membervaluedescription
AllReadyOtherwiseWaiting0The lobby will enter the Preparing stage, waiting for unready players to get ready.
AllReadyOtherwiseError1The lobby owner will receive an error if not all players are ready.
IgnoringReadyFlag2The lobby will enter the Playing stage directly, ignoring the Ready flag.

OnlineStatus

Online status: online or offline

// namespace: pgos::client
enum class OnlineStatus : uint8_t
membervaluedescription
Offline0Player is online
Online1Player is offline

StoreOrderStatus

// namespace: pgos::client
enum class StoreOrderStatus : uint8_t
membervaluedescription
Dummy0None.
StoreOrderProcessing1Order is being processed.
StoreOrderCompleted2Purchase successful.
StoreOrderFailed3Purchase failed.

StoreItemStatus

// namespace: pgos::client
enum class StoreItemStatus : uint8_t
membervaluedescription
Dummy0None.
Available1The item can be purchased normally.
Owned2The unique item can't be purchased because the player already owns.
ExceedLimit3The store item can't be purchased because the player have reached the maximum purchase limit.

StoreCategoryType

// namespace: pgos::client
enum class StoreCategoryType : uint8_t
membervaluedescription
Simple0A simple category be used to manage the publish and retire of store items.
Manual1The category schedule will be enabled to support multi-period publish schedule management. Could be used to implement advanced features such as limited-time sales and regular product updates.
Rotation2The category schedule will be a rotation schedule.

GroupJoinRule

Join rules of the group.

// namespace: pgos::client
enum class GroupJoinRule : uint8_t
membervaluedescription
Any0Players can freely join the group.
MemberInvite1Must be invited by group members to join the group.
AdminInvite2Must be invited by group administrator to join the group.
Forbid3No one is allowed to join.

ChatMsgType

Message type.

// namespace: pgos::client
enum class ChatMsgType : uint8_t
membervaluedescription
MsgTypeText0Type of text message, sent via SendGroupTextMsg.
MsgTypeCustom1Type of custom message, sent via SendGroupCustomMsg.
MsgTypeEvent2Type of event message, sent by the system.
MsgTypeSystem3Type of system message, sent by the system.

GroupEventType

Type of event message.

// namespace: pgos::client
enum class GroupEventType : uint8_t
membervaluedescription
Dummy0
GroupNameChanged1Group name has been changed.
GroupDescChanged2Group description has been changed.
GroupMemberJoined3New member joined.
GroupMemberLeft4Member left the group.
GroupMemberRemoved5Member removed.
GroupAnnouncementChanged6Group announcement has been changed.
GroupOwnerChanged7Group owner has changed.
GroupAdminGranted8Member granted to group administrator.
GroupAdminRevoked9Group administrator is revoked.

GroupOfficialFilterType

Group searching filter type for official.

// namespace: pgos::client
enum class GroupOfficialFilterType : uint8_t
membervaluedescription
Dummy0Don't filter official groups when searching.
NotOfficial1Only search unofficial groups.
Official2Only search official groups.

GroupRoomFilterType

Group searching filter type for left rooms.

// namespace: pgos::client
enum class GroupRoomFilterType : uint8_t
membervaluedescription
Dummy0Don't filter group rooms when searching.
NotFull1Only search groups that are not full.
Full2Only search full groups.

GroupOrderBy

The basis for sorting group search result.

// namespace: pgos::client
enum class GroupOrderBy : uint8_t
membervaluedescription
Dummy0No sorting of search result.
MemberCount1Search result sorted by members count.
CreatedTime2Search result sorted by creation time.

GroupOrderType

The order type for group search result.

// namespace: pgos::client
enum class GroupOrderType : uint8_t
membervaluedescription
Dummy0No sorting of search results.
Asc1Ascending order for search result.
Desc2Descending order for search result.

MailCategory

// namespace: pgos::client
enum class MailCategory : uint8_t
membervaluedescription
All0All categories.
System1System category.
Notice2Notice category.
Campaign3Campaign category.
Award4Award category.
Gift5Gift category. Usually received gifts from other players.
Custom6Custom category. Category for developer customization.

GoalType

// namespace: pgos::client
enum class GoalType : uint8_t
membervaluedescription
Dummy0
Simple1
Hyper2

GoalRewardWay

// namespace: pgos::client
enum class GoalRewardWay : uint8_t
membervaluedescription
Dummy0
Manual1Goal reward need to be claimed manually
Mail2When the goal is achieved, the rewards will be automatically granted through the preset email template

ScheduleStatus

// namespace: pgos::client
enum class ScheduleStatus : uint8_t
membervaluedescription
Dummy0
Published1
Retired2

PrivacyItemType

// namespace: pgos::client
enum class PrivacyItemType : uint8_t
membervaluedescription
Dummy0
AllowSearchedByOthers1
AllowFriendRequest2
AllowNonFriendPersChat3
AllowGroupInvitation4
ChatStrategy5

PrivacyChatStrategy

Text and voice chat privacy settings

// namespace: pgos::client
enum class PrivacyChatStrategy : uint8_t
membervaluedescription
Allow0Everyone, can see and be seen chat messages from anyone (except block list)
OnlyFriends1Friends, can only see friends and be seen by friends
Blocked2Not allowed at all, won't see anyone's messages, and won't send any messages out

LobbyOrderBy

// namespace: pgos::client
enum class LobbyOrderBy : uint8_t
membervaluedescription
LOBBY_ORDER_BY_DEFAULT0Sort by status: Waiting, Preparing, Playing;then by create time from older to newer
LOBBY_ORDER_BY_CREATE_TIME1Sort by lobby create time
LOBBY_ORDER_BY_UPDATE_TIME2Sort by lobby last update time
LOBBY_ORDER_BY_JOINED_MEMBER_COUNT3Sort by joined member count
LOBBY_ORDER_BY_MISSING_MEMBER_COUNT4Sort by empty slot count

LobbyOrderType

The order type for group search result.

// namespace: pgos::client
enum class LobbyOrderType : uint8_t
membervaluedescription
LOBBY_ORDER_TYPE_ASCENDING0Ascending order for search result.
LOBBY_ORDER_TYPE_DESCENDING1Descending order for search result.

PartyJoinStrategy

The strategy controls the rules who could join the party

// namespace: pgos::client
enum class PartyJoinStrategy : uint8_t
membervaluedescription
Public0Open to anyone, it's the default strategy
OnlyFriendsOfLeader1Only friends of the leader could join the party
OnlyFriendsOfMembers2Only friends of any member could join the party
OnlyInvited3Only invited players could join the party
NotAllowed4No one can join

PartyInviteStrategy

The strategy controls the rules who could invite others to the party

// namespace: pgos::client
enum class PartyInviteStrategy : uint8_t
membervaluedescription
AllMembersCanInvite0All members of the party can invite others, it's the default strategy
OnlyLeaderCanInvite1Only the party leader can invite others

PgosEventChannelStatus

Various status definitions of the PGOS event channel. The Event Channel serves as a data pipeline for the PGOS backend to send event notifications (e.g., chat_messages/friend_requests) to the client.

// namespace: pgos::client
enum class PgosEventChannelStatus : uint8_t
membervaluedescription
Dummy0Invalid status.
Creating1When the client is connecting or reconnecting to the backend in order to establish the channel, the status is set to 'Creating'.
Available2When the channel is successfully established, the status is set to 'Available', indicating that the event notification service is functioning properly.
Unavailable3When the client expectedly(logout) or unexpectedly(network exception) disconnects from the backend, the status is set to 'Unavailable', and the event notification service stops working. The SDK will automatically attempt to rebuild the channel until it succeeds, with a gradually slowing frequency. It starts by trying to rebuild every 3 seconds and eventually reduces the frequency to once every 5 minutes.

MidasRoleIDMethod

// namespace: pgos::client
enum class MidasRoleIDMethod : uint8_t
membervaluedescription
Game0
PGOS1

JoinWorldInvitationStatus

Describe the status of the join world invitation.

// namespace: pgos::client
enum class JoinWorldInvitationStatus : uint8_t
membervaluedescription
Dummy0Invalid status.
Pending1Means: there are still invited players who have not yet confirmed whether to accept or reject the invitation.
Completed2Means: all invited players have made their choices to accept/reject, or the invitation has timed out. And no more 'OnJoinWorldInvitationUpdated' event of this invitation_ticket. Now, the player who accepted the invitation has been added to the battle session. Typically, the player who accepts the invitation will receive the 'OnWorldBattleSessionUpdated' event after the invitation status is marked as 'Completed'. However, if the player is already in the assigned battle session before the invitation, and has obtained the battle session's IP&port (which means he has received the relevant event of the battle session status being Active), then he may not be pushed the 'OnWorldBattleSessionUpdated' event.
Error3Means: An error has occurred (e.g. not enough slots left in the world). Please refer to the 'error_msg' in 'JoinWorldInvitationInfo' structure for more details.

JoinWorldInvitationAction

The player's action type in response to a join world invitation.

// namespace: pgos::client
enum class JoinWorldInvitationAction : uint8_t
membervaluedescription
Undecided0The player has not yet decided.
Accepted1The player has decided to accept the invitation.
Rejected2The player has decided to reject the invitation.

LeaveWorldInvitationStatus

Describe the status of the leave world invitation.

// namespace: pgos::client
enum class LeaveWorldInvitationStatus : uint8_t
membervaluedescription
Dummy0Invalid status.
Pending1Means: there are still invited players who have not yet confirmed whether to accept or reject the invitation.
Completed2Means: all invited players have made their choices to accept/reject, or the invitation has timed out. And no more 'OnLeaveWorldInvitationUpdated' event of this invitation_ticket. Now, the player who accepted the invitation has been removed from the world.
Error3Please refer to the 'error_msg' in 'LeaveWorldInvitationInfo' structure for more details.

LeaveWorldInvitationAction

The player's action type in response to a leave world invitation.

// namespace: pgos::client
enum class LeaveWorldInvitationAction : uint8_t
membervaluedescription
Undecided0The player has not yet decided.
Accepted1The player has decided to accept the invitation.
Rejected2The player has decided to reject the invitation.

P2PConnectionType

The type of P2P connection.

// namespace: pgos::client
enum class P2PConnectionType : uint8_t
membervaluedescription
Unspecified0Unspecified. Will try to connect via p2p first.
P2P1Try to connect via p2p.
Relay2Try to connect via relay.

NatType

The type of NAT.

// namespace: pgos::client
enum class NatType : uint8_t
membervaluedescription
Unknown0
Open1No Nat
FullCone2Full Cone
AddressRestrictedCone3Address restricted cone
PortRestrictedCone4Port restricted cone
Symmetric5Symmetric
SymmetricUDPFirewall6No NAT with UDP firewall
UDPBlocked7

Structs

Balance

The currency in the player's wallet.

// namespace: pgos::client
struct Balance
fieldtypedescription
currency_codepgos::pstringThe code of the currency.
currency_namepgos::pstringThe name of the currency.
currency_iconpgos::pstringThe uri of the currency.
currency_typeCurrencyTypeCurrency type.
amountint64_tThe balance of the currency.
max_depositint64_tThe maximum balance that a player can hold for this currency. A value of 0 represents no limitation.

MidasGlobalBalance

// namespace: pgos::client
struct MidasGlobalBalance : public Balance

parent: Balance

fieldtypedescription
resource_idpgos::pstringResource id of a Midas Token, provided by Midas, view on Midas portal.
gift_balancepgos::pstringBalance obtained by gift.
accumulated_topup_amountpgos::pstringAccumulated topup amount.
accumulated_gift_amountpgos::pstringAccumulated gift amount.
total_consumepgos::pstringTotal consumed amount.
first_topupboolTo show if it is the first topup.

FasLoginInfo

FAS: The data of the simulated account

// namespace: pgos::client
struct FasLoginInfo
fieldtypedescription
open_idpgos::pstringOpen id of the fake account
tokenpgos::pstringToken of the fake account
user_namepgos::pstringUsername of the fake account
token_valid_timeint64_tThe valid time of the current token

FasRefreshTokenInfo

The new token after refreshing it

// namespace: pgos::client
struct FasRefreshTokenInfo
fieldtypedescription
tokenpgos::pstringThe new token generated after refreshing

LoginPGOSParams

Request parameters for login PGOS.

// namespace: pgos::client
struct LoginPGOSParams : public BaseBackendEventParams

parent: BaseBackendEventParams

fieldtypedescription
account_providerint32_tAccount provider: 0 means FAS, 1 means INTL, 2 means MSDK, 3 means WeGame, 4 means PlayFab, 5 means Steam, 6 means Epic, 7 means XboxLive, 8 means PlayStationNetwork, 9 means Nintendo, 10 means JWT. The default value is -1 (not set), at which point PgosSDK will try to read it from the configuration: account_provider. Using int32 instead of enum type is to make SDK better compatible with the new account provider. More info for account provider: https://pgos.intlgame.com/pgosdoc/manual/service_manual/player_management/player_auth.html#311-login-param
account_open_idpgos::pstringOpen id of the logged in account service.
account_tokenpgos::pstringToken of the open id.
title_region_idpgos::pstringTitle region the player wants to login, can be obtained from PGOS portal console.
extra_parampgos::pmap<pgos::pstring, pgos::pstring>[Optional] Extra parameter for the account provider, Its value depends on the account provider used to log in. view the manual for detail: https://pgos.intlgame.com/pgosdoc/manual/service_manual/player_management/player_auth.html#31-log-in-pgos.

LogoutPGOSParams

Request parameters for logout PGOS.

// namespace: pgos::client
struct LogoutPGOSParams : public BaseBackendEventParams

parent: BaseBackendEventParams

PlayerBannedEvt

The event will be triggered when the player is banned.

// namespace: pgos::client
struct PlayerBannedEvt
fieldtypedescription
ban_reasonpgos::pstringReason for ban.
ban_created_timeint64_tBan creation time. Unix timestamp in seconds.
ban_durationint64_tBan duration in seconds.
ban_expired_timeint64_tBan expiration time. Unix timestamp in seconds, if the value <= 0, it is considered to be permanently banned.

AuthBanInfo

Auth ban info.

// namespace: pgos::client
struct AuthBanInfo : public PlayerBannedEvt

parent: PlayerBannedEvt

fieldtypedescription
is_bannedboolWhether the player is banned.

AuthenticationInfo

The authentication data when the game needs to identify the player and manage the player session status of the players

// namespace: pgos::client
struct AuthenticationInfo
fieldtypedescription
player_idpgos::pstringThe id of the player
session_idpgos::pstringThe id of the current authenticated session
is_first_loginboolWhether the player is logging in for the first time
is_display_name_modifiedboolWhether the display name of the current player has been modified. The display name is initially an empty string before being modified.
account_platformpgos::pstringaccount platform name, such as: 'Steam', 'Epic', 'PlayStationNetwork'.
ban_infoAuthBanInfoWhether the player is banned

BatchGetPlayerInfoCltRsp

Response that client batch getting playerInfo.

// namespace: pgos::client
struct BatchGetPlayerInfoCltRsp
fieldtypedescription
datapgos::pmap<pgos::pstring, PlayerInfo>Player infos, key: player_id, value: player_info.
fail_playerspgos::pmap<pgos::pstring, pgos::pstring>Players who totally failed, key: player_id, value: failed reason.

MatchmakingPlayerInfo

Player who is in the matchmaking process

// namespace: pgos::client
struct MatchmakingPlayerInfo
fieldtypedescription
player_idpgos::pstringThe player id
teampgos::pstringThe team of the players
match_attributespgos::pmap<pgos::pstring, KVDataValue>Attributes needed by the Matchmaking Ruleset, map key: attribute name, map value: attribute value.

RequestedPlayerInfo

Player in current matchmaking request.

// namespace: pgos::client
struct RequestedPlayerInfo
fieldtypedescription
player_infoPlayerInfoBase info of a player.
readyboolWhether the player has joined matchmaking.
region_latenciespgos::pvector<RegionLatencyInfo>The latency(ms) of the player in different regions. If the latency of the player exceeds the max latency of Queue, then the player cannot join the battle.

MatchedPlayerInfo

Player who has already matched

// namespace: pgos::client
struct MatchedPlayerInfo
fieldtypedescription
player_infoPlayerInfoBase info of a player.
accepted_statusAcceptedStatusPlayer response to the proposed battle.
teampgos::pstringThe team of the players

CancelMatchmakingInfo

Cancel a matchmaking request

// namespace: pgos::client
struct CancelMatchmakingInfo
fieldtypedescription
ticket_idpgos::pstringTicket id for the matchmaking request
canceledboolWhether the player has canceled the matchmaking request
reasonpgos::pstringThe reason for the cancel action, not necessary

StartMatchmakingParams

Params to start a matchmaking request.

// namespace: pgos::client
struct StartMatchmakingParams
fieldtypedescription
configuration_namepgos::pstringName of matchmaking configuration
player_info_listpgos::pvector<MatchmakingPlayerInfo>Players who start matchmaking together, and they must be set to the same team.
mutex_typeMatchmakingMutexTypeMutex type of matchmaking request. PerMatchmakingConfig as default value.

StartMatchmakingInfo

Start a matchmaking request

// namespace: pgos::client
struct StartMatchmakingInfo
fieldtypedescription
ticket_idpgos::pstringTicket id for the matchmaking request

CurrentMatchmakingsInfo

Current activate matchmaking tickets of the player.

// namespace: pgos::client
struct CurrentMatchmakingsInfo
fieldtypedescription
tickets_mappgos::pmap<pgos::pstring, pgos::pstring>The mapping of matchmaking configuration to matchmaking ticket.

PlayerBattleSessionInfo

A player-battle-session is a session between a player and an active battle-session

// namespace: pgos::client
struct PlayerBattleSessionInfo
fieldtypedescription
player_idpgos::pstringThe player id
battle_session_idpgos::pstringThe battle session id to query
player_battle_session_idpgos::pstringThe id of player session in the battle, !!! NOT BATTLE SESSION ID !!!
ip_addresspgos::pstringThe access ip address of the battle session
portuint32_tThe access port of the battle session
statusPlayerBattleSessionStatus
team_namepgos::pstringTeam name in a world battle session.

BattleSessionInfo

A battle session corresponds a running game.

// namespace: pgos::client
struct BattleSessionInfo
fieldtypedescription
battle_session_idpgos::pstringThe battle session id to query
created_timeint64_tThe Unix timestamp(in seconds) when the battle session was created.
ip_addresspgos::pstringThe IP address of the DS holding the battle session, and it will be assigned the value when the status is 'Active'.
portuint32_tThe port of the DS holding the battle session, and it will be assigned the value when the status is 'Active'.
statusBattleSessionStatusPlacing the battle session is currently waiting to be placed on game DS Active the battle session has been successfully created, now you can connect to the DS using the IP address and port Terminated the battle session has been terminated Error the battle session error, check status_msg for more information Canceled the battle session is canceled Timeout the battle session timeout Failed the battle session failed, check status_msg for more information
status_msgpgos::pstringThe message of the battle status
last_updated_timeint64_tThe Unix timestamp(in seconds) for the last update in the battle status
terminated_timeint64_tThe Unix timestamp(in seconds) when the player disconnected from game server.
placing_timeoutuint32_tTimeout for placing status
cur_player_battle_session_infoPlayerBattleSessionInfoPlayer battle session of current player
battle_propertiespgos::pvector<BattleProperty>K-V pair property of a battle session
battle_session_datapgos::pstringCustom string data of a battle session. Preset in matchmaking configuration
source_typeBattleSourceTypeWhat service that the battle session generated from
configuration_namepgos::pstringConfiguration name of matchmaking, lobby or world service
bucket_pathpgos::pmap<pgos::pstring, pgos::pstring>Mapping from bucket filter attribute name to attribute value. [for WORLD battle session only]
ruleset_namepgos::pstringRuleset name hit. Filled when battle session source type is BattleSourceType::Matchmaking
lockedboolTrue if the battle session is locked by game server A battle session generated from world service could be locked/unlocked by calling Lock/UnlockWorldBattleSession.
zonepgos::pstringZone where the battle session placed.

P2PPlayerBattleSession

A player-battle-session is a session between a player and a activated battle-session.

// namespace: pgos::client
struct P2PPlayerBattleSession
fieldtypedescription
battle_session_idpgos::pstringThe battle session id.
player_battle_session_idpgos::pstringThe id of player session in the battle, !!! NOT BATTLE SESSION ID !!!
player_idpgos::pstringThe player id
statusP2PPlayerBattleSessionStatus
created_timeint64_tThe Unix timestamp(in seconds) when the battle session was created.
terminated_timeint64_tThe Unix timestamp(in seconds) when the battle session was terminated.

P2PBattleSessionBase

A battle session corresponds a running game.

// namespace: pgos::client
struct P2PBattleSessionBase
fieldtypedescription
battle_session_idpgos::pstringThe battle session id to query
host_player_idpgos::pstringHost player of the P2P battle session
statusP2PBattleSessionStatusBattle session status
status_msgpgos::pstringThe message of the battle status
source_typeBattleSourceTypeWhat service that the battle session generated from
configuration_namepgos::pstringConfiguration name of matchmaking, lobby or world service
ruleset_namepgos::pstringRuleset name hit. Filled when battle session source type is BattleSourceType::Matchmaking
battle_propertiespgos::pvector<BattleProperty>K-V pair property of a battle session
battle_session_datapgos::pstringCustom string data of a battle session. Preset in matchmaking configuration
max_playersint32_tMaximum number of players in the battle session If the source of the battle session is Matchmaking, the max_players is calculated from the teams section of ruleset script If the source of the game is Lobby, the max_players is calculated from the teams section of lobby config
total_playersint32_tTotal number of players in the battle session. Only players with a player battle session status of COMPLETED will be excluded
created_timeint64_tThe Unix timestamp(in seconds) when the battle session was created.
terminated_timeint64_tThe Unix timestamp(in seconds) when the player disconnected from game server.

P2PBattleSession

A battle session corresponds a running game.

// namespace: pgos::client
struct P2PBattleSession : public P2PBattleSessionBase

parent: P2PBattleSessionBase

fieldtypedescription
cur_player_battle_session_infoP2PPlayerBattleSessionPlayer battle session of current player

MatchmakingProcessInfo

Detailed process of a matchmaking request.

// namespace: pgos::client
struct MatchmakingProcessInfo
fieldtypedescription
matchmaking_statusMatchmakingStatusStarting Matchmaking request is starting. Preparing Waiting for players confirmation for a multi-player matchmaking request. Note: when the MatchmakingObserver receives this status, it requires players to join or reject the mutilplayer matchmaking request. When one of the players start a mutilplayer matchmaking request, the other players will receive the 'Preparing' matchmaking status, and then decide to join or reject the matchmaking request. When everyone has joined, matchmaking start Searching. Searching Search players who fit the ruleset. Accepting Wait for players to accept the result of matchmaking. Placing Placing battle session on game DS. Pending Deprecated since <v0.12.7>. Use Placing instead. Completed The matchmaking request ends with a successful result. Check battle_session_info for detail information about the battle. Note: when the MatchmakingObserver receives this status, you need to connect the DS server via IP and port that could obtain from battle_session_info. Timeout Matchmaking request timeout. Terminated Matchmaking request is terminated. Canceled Matchmaking request is canceled. The request may have been canceled by the player or the matchmaking result has been rejected by the player. Error Matchmaking request error.
matchmaking_messagepgos::pstringThe message of the matchmaking status.
last_updated_status_timeint64_tThe Unix timestamp(in seconds) for the last update in the matchmaking status.
ticket_idpgos::pstringTicket id for the matchmaking request.
configuration_namepgos::pstringThe target matchmaking configuration name of current matchmaking request.
requested_playerspgos::pvector<RequestedPlayerInfo>Players in current matchmaking request.
matched_playerspgos::pvector<MatchedPlayerInfo>Players already matched.
matchmaking_creator_idpgos::pstringOriginator of the matchmaking request.
match_start_timeint64_tThe Unix timestamp(in seconds) when the matchmaking started.
match_end_timeint64_tThe Unix timestamp(in seconds) when the matchmaking ended.
estimated_searching_timeuint32_tNot used.
preparing_timeoutuint32_tThe maximum time(in seconds) to wait for all request members to accept the request.
searching_timeoutuint32_tThe maximum time(in seconds) to wait for searching matched players.
accepting_timeoutuint32_tThe maximum time(in seconds) to wait for accepting a matched battle
placing_timeoutuint32_tTimeout(in seconds) for Placing status.
concurrent_player_countuint32_tNumber of players searching in current match config
battle_session_infoBattleSessionInfoA battle session contains matched players.
battle_session_providerpgos::pstringProvider of battle session management: @ PGOS for PGOS battle service @ STANDALONE for self-build battle session management service. @ P2P for battle session hosted by game P2P game client
p2p_host_player_idpgos::pstringHost player id for a P2P battle provide by P2P matchmaking. Only be filled when @battle_session_provider is set to P2P. OnStartP2PBattleSession event of P2PBattle module should be handled by the host client to obtain detail information of a P2P battle sesssion.
p2p_battle_session_idpgos::pstringP2P Battle sesssion id provide by P2P matchmaking. Only be filled when @battle_session_provider is set to P2P. Battle session activation events will be pushed through OnP2PBattleSessionUpdated events of P2PBattle module.

GetConcurrentMatchmakingPlayerCountParams

// namespace: pgos::client
struct GetConcurrentMatchmakingPlayerCountParams
fieldtypedescription
configuration_namepgos::pstringMatchmaking configuration name.

GetConcurrentMatchmakingPlayerCountResult

// namespace: pgos::client
struct GetConcurrentMatchmakingPlayerCountResult
fieldtypedescription
countuint32_tPlayers in current matchmaking pool.

PartyCustomData

Custom data for party.

// namespace: pgos::client
struct PartyCustomData
fieldtypedescription
versionintCustom data version, always incremental over the lifetime of the party.
global_custom_datapgos::pstringGlobal custom data. Only Leader has permission to modify it.
player_custom_datapgos::pmap<pgos::pstring, pgos::pstring>Player custom data. The map key is party member's player ID, the map value is the party member's custom data. Each party member could modify it's player custom data.

PartyInfo

Detailed information of a party

// namespace: pgos::client
struct PartyInfo
fieldtypedescription
party_idpgos::pstringThe party id
namepgos::pstringName of the party
leaderPlayerInfoPlayer who is the leader of the party A leader can: Kick out members: a leader can kick out any member at any time. Dismiss the party. Transfer leadership to another member.
memberspgos::pvector<PlayerInfo>Players of the party
created_timeint64_tThe Unix timestamp(in seconds) when the party was created.
max_playeruint32_tMax number of players in the party, unlimited if it is 0.
custom_dataPartyCustomDataCustom data of the party(including global and player).
join_strategyPartyJoinStrategyThe strategy controls the rules who could join the party.
invite_strategyPartyInviteStrategyThe strategy controls the rules who could invite others to the party.

SetPartyStrategyParams

The parameters of join/invite strategy used to SetPartyStrategy

// namespace: pgos::client
struct SetPartyStrategyParams
fieldtypedescription
party_idpgos::pstringThe party id
join_strategyPartyJoinStrategyThe strategy controls the rules who could join the party.
invite_strategyPartyInviteStrategyThe strategy controls the rules who could invite others to the party.

CreatePartyParams

Request struct for create party

// namespace: pgos::client
struct CreatePartyParams
fieldtypedescription
party_namepgos::pstringOptional name of the new party
max_playeruint32_tThe maximum limit on the count of party members, pass 0 if you don't want to limit
enable_chattingboolIf true, the party members can use SendPartyChatTextMsg/SendPartyChatCustomMsg/SetOnReceiveChatMsg
join_strategyPartyJoinStrategyThe strategy controls the rules who could join the party.
invite_strategyPartyInviteStrategyThe strategy controls the rules who could invite others to the party.

SendPartyChatMsgParams

Request struct for sending party chat message

// namespace: pgos::client
struct SendPartyChatMsgParams
fieldtypedescription
contentpgos::pstringThe message content to be sent
custom_datapgos::pstringAdditional information added by the game

BattleDataInfo

Raw battle history data

// namespace: pgos::client
struct BattleDataInfo
fieldtypedescription
battle_session_idpgos::pstringThe battle session id to query
datapgos::pmap<pgos::pstring, pgos::pstring>Battle custom kv data, such as {key1:value1, key2:value2}
tagspgos::pvector<pgos::pstring>Battle custom tags, you can filter battles by tags, such as [Entertainment]
failspgos::pmap<pgos::pstring, pgos::pstring>A list of failed items in K-V pair data operations
battle_created_timeint64_tThe Unix timestamp(in seconds) when the battle session was created.

BattleListInfo

A list of battle history data

// namespace: pgos::client
struct BattleListInfo
fieldtypedescription
battle_data_listpgos::pvector<BattleDataInfo>A list of raw battle history data
next_offsetuint32_tThe next starting position of the list

BattleBriefInfo

A special battle history data that is preset by PGOS.

// namespace: pgos::client
struct BattleBriefInfo
fieldtypedescription
battle_session_idpgos::pstringThe battle session id to query
briefpgos::pstringCustom battle brief, such as current player's KDA
tagspgos::pvector<pgos::pstring>Battle custom tags, you can filter battles by tags, such as [Entertainment]
battle_created_timeint64_tThe Unix timestamp(in seconds) when the battle session was created.

BattleDetailInfo

A special battle history data that is preset by PGOS.

// namespace: pgos::client
struct BattleDetailInfo
fieldtypedescription
battle_session_idpgos::pstringThe battle session id to query
detailpgos::pstringCustom battle detail, such as the KDA of all players
tagspgos::pvector<pgos::pstring>Battle custom tags, you can filter battles by tags, such as [Entertainment]
battle_created_timeint64_tThe Unix timestamp(in seconds) when the battle session was created.

BattleBriefListInfo

A list of battle brief info

// namespace: pgos::client
struct BattleBriefListInfo
fieldtypedescription
battle_data_listpgos::pvector<BattleBriefInfo>A list of raw battle history data
next_offsetuint32_tThe next starting position of the list

MentionedPlayer

The mentioned player. When the value of player_id is '@ALL', it means mentioning all players.

// namespace: pgos::client
struct MentionedPlayer
fieldtypedescription
player_idpgos::pstringUnique id of player, When the value of player_id is '@ALL', it means mentioning all players.
player_display_namepgos::pstringPlayer's display name. Populated by the game developer when sending a message.

ChatMsgContent

Instant/Party/Lobby chat message content

// namespace: pgos::client
struct ChatMsgContent
fieldtypedescription
text_contentpgos::pstringTake the value from here when msg type is MsgTypeText
custom_contentpgos::pstringTake the value from here when msg type is MsgTypeCustom

ChatMsgInfo

Instant/Party/Lobby chat messages

// namespace: pgos::client
struct ChatMsgInfo
fieldtypedescription
senderPlayerInfoThe player who send the message
sent_timeint64_tThe time the message was sent
msg_typeChatMsgTypeThe type of the message
contentChatMsgContentThe message to be sent
seqint64_tThe sequence number of the message
custom_datapgos::pstringAdditional information added by the game

SendPersonalMsgParams

Request struct for sending personal message

// namespace: pgos::client
struct SendPersonalMsgParams
fieldtypedescription
peer_player_idpgos::pstringPeer player's ID
contentpgos::pstringContent
custom_datapgos::pstringAdditional information added by the game

UnreadMsgCountNotifyEvt

Event result of unread message count changed

// namespace: pgos::client
struct UnreadMsgCountNotifyEvt
fieldtypedescription
total_unread_countint32_tTotal unread count of personal chat or group chat

PersonalMsgContent

Personal chat message content

// namespace: pgos::client
struct PersonalMsgContent
fieldtypedescription
text_contentpgos::pstringTake the value from here when msg type is MsgTypeText
custom_contentpgos::pstringTake the value from here when msg type is MsgTypeCustom

PersonalMsgInfo

Personal chat message info

// namespace: pgos::client
struct PersonalMsgInfo
fieldtypedescription
senderPlayerInfoThe player who sent the message
sent_timeint64_tThe time the message was sent
msg_typeChatMsgTypeThe type of the message
contentPersonalMsgContentThe message to be sent
seqint64_tThe sequence number of the message
custom_datapgos::pstringAdditional information added by the game

ReceivePersonalMsgEvt

Event result of receive personal chat message

// namespace: pgos::client
struct ReceivePersonalMsgEvt
fieldtypedescription
msgPersonalMsgInfoPersonal chat message received
unread_countint32_tCount of unread message from sender

PersonalChatItem

Personal chat info

// namespace: pgos::client
struct PersonalChatItem
fieldtypedescription
peer_player_infoPlayerInfoThe peer player info
unread_countint32_tUnread message count
msg_latestPersonalMsgInfoRecent chat message info

GetMyPersonalChatListResult

My personal chat list

// namespace: pgos::client
struct GetMyPersonalChatListResult
fieldtypedescription
personal_chat_listpgos::pvector<PersonalChatItem>Personal chat list

GetPersonalChatMsgListResult

Result of get personal chat message list

// namespace: pgos::client
struct GetPersonalChatMsgListResult
fieldtypedescription
msg_listpgos::pvector<PersonalMsgInfo>Chat message info list
already_read_seqint64_tMessages with seq less than or equal to this have already been read
has_moreboolWhether has more message
next_seqint64_tThe starting sequence for the next query

GetGmeTicketResult

// namespace: pgos::client
struct GetGmeTicketResult
fieldtypedescription
gme_ticketpgos::pstringResult of the gme ticket request, which is base64 encoded
voice_app_idpgos::pstringIndicates the gme app id registed on portal
gme_typepgos::pstringService provider: aws, tcloud_chinese_mainland, tcloud_intl, etc.

JoinInstantChatResult

The result of players joining instant chat

// namespace: pgos::client
struct JoinInstantChatResult
fieldtypedescription
chat_channel_idpgos::pstringThe chat channel

ReceiveInstantChatMsgEvt

Event result of receive instant chat message

// namespace: pgos::client
struct ReceiveInstantChatMsgEvt
fieldtypedescription
chat_channel_idpgos::pstringID of chat channel where the message was received
chat_msg_infoChatMsgInfoInstant chat message received

InstantChatMemberJoinedEvt

Event result of member joined instant chat

// namespace: pgos::client
struct InstantChatMemberJoinedEvt
fieldtypedescription
chat_channel_idpgos::pstringInstant chat channel the player joined
added_memberspgos::pvector<PlayerInfo>Players added to the instant chat

InstantChatMemberLeftEvt

Event result of member left instant chat

// namespace: pgos::client
struct InstantChatMemberLeftEvt
fieldtypedescription
chat_channel_idpgos::pstringInstant chat channel the player left
left_memberspgos::pvector<PlayerInfo>Players left from the channel

GetInstantChatMembersResult

All the players in the channel

// namespace: pgos::client
struct GetInstantChatMembersResult
fieldtypedescription
all_memberspgos::pvector<PlayerInfo>All the players in the channel

SendInstantChatMsgParams

Request struct for sending instant chat message

// namespace: pgos::client
struct SendInstantChatMsgParams
fieldtypedescription
chat_channel_idpgos::pstringThe chat channel ID
contentpgos::pstringThe message content to be sent
custom_datapgos::pstringAdditional information added by the game

GetInstantChatMemberIDsResult

All player IDs in a channel

// namespace: pgos::client
struct GetInstantChatMemberIDsResult
fieldtypedescription
all_member_idspgos::pvector<pgos::pstring>All the players in the channel

GetInstantChatMemberCountResult

The num of players in a channel

// namespace: pgos::client
struct GetInstantChatMemberCountResult
fieldtypedescription
all_member_countint32_tThe num of players in a channel

LobbyPlayer

Player in lobby

// namespace: pgos::client
struct LobbyPlayer
fieldtypedescription
player_infoPlayerInfoBase info of a player.
team_namepgos::pstringCurrent team of the player. Team name is pre-set in lobby configuration
team_slotuint32_tSlot index of the player. Starting value is 1
sourceLobbyJoiningSourceThe source of the player join the lobby
readyboolReady flag of the player

LobbyTeam

Team struct of current lobby

// namespace: pgos::client
struct LobbyTeam
fieldtypedescription
namepgos::pstringTeam name is pre-set in lobby configuration
capacityuint32_tCapacity of the team
playerspgos::pmap<pgos::pstring, LobbyPlayer>A map from team slot(in string format) to LobbyPlayer for all players in the team.
grouppgos::pstringThe group to which the team belongs
start_battle_conditionLobbyStartBattleConditionThe action when the lobby owner invokes the StartBattle interface depends on the Ready flag of lobby members.

LobbyBriefInfo

Brief information of a lobby

// namespace: pgos::client
struct LobbyBriefInfo
fieldtypedescription
lobby_idpgos::pstringA unique lobby ID which was displayed on the game client.
lobby_ownerLobbyPlayerThe name of the lobby owner.
namepgos::pstringThe name of the lobby.
statusLobbyStatusThe current lobby status.
privacyLobbyPrivacyLobby privacy type: Dummy, Invisible, or Invisible
protectionLobbyProtectionLobby protection type: Dummy, PasswordNeeded, PasswordUnNeeded
player_countuint32_tThe number of players in the lobby
player_limituint32_tSum of capacities of all teams
kv_datapgos::pmap<pgos::pstring, pgos::pstring>Global kv data of the lobby. Only owner has the permission to modify it.
player_kv_datapgos::pmap<pgos::pstring, pgos::pstring>Player custom data of each lobby member. The map key is lobby member's player ID, the map value is the lobby member's custom data. Each lobby member could modify it's player kv data.
game_modepgos::pstringThe game mode of the lobby. Each game mode can be configured with a placer on the portal

LobbyDetailInfo

Detailed information of a lobby

// namespace: pgos::client
struct LobbyDetailInfo : public LobbyBriefInfo

parent: LobbyBriefInfo

fieldtypedescription
status_reasonLobbyStatusReasonThe reason that the lobby status changes.
passwordpgos::pstringPassword needed to join the lobby
teamspgos::pvector<LobbyTeam>The team struct of current lobby.
lobby_configpgos::pstringLobby configuration name of current lobby
chat_channel_idpgos::pstringAn unique chat channel ID for the lobby's chat channel; empty if enable_chatting was set to false when the lobby was created.
battle_session_idpgos::pstringThe battle session that started from the lobby
preparing_timeoutuint32_tThe maximum time to wait for all request members to accept the request
placing_timeoutuint32_tThe maximum time to wait for placing the battle session
battle_session_providerpgos::pstringProvider of battle session management service. PGOS for PGOS battle service, STANDALONE for self-build battle session management service.

CreateLobbyParams

The information needed to create the lobby.

// namespace: pgos::client
struct CreateLobbyParams
fieldtypedescription
lobby_configpgos::pstringLobby configuration name of current lobby
namepgos::pstringThe name of the lobby.
privacyLobbyPrivacyLobby privacy type: Dummy, Invisible, or Invisible
passwordpgos::pstringPassword needed to join the lobby
enable_chattingboolIf true, the lobby members can use SendLobbyChatTextMsg/SendLobbyChatCustomMsg/SetOnReceiveLobbyChatMsg
kv_datapgos::pmap<pgos::pstring, pgos::pstring>Lobby global data. Each key-value pair is a string. Special note: When using this parameter to filter room instances (such as in the SearchLobby/QuickJoin interfaces), PGOS supports parsing special string values as lists to enable more complex set-based filtering operations. The string value formats that can be parsed as lists include: [a, b, c] / ["a", "b", "c"] (where the double quotes will be automatically stripped).
protectionLobbyProtectionOptional, the lobby protection policy.
game_modepgos::pstringOptional, the game mode of the lobby. After starting the battle, the placer corresponding to the game mode on the portal will be used. If this game mode does not have a placer configured, the default placer configured on the portal will be used.

EditLobbyInfoParams

The lobby information that needs to be updated. These data will overwrite the previous data.

// namespace: pgos::client
struct EditLobbyInfoParams
fieldtypedescription
namepgos::pstringThe name of the lobby.
privacyLobbyPrivacyLobby privacy type: Dummy, Invisible, or Invisible
passwordpgos::pstringPassword needed to join the lobby
kv_datapgos::pmap<pgos::pstring, pgos::pstring>Deprecated since <v0.33.2>, use SetSetLobbyGlobalData instead
protectionLobbyProtectionThe lobby protection policy.
game_modepgos::pstringthe game mode of the lobby. After starting the battle, the placer corresponding to the game mode on the portal will be used. If this game mode does not have a placer configured, the default placer configured on the portal will be used.

JoinLobbyParams

The information needed when join the lobby

// namespace: pgos::client
struct JoinLobbyParams
fieldtypedescription
lobby_idpgos::pstringThe lobby id to join
passwordpgos::pstringThe lobby password. If the lobby is not encrypted, it doesn't need to be filled.
join_tokenpgos::pstringIt is from the event of 'OnLobbyInvitation' if the player is invited to join a lobby, Otherwise it doesn't need to be filled.
payloadpgos::pstringJoin request payload will be passed to the lobby owner in OnLobbyJoinRequest event for a lobby with LobbyProtection::ApplicationNeeded.

JoinLobbyWithGroupsParams

The information needed when join the lobby

// namespace: pgos::client
struct JoinLobbyWithGroupsParams : public JoinLobbyParams

parent: JoinLobbyParams

fieldtypedescription
selected_groupspgos::pmap<pgos::pstring, uint32_t>Try to join the specified groups in the lobby according to the specified priority value from small to large. key: group, value: priority.(priority cannot be less than 0)

JoinLobbyWithTeamsParams

The information needed when join the lobby

// namespace: pgos::client
struct JoinLobbyWithTeamsParams : public JoinLobbyParams

parent: JoinLobbyParams

fieldtypedescription
selected_teamspgos::pmap<pgos::pstring, uint32_t>Try to join the specified teams in the lobby according to the specified priority value from small to large. key: team name, value: priority.(priority cannot be less than 0)

SearchLobbyDataFilter

Lobby data search filter

// namespace: pgos::client
struct SearchLobbyDataFilter
fieldtypedescription
equal_valuespgos::pvector<pgos::pstring>[Only for single string value] List all values that meet the filtering data. This field does not take effect when 'treat_as_list_value' is true.
not_equal_valuespgos::pvector<pgos::pstring>[Only for single string value] List all values that do not meet the filtering data. This field does not take effect when 'treat_as_list_value' is true.
set_is_subset_valuespgos::pvector<pgos::pstring>[Only for list value] Target data list value is subset of giving list. This field does not take effect when 'treat_as_list_value' is false.
set_intersection_valuespgos::pvector<pgos::pstring>[Only for list value] The intersection between the target list and the given list is not empty. This field does not take effect when 'treat_as_list_value' is false.
treat_as_list_valueboolWhether to treat the target value in lobby_data as a list value, defaulting to false.

SearchLobbyParams

The optional filter information when searching the lobby list.

// namespace: pgos::client
struct SearchLobbyParams
fieldtypedescription
lobby_idpgos::pstringOptional, search for the specified lobby by id. It can search for the lobby of 'Invisible'
lobby_configpgos::pstringOptional, search for the lobby of the specified config, such as 'lobby 1v1'
statusLobbyStatusOptional, search for the lobby in the specific state
protectionLobbyProtectionOptional, for example, only search for the lobby without password
offsetuint32_tThe starting position of the search
countuint32_tThe search count
order_byLobbyOrderBySearch order
order_typeLobbyOrderTypeOrder direction
lobby_datapgos::pmap<pgos::pstring, SearchLobbyDataFilter>Filter by global kv data of the lobby. The map key is lobby data key, and the map value is lobby data filter.

SearchLobbyResult

The result of the search lobby request

// namespace: pgos::client
struct SearchLobbyResult
fieldtypedescription
lobbiespgos::pvector<LobbyBriefInfo>A list of lobbies filtered by our search. If these data are not filled (lobby_id, lobby_config, status, protection), all existing lobbies will be returned.
total_matched_lobbies_countint64_tThe total number of lobbies filtered by the search

QuickJoinLobbyParams

// namespace: pgos::client
struct QuickJoinLobbyParams
fieldtypedescription
lobby_configpgos::pstringRequired, lobby configuration name.
lobby_datapgos::pmap<pgos::pstring, SearchLobbyDataFilter>Optional, filter by global kv data of the lobby. The map key is lobby data key, and the map value is lobby data filter.
selected_groupspgos::pmap<pgos::pstring, uint32_t>Optional, selected_groups will be used when PGOS place the player into lobby instance. Try to join the specified groups in the lobby according to the specified priority value from small to large. key: group, value: priority.(priority cannot be less than 0)
selected_teamspgos::pmap<pgos::pstring, uint32_t>Optional, selected_teams will be used when PGOS place the player into lobby instance. Try to join the specified teams in the lobby according to the specified priority value from small to large. key: team name, value: priority.(priority cannot be less than 0)

SendLobbyChatMsgParams

Request struct for sending lobby chat message

// namespace: pgos::client
struct SendLobbyChatMsgParams
fieldtypedescription
contentpgos::pstringThe message content to be sent
custom_datapgos::pstringAdditional information added by the game

SetFriendRemarkParams

Request struct for set friend remark.

// namespace: pgos::client
struct SetFriendRemarkParams
fieldtypedescription
player_idpgos::pstringPlayer's ID
remarkpgos::pstringremark to the friend

AddFriendParams

Request struct for add friend.

// namespace: pgos::client
struct AddFriendParams
fieldtypedescription
player_idpgos::pstringThe player id to add
messagepgos::pstringRequest message

BatchAddFriendParams

Request struct for batch add friend.

// namespace: pgos::client
struct BatchAddFriendParams
fieldtypedescription
player_idspgos::pvector<pgos::pstring>The player ids to add
messagepgos::pstringRequest message

FriendReqInfo

The friend request details.

// namespace: pgos::client
struct FriendReqInfo
fieldtypedescription
player_infoPlayerInfoBasic player information such as display name and avatar.
messagepgos::pstringThe request message sent from the player who wants to add you as a friend.
created_timeint64_tThe Unix timestamp(in seconds) when the request was created.

BatchAddFriendRsp

Response that add batch friends.

// namespace: pgos::client
struct BatchAddFriendRsp
fieldtypedescription
fail_playerspgos::pmap<pgos::pstring, pgos::pstring>Players who totally failed, key: player_id, value: failed reason.

FriendReqListInfo

The list of friend requests.

// namespace: pgos::client
struct FriendReqListInfo
fieldtypedescription
friend_request_info_listpgos::pvector<FriendReqInfo>The list of friend requests

GetMyFriendsLimitResult

Response to get my friends limit.

// namespace: pgos::client
struct GetMyFriendsLimitResult
fieldtypedescription
friends_limituint32_tThe maximum limit of friends you can have.

BatchAccountIDToPlayerIDResult

The result of batch account ids to player ids.

// namespace: pgos::client
struct BatchAccountIDToPlayerIDResult
fieldtypedescription
datapgos::pmap<pgos::pstring, pgos::pstring>Result of successful conversion, key: account id, value: player id.
failspgos::pmap<pgos::pstring, pgos::pstring>Partial failure result, key: account id, value: failed reason.

BlocklistInfo

My blocklist details

// namespace: pgos::client
struct BlocklistInfo
fieldtypedescription
player_info_listpgos::pvector<PlayerInfo>Players in my blocklist

SyncAccountPlatformBlocklistResult

All blocklist's player IDs

// namespace: pgos::client
struct SyncAccountPlatformBlocklistResult
fieldtypedescription
all_blocklistpgos::pvector<pgos::pstring>All players in blocklist

PlayerPresence

The player's current status information which is set by game, such as in party , in lobby, in battle.

// namespace: pgos::client
struct PlayerPresence
fieldtypedescription
statusOnlineStatusOnline status is provided by PGOS Server. It has two values: online and offline.
presencepgos::pstringThe player's current status information which is set by game, such as in party , in lobby, in battle.

BatchGetPlayerPresenceRsp

Response of querying multiple players' presence

// namespace: pgos::client
struct BatchGetPlayerPresenceRsp
fieldtypedescription
player_presencespgos::pmap<pgos::pstring, PlayerPresence>Presences of the players, key: player_id, value: the player's presence.
fail_playerspgos::pmap<pgos::pstring, pgos::pstring>Players who totally failed, key: player_id, value: failed reason.

PlayerFriendInfo

Details of a player's friend

// namespace: pgos::client
struct PlayerFriendInfo
fieldtypedescription
player_infoPlayerInfoBasic player information such as display name and avatar.
player_presencePlayerPresenceThe player's current status information which is set by game, such as in party , in lobby, in battle.
remarkpgos::pstringremark to the player, for example, "Tommy, a humorous man, met in the battle."

PlayerSearchInfo

Details of player search

// namespace: pgos::client
struct PlayerSearchInfo
fieldtypedescription
player_infoPlayerInfoBasic player information such as display name and avatar.
player_presencePlayerPresenceThe player's current status information which is set by game, such as in party , in lobby, in battle.
remarkpgos::pstringThe remark of the player
is_friendboolWhether the searched player is a friend
is_blockedboolWhether the searched player is placed in the blocked list

FriendListInfo

Friend list details

// namespace: pgos::client
struct FriendListInfo
fieldtypedescription
friend_info_listpgos::pvector<PlayerFriendInfo>Friend list details

PlayerSearchInfoList

A list of player search details

// namespace: pgos::client
struct PlayerSearchInfoList
fieldtypedescription
info_listpgos::pvector<PlayerSearchInfo>A list of player search details

PlatformPlayerInfo

Players of external platform such as Steam

// namespace: pgos::client
struct PlatformPlayerInfo
fieldtypedescription
account_open_idpgos::pstringAccount openIDs of external platform such as Steam.
player_infoPlayerInfoBasic player information such as display name and avatar.
player_presencePlayerPresenceThe player's current status information which is set by game, such as in party , in lobby, in battle.
remarkpgos::pstringThe remark of the player
is_friendboolWhether the searched player is a friend
is_blockedboolWhether the searched player is placed in the blocked list

PlatformPlayerInfoMap

A map of players of external platform such as Steam.

// namespace: pgos::client
struct PlatformPlayerInfoMap
fieldtypedescription
transform_item_mappgos::pmap<pgos::pstring, PlatformPlayerInfo>A map of players of external platform such as Steam. Key: player's open_id, Value: PlatformPlayerInfo

AcceptFriendRequestResult

Result of accept friend request.

// namespace: pgos::client
struct AcceptFriendRequestResult
fieldtypedescription
friend_infoPlayerFriendInfoNew friend information obtained after accepting.

SearchPlayerFilter

Filter param for search player.

// namespace: pgos::client
struct SearchPlayerFilter
fieldtypedescription
ospgos::pvector<ClientOS>OS filter. Currently supports passing in at most one OS. Empty means no filtering based on OS.

SearchPlayersParams

Request struct for search players

// namespace: pgos::client
struct SearchPlayersParams
fieldtypedescription
search_keypgos::pstringKey words to for searching, now only supports searching based on player id and player name. Search results are paged back.
offsetuint32_tIndex of the first data in all search results.
countuint32_tMaximum count of results returned in one page, the maximum value of 'count' is 50

SearchPlayersWithFilterParams

Request struct for search players with filter

// namespace: pgos::client
struct SearchPlayersWithFilterParams
fieldtypedescription
search_keypgos::pstringKey words to for searching, now only supports searching based on player id and player name. Search results are paged back.
search_filterSearchPlayerFilterFilter by OS etc..
offsetuint32_tIndex of the first data in all search results.
countuint32_tMaximum count of results returned in one page, the maximum value of 'count' is 50

UniqueItemDeduction

Price deduction for unique items in the store item configured on the portal.

// namespace: pgos::client
struct UniqueItemDeduction
fieldtypedescription
item_idpgos::pstringThe id of the unique item.
deduction_priceuint32_tThe deduction price of the unique item configured on the portal.
is_deductedboolTrue means that the player owns the unique item and a deduction occurred when purchasing the store item.

CompensationCurrency

Currency compensation.

// namespace: pgos::client
struct CompensationCurrency
fieldtypedescription
currency_codepgos::pstringThe code of the currency.
amountuint32_tThe amount of the currency.

UniqueItemCompensation

Compensation for unique items in the store item configured on the portal. This used when pay_platform is MidasGlobal

// namespace: pgos::client
struct UniqueItemCompensation
fieldtypedescription
currenciespgos::pvector<CompensationCurrency>Currency compensations.

StoreItemPrice

The price of a store item.

// namespace: pgos::client
struct StoreItemPrice
fieldtypedescription
currency_codepgos::pstringThe code of the currency.
currency_namepgos::pstringThe name of the currency.
currency_iconpgos::pstringThe uri of the currency.
priceuint32_tThe actual price used to purchase the store item with the currency. selling_price deducts the deduction_price where is_deducted is true in unique_item_deductions.
selling_priceuint32_tSelling price in the store, defined in the store item of the portal. When creating a store item on the portal, you can directly use the price defined in the in-game item (default_price), at this time selling_price is equal to default_price, or you can use custom selling price.
original_priceuint32_tDeprecated since <v0.25.0>. Use selling_price instead.
default_priceuint32_tThe price of in-game item. defined in the in-game item of the portal.
unique_item_deductionspgos::pmap<pgos::pstring, UniqueItemDeduction>Price deduction for unique items in the store item configured on the portal. Key: unique item id.

ItemPrice

The currency code and price used to purchase the item

// namespace: pgos::client
struct ItemPrice
fieldtypedescription
currency_codepgos::pstringThe code of the currency.
priceuint32_tThe actual price used to purchase the store item with the currency.

GetBalancesResult

// namespace: pgos::client
struct GetBalancesResult
fieldtypedescription
balancespgos::pvector<Balance>The balances that the player owns.

StoreItemPurchaseLimit

Purchase amount limit of store item.

// namespace: pgos::client
struct StoreItemPurchaseLimit
fieldtypedescription
max_purchase_amountuint32_tThe maximum amount limit that players can purchase for this store item. 0 means no limit.
purchased_amountuint32_tWhen max_purchase_amount is greater than 0, record the amount that the player has purchased. Please note that when the category period is switched, its value will be recalculated.

StoreItem

// namespace: pgos::client
struct StoreItem
fieldtypedescription
pay_platformpgos::pstringPay platform name, such as: 'Pgos', 'MidasGlobal', etc. You can use macros starting with 'PAY_PLATFORM' in pgos_common_define.h @ Pgos, make a virtual currency payment to PGOS to purchase this item. @ MidasGlobal, make a cash payment through Midas to purchase this item.
store_item_idpgos::pstringThe id of the store item.
statusStoreItemStatusStore item status: Dummy / Available / Owned / ExceedLimit.
pricespgos::pvector<StoreItemPrice>The currency to purchase the store item, it may be multiple.
itemInGameItemThe in-game item related to the store item.
tagspgos::pmap<pgos::pstring, pgos::pstring>The tags of store item Fill in the tags of item on the portal.
purchase_limitStoreItemPurchaseLimitPurchase amount limit of store item.
compensationspgos::pmap<pgos::pstring, UniqueItemCompensation>The compensation for unique items in the store item configured on the portal when pay_platform is MidasGlobal. Key: unique item id.

StoreCategoryBrief

The brief information of the store category.

// namespace: pgos::client
struct StoreCategoryBrief
fieldtypedescription
category_idpgos::pstringThe id of the category.
namepgos::pstringThe name of the category.
descriptionpgos::pstringThe description of the category.
tagspgos::pmap<pgos::pstring, pgos::pstring>The custom tags of the category.
typeStoreCategoryTypeThe type of the category.
published_start_timeint64_tThe Unix timestamp (in seconds) for the start time of the currently active period. It is always 0 under the simple type.
published_end_timeint64_tThe Unix timestamp (in seconds) for the end time of the currently active period. It is always 0 under the simple type.

StoreCategory

The information of the store category.

// namespace: pgos::client
struct StoreCategory : public StoreCategoryBrief

parent: StoreCategoryBrief

fieldtypedescription
content_itemspgos::pvector<StoreItem>Store items in the category.

Store

// namespace: pgos::client
struct Store
fieldtypedescription
store_idpgos::pstringThe id of the store.
display_namepgos::pstringThe name of the store.
descriptionpgos::pstringThe description of the store.
tagspgos::pmap<pgos::pstring, pgos::pstring>The custom tags of the store.
categoriespgos::pvector<StoreCategory>The category list of the the store, each category has a store item list.
item_dictItemDictIn-game item defines that may be referenced in the 'item_content', and you can use 'ItemDict::FindItem' to search.
platform_item_mappingpgos::pmap<pgos::pstring, pgos::pstring>The mapping relationship between PGOS in-game items and 3rd-party platform items configured on the PGOS portal. key: PGOS in-game item id, value: 3rd-party platform item id.

StoreBrief

The brief information of the store.

// namespace: pgos::client
struct StoreBrief
fieldtypedescription
store_idpgos::pstringThe id of the store.
display_namepgos::pstringThe name of the store.
descriptionpgos::pstringThe description of the store.
tagspgos::pmap<pgos::pstring, pgos::pstring>The custom tags of the store.
category_briefspgos::pvector<StoreCategoryBrief>The category brief list of the the store.

GetStoreBriefsParams

// namespace: pgos::client
struct GetStoreBriefsParams
fieldtypedescription
store_idspgos::pvector<pgos::pstring>List of store IDs to be queried.

GetStoreBriefsResult

// namespace: pgos::client
struct GetStoreBriefsResult
fieldtypedescription
store_briefspgos::pmap<pgos::pstring, StoreBrief>List of store brief information queried.

GetStoreParams

// namespace: pgos::client
struct GetStoreParams
fieldtypedescription
store_idpgos::pstringThe specified store id.
pay_platformpgos::pstring[Optional] Pay platform name, such as: 'Steam', 'Xbox', etc. You can use macros starting with 'PAY_PLATFORM' in pgos_common_define.h After specifying the pay platform, the result will bring the platform_item_mapping of the corresponding platform configured on the portal.

GetStoreWithPlatformParams

// namespace: pgos::client
struct GetStoreWithPlatformParams : public GetStoreParams

parent: GetStoreParams

GetStoreCategoriesParams

// namespace: pgos::client
struct GetStoreCategoriesParams
fieldtypedescription
store_idpgos::pstringThe specified store id.
category_idspgos::pvector<pgos::pstring>List of category IDs to be queried.
pay_platformpgos::pstring[Optional] Pay platform name, such as: 'Steam', 'Xbox', etc. You can use macros starting with 'PAY_PLATFORM' in pgos_common_define.h After specifying the pay platform, the result will bring the platform_item_mapping of the corresponding platform configured on the portal.

GetStoreCategoriesResult

// namespace: pgos::client
struct GetStoreCategoriesResult
fieldtypedescription
categoriespgos::pvector<StoreCategory>The specified categories that have been queried.
failspgos::pmap<pgos::pstring, pgos::pstring>Categories that failed to query, key: player id, value: failed reason.
item_dictItemDictIn-game item defines that may be referenced in the 'item_content', and you can use 'ItemDict::FindItem' to search.
store_idpgos::pstringThe id of the store.
display_namepgos::pstringThe name of the store.
descriptionpgos::pstringThe description of the store.
tagspgos::pmap<pgos::pstring, pgos::pstring>The custom tags of the store.
platform_item_mappingpgos::pmap<pgos::pstring, pgos::pstring>The mapping relationship between PGOS in-game items and 3rd-party platform items configured on the PGOS portal. key: PGOS in-game item id, value: 3rd-party platform item id.

InstanceOperationResult

// namespace: pgos::client
struct InstanceOperationResult
fieldtypedescription
instance_idpgos::pstringThe instance id of this operation.
left_amountuint32_tThe number of instance remaining after this operation.

ConsumeInstanceParams

Request struct for consume instance.

// namespace: pgos::client
struct ConsumeInstanceParams : public BaseBackendEventParams

parent: BaseBackendEventParams

fieldtypedescription
instance_idpgos::pstringThe item instance id.
idempotency_tokenpgos::pstring[Optional] Used to ensure the idempotence of the function. Idempotence means that regardless of how many times the function is called, the result remains the same. By passing a unique idempotency_token, it ensures that the function does not produce duplicate side effects or results when called repeatedly. Note: To avoid generating the same idempotency_token as other players, it is recommended to concatenate it with the player's own player ID.

ConsumeInstanceResult

// namespace: pgos::client
struct ConsumeInstanceResult : public InstanceOperationResult

parent: InstanceOperationResult

fieldtypedescription
custom_err_codeint32_tThe error code returned by the virtual server bound to the consumer action.
custom_err_msgpgos::pstringThe error msg returned by the virtual server bound to the consumer action.
func_resultpgos::pstringThe json string returned by the virtual server bound to the consumer action.
replayedboolWhether the request is replayed. When it is True, it indicates that the result of the function is obtained by replaying with the same idempotency_token. This means that the result of the function has been generated in a previous call and is being reused in the current call.

OpenContainerInstanceParams

Request struct for open container instance.

// namespace: pgos::client
struct OpenContainerInstanceParams : public BaseBackendEventParams

parent: BaseBackendEventParams

fieldtypedescription
instance_idpgos::pstringThe container instance id.

OpenContainerResult

// namespace: pgos::client
struct OpenContainerResult : public InstanceOperationResult

parent: InstanceOperationResult

fieldtypedescription
item_instsItemInstPackThe item instances obtained after opening the container.
currenciespgos::pvector<Currency>The currencies obtained after opening the container.
conflict_unique_itemspgos::pvector<ConflictUniqueItem>Unique items that already in inventory cause failed to be synchronized.

RevokeInstanceParams

Request struct for revoke instance.

// namespace: pgos::client
struct RevokeInstanceParams : public BaseBackendEventParams

parent: BaseBackendEventParams

fieldtypedescription
instance_idpgos::pstringThe item instance id.

SetInstanceTagsParams

// namespace: pgos::client
struct SetInstanceTagsParams
fieldtypedescription
instance_idpgos::pstringThe item instance id.
update_datapgos::pmap<pgos::pstring, pgos::pstring>Update the data of the specified keys in the tags. If the key does not exist, it indicates inserting new data.
delete_keyspgos::pvector<pgos::pstring>Delete the data of specified keys in the tags. The key from update_data cannot be included.

SetInstanceTagsResult

// namespace: pgos::client
struct SetInstanceTagsResult
fieldtypedescription
tagspgos::pmap<pgos::pstring, pgos::pstring>Latest tags of item instance.

CreateStoreOrderParams

Request struct for create order.

// namespace: pgos::client
struct CreateStoreOrderParams : public BaseBackendEventParams

parent: BaseBackendEventParams

fieldtypedescription
store_idpgos::pstringThe store id of this store item.
store_item_idpgos::pstringThe store item id.
amountuint32_tThe amount of store item will be purchased.
priceItemPriceThe currency code and actual price to purchase the item, it must be one of the prices of this store item.

CreateStoreOrderResult

// namespace: pgos::client
struct CreateStoreOrderResult
fieldtypedescription
order_idpgos::pstringOrder ID required for purchase.

CommitStoreOrderParams

Request struct for commit order.

// namespace: pgos::client
struct CommitStoreOrderParams
fieldtypedescription
order_idpgos::pstringThe previously created order ID.

CommitStoreOrderResult

// namespace: pgos::client
struct CommitStoreOrderResult
fieldtypedescription
spent_currency_codepgos::pstringThe code of currency that has been spent to purchase the store item.
spent_currency_amountuint32_tThe amount of currency that has been spent to purchase the store item.
item_instsItemInstPackThe item instances obtained after purchase.
currenciespgos::pvector<Currency>The currencies obtained after purchase.
statusStoreOrderStatusOrder status.
failed_currenciespgos::pmap<pgos::pstring, pgos::pstring>Currencies that failed to grant. Mapping from currency code to failure reason.

QueryStoreOrderParams

// namespace: pgos::client
struct QueryStoreOrderParams
fieldtypedescription
order_idpgos::pstringThe previously created order ID.

QueryStoreOrderResult

// namespace: pgos::client
struct QueryStoreOrderResult : public CommitStoreOrderResult

parent: CommitStoreOrderResult

CheckBeforePlatformPurchaseParams

// namespace: pgos::client
struct CheckBeforePlatformPurchaseParams
fieldtypedescription
item_idpgos::pstringThe PGOS in-game item id corresponding to the item id of the 3rd-party platform to be purchased.
amountuint32_tThe amount of item will be purchased.
pay_platformpgos::pstringPay platform name, such as: 'Steam', 'EpicGames', etc. You can use macros starting with 'PAY_PLATFORM' in pgos_common_define.h

SyncPlayerPlatformInventoryParams

Request struct for sync player inventory from 3rd-party platform.

// namespace: pgos::client
struct SyncPlayerPlatformInventoryParams : public BaseBackendEventParams

parent: BaseBackendEventParams

fieldtypedescription
pay_platformpgos::pstringPay platform name, such as: 'Steam', 'EpicGames', etc. You can use macros starting with 'PAY_PLATFORM' in pgos_common_define.h

SyncPlayerPlatformInventoryResult

// namespace: pgos::client
struct SyncPlayerPlatformInventoryResult
fieldtypedescription
item_instsItemInstPackThe item instances obtained after synchronized.
currenciespgos::pvector<Currency>The currencies obtained after synchronized.
conflict_unique_itemspgos::pvector<ConflictUniqueItem>Unique items that already in inventory cause failed to be synchronized.

SyncSteamPlayerInventoryParams

Request struct for sync player inventory from Steam platform.

// namespace: pgos::client
struct SyncSteamPlayerInventoryParams : public BaseBackendEventParams

parent: BaseBackendEventParams

SyncSteamPurchaseParams

Request struct for sync item instance from Steam.

// namespace: pgos::client
struct SyncSteamPurchaseParams : public BaseBackendEventParams

parent: BaseBackendEventParams

fieldtypedescription
steam_item_inst_iduint64_tSteam item instance id.

SyncSteamPurchaseResult

// namespace: pgos::client
struct SyncSteamPurchaseResult : public SyncPlayerPlatformInventoryResult

parent: SyncPlayerPlatformInventoryResult

SyncXboxPlayerInventoryParams

Request struct for sync player inventory from Xbox platform.

// namespace: pgos::client
struct SyncXboxPlayerInventoryParams : public BaseBackendEventParams

parent: BaseBackendEventParams

fieldtypedescription
xbox_xsts_tokenpgos::pstringXbox XSTS token.

SyncXboxPurchaseParams

Request struct for sync item instance from Xbox.

// namespace: pgos::client
struct SyncXboxPurchaseParams : public BaseBackendEventParams

parent: BaseBackendEventParams

fieldtypedescription
xbox_product_idpgos::pstringXbox product id. Also referred to as the Store ID for the product within the Microsoft Store catalog.
xbox_xsts_tokenpgos::pstringXbox XSTS token.

SyncXboxPurchaseResult

// namespace: pgos::client
struct SyncXboxPurchaseResult : public SyncPlayerPlatformInventoryResult

parent: SyncPlayerPlatformInventoryResult

InventoryGrantedEvt

// namespace: pgos::client
struct InventoryGrantedEvt
fieldtypedescription
item_instsItemInstPackThe item instances granted.
src_typepgos::pstringSource type of granted. For example, "Store", "Midas", "Portal", "Client", "DS", "VS", "System", "Mail" etc.

CurrencyChange

// namespace: pgos::client
struct CurrencyChange
fieldtypedescription
currency_codepgos::pstringThe code of currency that has been changed.
before_valueint64_tThe amount of changed currency before this change.
after_valueint64_tThe amount of changed currency after this change.

BalanceUpdatedEvt

// namespace: pgos::client
struct BalanceUpdatedEvt
fieldtypedescription
currenciespgos::pvector<CurrencyChange>The details of changed currencies.
reasonpgos::pstringThe reason caused the currencies changes. Usually will be 'Deduct' or 'Grant'

VirtualServerEvt

// namespace: pgos::client
struct VirtualServerEvt
fieldtypedescription
json_strpgos::pstringThe message is in json format.

AddFriendRequestEvt

// namespace: pgos::client
struct AddFriendRequestEvt
fieldtypedescription
req_infoFriendReqInfoThe request details.

AddFriendResponseEvt

// namespace: pgos::client
struct AddFriendResponseEvt
fieldtypedescription
friend_infoPlayerFriendInfoThe friend details.

FriendRemovedEvt

// namespace: pgos::client
struct FriendRemovedEvt
fieldtypedescription
player_infoPlayerInfoThe player details.

BadgeNumOfFriendReqEvt

// namespace: pgos::client
struct BadgeNumOfFriendReqEvt
fieldtypedescription
badge_numuint32_tThe badge number of outstanding friend requests.

FriendPresenceChangedEvt

// namespace: pgos::client
struct FriendPresenceChangedEvt
fieldtypedescription
player_idpgos::pstringThe friend whose presence changed.
player_presencePlayerPresenceFriend's new presence.

LobbyMemberJoinedEvt

// namespace: pgos::client
struct LobbyMemberJoinedEvt
fieldtypedescription
joined_playerLobbyPlayerThe player who newly joined the lobby.
lobby_idpgos::pstringLobby id.

LobbyMemberLeftEvt

// namespace: pgos::client
struct LobbyMemberLeftEvt
fieldtypedescription
left_playerLobbyPlayerThe player who left the lobby.
is_kick_outboolWas the player kicked out by lobby owner.
lobby_idpgos::pstringLobby id.

LobbyTeamUpdatedEvt

// namespace: pgos::client
struct LobbyTeamUpdatedEvt
fieldtypedescription
lobby_playerspgos::pvector<LobbyPlayer>The players who update ready flag or change team slot.
lobby_idpgos::pstringLobby id.

LobbyInvitationEvt

// namespace: pgos::client
struct LobbyInvitationEvt
fieldtypedescription
lobby_detailLobbyDetailInfoThe updated lobby details.
inviterLobbyPlayerThe player who sent the invitation.
join_tokenpgos::pstringIf the invited player wants to join the lobby, this value of 'join_token' needs to be filled to the 'join_token' of 'JoinLobby'.

LobbyOwnerTransferredEvt

// namespace: pgos::client
struct LobbyOwnerTransferredEvt
fieldtypedescription
new_ownerLobbyPlayerThe new lobby owner.
lobby_idpgos::pstringLobby id.

LobbyInfoUpdatedEvt

// namespace: pgos::client
struct LobbyInfoUpdatedEvt
fieldtypedescription
lobby_detailLobbyDetailInfoThe updated lobby details.

LobbyDataUpdatedEvt

// namespace: pgos::client
struct LobbyDataUpdatedEvt
fieldtypedescription
lobby_detailLobbyDetailInfoThe updated lobby details.

LobbyStatusChangedEvt

// namespace: pgos::client
struct LobbyStatusChangedEvt
fieldtypedescription
statusLobbyStatusThe current lobby status.
battle_session_idpgos::pstringThe battle session that started from the lobby
battle_session_providerpgos::pstringProvider of battle session management service. PGOS for PGOS battle service, STANDALONE for self-build battle session management service.
lobby_idpgos::pstringLobby id.

BattleSessionUpdatedEvt

// namespace: pgos::client
struct BattleSessionUpdatedEvt
fieldtypedescription
battle_sessionBattleSessionInfoThe updated battle session details.

ReceiveLobbyChatMsgEvt

// namespace: pgos::client
struct ReceiveLobbyChatMsgEvt
fieldtypedescription
chat_msg_infoChatMsgInfoLobby chat messages received.

LobbySwitchTeamSlotRequestEvt

// namespace: pgos::client
struct LobbySwitchTeamSlotRequestEvt
fieldtypedescription
from_player_infoLobbyPlayerLobby player who send the switch request.
request_idpgos::pstringTeam slot switch request id.
lobby_idpgos::pstringLobby id.

LobbySwitchTeamSlotRequestConfirmedEvt

// namespace: pgos::client
struct LobbySwitchTeamSlotRequestConfirmedEvt
fieldtypedescription
from_player_infoLobbyPlayerLobby player who confirm the switch request.
request_idpgos::pstringTeam slot switch request id.
lobby_idpgos::pstringLobby id.

LobbySwitchTeamSlotRequestRejectedEvt

// namespace: pgos::client
struct LobbySwitchTeamSlotRequestRejectedEvt
fieldtypedescription
from_player_infoLobbyPlayerLobby player who reject the switch request.
request_idpgos::pstringTeam slot switch request id.
lobby_idpgos::pstringLobby id.

PartyStrategyChangedEvt

// namespace: pgos::client
struct PartyStrategyChangedEvt
fieldtypedescription
party_idpgos::pstringThe party id.
join_strategyPartyJoinStrategyThe strategy controls the rules who could join the party.
invite_strategyPartyInviteStrategyThe strategy controls the rules who could invite others to the party.

PartyMemberJoinedEvt

// namespace: pgos::client
struct PartyMemberJoinedEvt
fieldtypedescription
party_idpgos::pstringThe party id.
joined_memberPlayerInfoThe player who newly joined the party.

PartyMemberLeftEvt

// namespace: pgos::client
struct PartyMemberLeftEvt
fieldtypedescription
party_idpgos::pstringThe party id.
left_playerPlayerInfoThe player who left the party.
kickedboolWas the player kicked out by party leader.

PartyDismissedEvt

// namespace: pgos::client
struct PartyDismissedEvt
fieldtypedescription
party_idpgos::pstringThe party id that was dismissed.

PartyLeaderTransferredEvt

// namespace: pgos::client
struct PartyLeaderTransferredEvt
fieldtypedescription
party_idpgos::pstringThe party id.
new_leaderPlayerInfoThe player who transferred to new leader.

ReceivePartyInvitationEvt

// namespace: pgos::client
struct ReceivePartyInvitationEvt
fieldtypedescription
party_idpgos::pstringThe party id.
inviterPlayerInfoThe player who sent the invitation.

ReceivePartyChatMsgEvt

// namespace: pgos::client
struct ReceivePartyChatMsgEvt
fieldtypedescription
chat_msg_infoChatMsgInfoParty chat messages received.

PartyCustomDataChangedEvt

// namespace: pgos::client
struct PartyCustomDataChangedEvt
fieldtypedescription
party_idpgos::pstringThe party id.
custom_dataPartyCustomDataParty custom data.

PartyInfoUpdatedEvt

// namespace: pgos::client
struct PartyInfoUpdatedEvt
fieldtypedescription
party_infoPartyInfoThe party info.

MatchmakingProcessChangedEvt

// namespace: pgos::client
struct MatchmakingProcessChangedEvt
fieldtypedescription
processMatchmakingProcessInfoThe updated matchmaking progress information.

PlayerSessionChangedEvt

// namespace: pgos::client
struct PlayerSessionChangedEvt
fieldtypedescription
evtPlayerSessionEvtThe triggered event id, view event enum for detail.
session_idpgos::pstringThe id of the current player session
msgpgos::pstringMessage for the triggered event.

GroupInfo

Group info could be access by players both in or not in the group.

// namespace: pgos::client
struct GroupInfo
fieldtypedescription
group_idpgos::pstringThe group id.
namepgos::pstringThe group name.
iconpgos::pstringUri of the group.
descriptionpgos::pstringThe description of the group.
tagspgos::pvector<pgos::pstring>Custom tags of the group.
owner_infoPlayerInfoThe player info of group owner.
member_countint32_tCurrent member count of the group.
max_membersint32_tMax member count of the group.
is_officialboolIs it a official group.
created_timeint64_tThe Unix timestamp(in seconds) when the group was created.
join_ruleGroupJoinRuleThe rules for players to join the group.
global_custom_datapgos::pmap<pgos::pstring, pgos::pstring>Group global custom data. Can be modified by the group owner or administrators.

GroupDetail

Group detail could be access only by players in the group.

// namespace: pgos::client
struct GroupDetail : public GroupInfo

parent: GroupInfo

fieldtypedescription
announcementpgos::pstringAnnouncement of the group.
is_publicboolCould or couldn't be seen by player not in the group.

GroupMember

// namespace: pgos::client
struct GroupMember
fieldtypedescription
player_infoPlayerInfoBase info of the player.
nicknamepgos::pstringNick name of a group member.
remarkpgos::pstringRemark of a group member. Remark can only be modified by group owner and group admin.
player_presencePlayerPresencePlayer presence info.
is_ownerboolTrue if the member is group owner.
is_adminboolTrue if the member is group admin.
joined_timeint64_tThe Unix timestamp(in seconds) when the member joined.
custom_datapgos::pstringThe custom data for group member. Could be Can be modified by the player or administrator.

MutedGroupMember

// namespace: pgos::client
struct MutedGroupMember
fieldtypedescription
player_idpgos::pstringPlayer's ID.
display_namepgos::pstringPlayer's display name.
group_nicknamepgos::pstringNickname in the group.
remarkpgos::pstringRemark of a group member. Remark can only be modified by group owner and group admin.
operator_idpgos::pstringId of the operator.
operator_display_namepgos::pstringDisplay name of the operator.
mute_created_timeint64_tThe Unix timestamp(in seconds) when the mute is created.
mute_expired_timeint64_tThe Unix timestamp(in seconds) when the mute is expired, 0 means mute forever.
joined_timeint64_tThe Unix timestamp(in seconds) when the member joined.

GroupMemberBrief

// namespace: pgos::client
struct GroupMemberBrief
fieldtypedescription
player_idpgos::pstringPlayer's ID.
display_namepgos::pstringPlayer's display name.
group_nicknamepgos::pstringNickname of a group member.

GroupInvitation

// namespace: pgos::client
struct GroupInvitation
fieldtypedescription
inviter_infoPlayerInfoBase info of the player.
idpgos::pstringInvitation id.
msgpgos::pstringInvitation message. Set by the inviter.
group_infoGroupInfoBase info of the group.
created_timeint64_tThe Unix timestamp(in seconds) when the invitation was created.
expired_timeint64_tThe Unix timestamp(in seconds) when the invitation's expired.

GroupInvitationEvt

// namespace: pgos::client
struct GroupInvitationEvt
fieldtypedescription
invitationGroupInvitationThe group invitation info.

RemovedFromGroupEvt

// namespace: pgos::client
struct RemovedFromGroupEvt
fieldtypedescription
group_idpgos::pstringThe group from which the player was removed.

MutedInGroupEvt

// namespace: pgos::client
struct MutedInGroupEvt
fieldtypedescription
group_idpgos::pstringThe group in which the player is muted.
operator_idpgos::pstringId of the operator.
operator_display_namepgos::pstringDisplay name of the operator.
mute_created_timeint64_tThe Unix timestamp(in seconds) when the mute is created.
mute_expired_timeint64_tThe Unix timestamp(in seconds) when the mute is expired, 0 means mute forever.

UnmutedInGroupEvt

// namespace: pgos::client
struct UnmutedInGroupEvt
fieldtypedescription
group_idpgos::pstringThe group in which the player is unmuted.
operator_idpgos::pstringId of the operator.
operator_display_namepgos::pstringDisplay name of the operator.

GroupDismissedEvt

// namespace: pgos::client
struct GroupDismissedEvt
fieldtypedescription
group_idpgos::pstringThe group id.
dismiss_reasonpgos::pstringReason for group dismissed.

BadgeNumOfGroupInvitationEvt

// namespace: pgos::client
struct BadgeNumOfGroupInvitationEvt
fieldtypedescription
badge_numuint32_tThe badge number of group invitation.

GroupDetailChangedEvt

// namespace: pgos::client
struct GroupDetailChangedEvt
fieldtypedescription
group_detailGroupDetailGroup detail information.

GroupGlobalCustomDataChangedEvt

// namespace: pgos::client
struct GroupGlobalCustomDataChangedEvt
fieldtypedescription
group_idpgos::pstringGroup id.
global_custom_datapgos::pmap<pgos::pstring, pgos::pstring>Updated group global custom data.

GroupPlayerCustomDataChangedEvt

// namespace: pgos::client
struct GroupPlayerCustomDataChangedEvt
fieldtypedescription
group_idpgos::pstringGroup id.
player_custom_datapgos::pmap<pgos::pstring, pgos::pstring>Updated custom data for each player.

CreateGroupParams

// namespace: pgos::client
struct CreateGroupParams
fieldtypedescription
namepgos::pstringThe group name.
iconpgos::pstringUri of the group.
descriptionpgos::pstringThe description of the group.
tagspgos::pvector<pgos::pstring>Custom tags of the group.
join_ruleGroupJoinRuleThe rules for players to join the group.
is_publicboolCould or couldn't be seen by player not in the group.

SetGroupNameParams

// namespace: pgos::client
struct SetGroupNameParams
fieldtypedescription
group_idpgos::pstringGroup ID.
group_namepgos::pstringGroup name.

SetGroupDescParams

// namespace: pgos::client
struct SetGroupDescParams
fieldtypedescription
group_idpgos::pstring
group_descriptionpgos::pstring

SetGroupAnnouncementParams

// namespace: pgos::client
struct SetGroupAnnouncementParams
fieldtypedescription
group_idpgos::pstring
group_announcementpgos::pstring

SetGroupTagsParams

// namespace: pgos::client
struct SetGroupTagsParams
fieldtypedescription
group_idpgos::pstring
tagspgos::pvector<pgos::pstring>

SetMyGroupNicknameParams

// namespace: pgos::client
struct SetMyGroupNicknameParams
fieldtypedescription
group_idpgos::pstring
nicknamepgos::pstring

SetGroupMemberRemarkParams

// namespace: pgos::client
struct SetGroupMemberRemarkParams
fieldtypedescription
group_idpgos::pstring
player_idpgos::pstring
remarkpgos::pstring

BatchSetGroupMemberRemarkParams

// namespace: pgos::client
struct BatchSetGroupMemberRemarkParams
fieldtypedescription
group_idpgos::pstring
player_idspgos::pvector<pgos::pstring>
remarkpgos::pstring

InvitePlayersToGroupParams

// namespace: pgos::client
struct InvitePlayersToGroupParams
fieldtypedescription
group_idpgos::pstring
invite_msgpgos::pstring
player_idspgos::pvector<pgos::pstring>

CreateGroupRsp

// namespace: pgos::client
struct CreateGroupRsp
fieldtypedescription
group_detailGroupDetail
is_profaneboolWhether the updated data contains profanity words.

SearchGroupParams

// namespace: pgos::client
struct SearchGroupParams
fieldtypedescription
official_filterGroupOfficialFilterTypeThe search count
left_room_filterGroupRoomFilterTypeThe search count
tags_filterpgos::pvector<pgos::pstring>The search count
order_byGroupOrderByThe search count
order_typeGroupOrderTypeThe search count
offsetuint32_tThe starting position of the search
countuint32_tThe search count

SearchGroupRsp

// namespace: pgos::client
struct SearchGroupRsp
fieldtypedescription
group_listpgos::pvector<GroupInfo>List of groups.
total_numuint32_tThe total number of groups that meet the filters.
next_offsetuint32_tThe next starting position of the list.

GetGroupDiscoveryListParams

// namespace: pgos::client
struct GetGroupDiscoveryListParams
fieldtypedescription
owner_ospgos::pvector<ClientOS>Only obtain groups where the group owner's OS is the specified OS. Currently supports passing in at most one OS. Empty means no filtering based on OS.
recommend_countuint32_tGet the number of recommended groups additionally, cannot exceed 50. Recommended groups can be configured on the portal.
offsetuint32_tThe starting position of the list.
countuint32_tThe query count, cannot exceed 50.

GetGroupDiscoveryListResult

// namespace: pgos::client
struct GetGroupDiscoveryListResult
fieldtypedescription
recommend_group_listpgos::pvector<GroupInfo>Additional recommended groups.
group_listpgos::pvector<GroupInfo>List of groups.
next_offsetuint32_tThe next starting position of the list.
total_numuint32_tThe total number of group discoveries.

InvitePlayersToGroupRsp

Response that invite players to a group.

// namespace: pgos::client
struct InvitePlayersToGroupRsp
fieldtypedescription
group_idpgos::pstringPlayers that failed to invite, key: player id, value: failed reason.
invitation_mappgos::pmap<pgos::pstring, pgos::pstring>Players that success to invite, key: player id, value: invitation_id.
failspgos::pmap<pgos::pstring, pgos::pstring>Players that failed to invite, key: player id, value: failed reason.

BatchGetGroupInfoRsp

// namespace: pgos::client
struct BatchGetGroupInfoRsp
fieldtypedescription
group_info_listpgos::pvector<GroupInfo>The group info list.
failspgos::pmap<pgos::pstring, pgos::pstring>Groups that failed to query, key: group id, value: failed reason.

BatchGetGroupDetailRsp

// namespace: pgos::client
struct BatchGetGroupDetailRsp
fieldtypedescription
group_detail_listpgos::pvector<GroupDetail>The group detail data list.
failspgos::pmap<pgos::pstring, pgos::pstring>Groups that failed to query, key: group id, value: failed reason.

GetGroupMembersRsp

// namespace: pgos::client
struct GetGroupMembersRsp
fieldtypedescription
group_memberspgos::pmap<pgos::pstring, GroupMember>Group members, key: player id, value: group member information.
muted_memberspgos::pmap<pgos::pstring, MutedGroupMember>Muted group members, key: player id, value: muted member information.

GetGroupMemberRsp

// namespace: pgos::client
struct GetGroupMemberRsp
fieldtypedescription
is_memberboolWhether the player is a member of a group.
member_infoGroupMemberGroup member information.

AcceptGroupInvitationRsp

// namespace: pgos::client
struct AcceptGroupInvitationRsp
fieldtypedescription
group_detailGroupDetailThe group detail data.
badge_numuint32_tThe badge number of outstanding group invitations.

RejectGroupInvitationRsp

// namespace: pgos::client
struct RejectGroupInvitationRsp
fieldtypedescription
badge_numuint32_tThe badge number of outstanding group invitations.

UpdateGroupRsp

// namespace: pgos::client
struct UpdateGroupRsp
fieldtypedescription
group_detailGroupDetailThe updated group detail.
is_profaneboolWhether the updated data contains profanity words.

PrivacySettingInfo

The privacy settings of player, the initial default values of the setting items can be set on the PGOS portal.

// namespace: pgos::client
struct PrivacySettingInfo
fieldtypedescription
allow_searched_by_othersboolWhether allow being searched by other players, true: allowed, false: not allowed.
allow_friend_requestboolWhether allow receiving other players' add-friend requests, true: allow, false: not allow.
allow_nonfriend_perschatboolWhether allow non-friend players to have a personal chat with you, true: allow, false: not allow.
allow_group_invitationboolWhether allow other players to invite you to join a group, true: allow, false: not allow.
chat_strategyPrivacyChatStrategyText and voice chat privacy settings.

TssAccountInfo

Account information for user input check. For the meaning of each field, see the TSS documentation.

// namespace: pgos::client
struct TssAccountInfo
fieldtypedescription
accountpgos::pstringSee the TSS documentation for the meaning of the field.
account_typeint32_tSee the TSS documentation for the meaning of the field.
area_idint32_tSee the TSS documentation for the meaning of the field.
plat_idint32_tSee the TSS documentation for the meaning of the field.
world_idint32_tSee the TSS documentation for the meaning of the field.
role_idpgos::pstringSee the TSS documentation for the meaning of the field.
role_namepgos::pstringSee the TSS documentation for the meaning of the field.
role_pic_urlpgos::pstringSee the TSS documentation for the meaning of the field.
role_levelint32_tSee the TSS documentation for the meaning of the field.
user_signpgos::pstringSee the TSS documentation for the meaning of the field.
user_descpgos::pstringSee the TSS documentation for the meaning of the field.

TssHandledIn

Contextual information of the API.

// namespace: pgos::client
struct TssHandledIn
fieldtypedescription
scene_namepgos::pstringScene name defined by PGOS.
modulepgos::pstringModule name where the API is located.
func_namepgos::pstringName of the API.
func_paramspgos::pstringRequest parameters of the API.

TssHandledOut

TSS information that needs to be returned.

// namespace: pgos::client
struct TssHandledOut
fieldtypedescription
scene_idint32_tSee the TSS documentation for the meaning of the field.
account_infoTssAccountInfoSee the TSS documentation for the meaning of the field.
extrapgos::pstringSee the TSS documentation for the meaning of the field.

SendGroupMsgParams

Request struct for sending group message

// namespace: pgos::client
struct SendGroupMsgParams
fieldtypedescription
group_idpgos::pstringGroup ID
contentpgos::pstringContent, content length cannot exceed 1024 characters
custom_datapgos::pstringAdditional information added by the game, content size cannot exceed 8KB in a narrow-character string, if it is a wide-character string, it should be converted to a utf-8 narrow-character string before calculating its length.
mentioned_playerspgos::pvector<MentionedPlayer>The mentioned player list. The mentioned players will receive the corresponding events. When the value of player_id is '@ALL', it means mentioning all players.

GroupNameChangedEvt

Event result of group name changed

// namespace: pgos::client
struct GroupNameChangedEvt
fieldtypedescription
operator_infoGroupMemberBriefThe person who modified the group information
group_namepgos::pstringNew group name

GroupDescChangedEvt

Event result of group description change

// namespace: pgos::client
struct GroupDescChangedEvt
fieldtypedescription
operator_infoGroupMemberBriefThe person who modified the group information
group_descpgos::pstringNew group description

GroupMemberJoinedEvt

Event result of new member of the group

// namespace: pgos::client
struct GroupMemberJoinedEvt
fieldtypedescription
member_infoGroupMemberNew member
is_invitedboolWhether the member was invited in
inviter_infoGroupMemberBriefWho invited the member

GroupMemberLeftEvt

Event result of member left the group

// namespace: pgos::client
struct GroupMemberLeftEvt
fieldtypedescription
member_infoGroupMemberBriefMember who left

GroupMemberRemovedEvt

Event result of member removed from group

// namespace: pgos::client
struct GroupMemberRemovedEvt
fieldtypedescription
operator_infoGroupMemberBriefThe person who removed the member
removed_member_infoGroupMemberBriefRemoved member

GroupAnnouncementChangedEvt

Event result of group description change

// namespace: pgos::client
struct GroupAnnouncementChangedEvt
fieldtypedescription
operator_infoGroupMemberBriefThe person who modified the group information
announcementpgos::pstringNew announcement

GroupOwnerChangedEvt

Event result of group owner change

// namespace: pgos::client
struct GroupOwnerChangedEvt
fieldtypedescription
owner_infoGroupMemberBriefNew owner of the group

GroupAdminGrantedEvt

Event result of group admin granted

// namespace: pgos::client
struct GroupAdminGrantedEvt
fieldtypedescription
operator_infoGroupMemberBriefOperator
member_infoGroupMemberBriefWho granted as administrator

GroupAdminRevokedEvt

Event result of group admin revoked

// namespace: pgos::client
struct GroupAdminRevokedEvt
fieldtypedescription
operator_infoGroupMemberBriefOperator
member_infoGroupMemberBriefwhose admin is revoked

GroupMsgEventContent

Group chat event message content

// namespace: pgos::client
struct GroupMsgEventContent
fieldtypedescription
event_typeGroupEventTypeGroup event type, rRead the specified event content according to the event type
group_name_changedGroupNameChangedEvtEvent content of group name changed
group_desc_changedGroupDescChangedEvtEvent content of group description changed
group_member_joinedGroupMemberJoinedEvtEvent content of new member of the group
group_member_leftGroupMemberLeftEvtEvent content of member left the group
group_member_removedGroupMemberRemovedEvtEvent content of member removed from group
group_announcement_changedGroupAnnouncementChangedEvtEvent content of group description changed
group_owner_changedGroupOwnerChangedEvtEvent content of group owner changed
group_admin_grantedGroupAdminGrantedEvtEvent content of group admin granted
group_admin_revokedGroupAdminRevokedEvtEvent content of group admin revoked

GroupMsgContent

Group chat message content

// namespace: pgos::client
struct GroupMsgContent
fieldtypedescription
text_contentpgos::pstringTake the value from here when msg type is MsgTypeText
event_contentGroupMsgEventContentTake the value from here when msg type is MsgTypeEvent
custom_contentpgos::pstringTake the value from here when msg type is MsgTypeCustom

GroupMsgInfo

Group chat message info

// namespace: pgos::client
struct GroupMsgInfo
fieldtypedescription
senderGroupMemberThe member who sent the message
sent_timeint64_tThe time the message was sent
msg_typeChatMsgTypeThe type of the message
contentGroupMsgContentThe message to be sent
seqint64_tThe sequence number of the message
custom_datapgos::pstringAdditional information added by the game
mentioned_playerspgos::pvector<MentionedPlayer>The mentioned player list. The mentioned players will receive the corresponding events. When the value of player_id is '@ALL', it means mentioning all players.

GroupBrief

Group brief information

// namespace: pgos::client
struct GroupBrief
fieldtypedescription
group_idpgos::pstringUnique id of group
namepgos::pstringGroup name
iconpgos::pstringGroup icon
global_custom_datapgos::pmap<pgos::pstring, pgos::pstring>Group global custom data. Can be modified by the group owner or administrators.

GroupItem

Group item

// namespace: pgos::client
struct GroupItem
fieldtypedescription
group_briefGroupBriefGroup brief information
latest_msgGroupMsgInfoRecent chat message info
unread_countint32_tUnread message count

GetMyGroupListResult

My group list

// namespace: pgos::client
struct GetMyGroupListResult
fieldtypedescription
group_listpgos::pvector<GroupItem>My group list

GetGroupChatMsgListResult

Result of get group chat message list

// namespace: pgos::client
struct GetGroupChatMsgListResult
fieldtypedescription
msg_listpgos::pvector<GroupMsgInfo>Chat message info list
already_read_seqint64_tMessages with seq less than or equal to this have already been read
has_moreboolWhether has more message
next_seqint64_tThe starting sequence for the next query

ReceiveGroupMsgEvt

Event result of receive group chat message

// namespace: pgos::client
struct ReceiveGroupMsgEvt
fieldtypedescription
msgGroupMsgInfoGroup chat message received
group_briefGroupBriefGroup brief info
unread_countint32_tCount of unread message from group

SendGroupMsgResult

Result of send a group message

// namespace: pgos::client
struct SendGroupMsgResult
fieldtypedescription
msgGroupMsgInfoGroup chat message
group_briefGroupBriefGroup brief info

GroupMentionedInfo

Result of get group mentioned record.

// namespace: pgos::client
struct GroupMentionedInfo
fieldtypedescription
msgGroupMsgInfoGroup chat message received
group_briefGroupBriefGroup brief info

GroupNewMentionedEvt

Event result of new mentioned.

// namespace: pgos::client
struct GroupNewMentionedEvt
fieldtypedescription
msgGroupMsgInfoGroup chat message received
group_briefGroupBriefGroup brief info

GetMailListParams

Request parameters for get mail list.

// namespace: pgos::client
struct GetMailListParams
fieldtypedescription
categoryMailCategoryQuery the specified category.
offsetuint32_tThe starting position of the list.
countuint32_tThe query count.

UnclaimedItem

In-game Item not claimed.

// namespace: pgos::client
struct UnclaimedItem
fieldtypedescription
itemInGameItemEconomy item.
amountuint32_tThe amount of item.

MailAttachmentInfo

Mail attachment information.

// namespace: pgos::client
struct MailAttachmentInfo
fieldtypedescription
itemspgos::pvector<UnclaimedItem>Items waiting to be claimed.
currenciespgos::pvector<Currency>Currencies waiting to be claimed.
is_gift_from_playerboolIs it a gift from the player.
giverPlayerInfoIf 'is_gift_from_player' is true, 'giver' represents the player who gave the gift.
is_claimedboolIs it claimed.

MailInfo

Mail information.

// namespace: pgos::client
struct MailInfo
fieldtypedescription
mail_idpgos::pstringMail ID.
titlepgos::pstringMail title.
categoryMailCategoryMail category.
contentpgos::pstringMail content.
attachmentMailAttachmentInfoMail attachment.
custom_datapgos::pstringCustom data for mail.
sent_timeint64_tThe time the mail was sent.
is_readboolWhether the mail is marked as read.

GetMailListResult

Result of get mail list.

// namespace: pgos::client
struct GetMailListResult
fieldtypedescription
mail_listpgos::pvector<MailInfo>Mail info list.
has_moreboolHas more.
next_offsetint32_tThe next starting position of the list.
total_numuint32_tThe total number of mails in the specified category. When the query category is 'All', it indicates the total number of mails in all categories.

ClaimMailAttachmentResult

Result of claim mail attachment.

// namespace: pgos::client
struct ClaimMailAttachmentResult
fieldtypedescription
item_instsItemInstPackThe item instances obtained after claim attachments.
currenciespgos::pvector<Currency>The currencies obtained after claim attachments.
conflict_unique_itemspgos::pvector<UnclaimedItem>Unique items that already in inventory cause failed to be granted.
failspgos::pmap<pgos::pstring, pgos::pstring>Mails that failed to claim attachments, key: mail ID, value: failed reason.

GetMailBadgeNumResult

Result of get mail badge number.

// namespace: pgos::client
struct GetMailBadgeNumResult
fieldtypedescription
category_badge_numpgos::pmap<MailCategory, uint32_t>Mail unread count by category.
total_badge_numuint32_tTotal unread count.

BadgeNumOfMailEvt

Event result of badge num of mail.

// namespace: pgos::client
struct BadgeNumOfMailEvt
fieldtypedescription
total_badge_numuint32_tTotal unread count.

ReceiveNewMailEvt

Event result of receive new mail.

// namespace: pgos::client
struct ReceiveNewMailEvt
fieldtypedescription
mailMailInfoNew mail.

RelationshipInfo

Information of the relationship with other players.

// namespace: pgos::client
struct RelationshipInfo
fieldtypedescription
is_blockedboolWhether the player is blocked
is_friendboolWhether the player is in friend list
friend_remarkpgos::pstringFriend remark. Only valid if the player is in friend_list
befriend_timeint64_tThe time when the player became friend, in seconds. Only valid if the player is in friend_list

GetPlayerProfileResult

Result of get player profile

// namespace: pgos::client
struct GetPlayerProfileResult
fieldtypedescription
player_infoPlayerInfo
player_presencePlayerPresence
relationship_infoRelationshipInfo
last_play_timeint64_tThe time when the current logged in player played games with the player last time, in seconds

PublicChatSystemContent

Public chat system message content.

// namespace: pgos::client
struct PublicChatSystemContent
fieldtypedescription
msgpgos::pstringSystem message content.
duration_secuint32_tIndicates how long a system message will expire. The players will receive the system messages that were sent before they join, as long as the message doesn't expire.

PublicChatMsgContent

Public chat message content

// namespace: pgos::client
struct PublicChatMsgContent
fieldtypedescription
text_contentpgos::pstringTake the value from here when msg type is MsgTypeText.
system_contentPublicChatSystemContentTake the value from here when msg type is MsgTypeSystem.
custom_contentpgos::pstringTake the value from here when msg type is MsgTypeCustom.

PublicChatMsgInfo

Public chat message info.

// namespace: pgos::client
struct PublicChatMsgInfo
fieldtypedescription
msg_typeChatMsgTypeThe type of the message.
contentPublicChatMsgContentThe message to be sent.
senderPlayerInfoThe player who sent the message.
sent_timeint64_tThe time the message was sent.
seqint64_tThe sequence number of the message
custom_datapgos::pstringCustom data for message.
mentioned_playerspgos::pvector<MentionedPlayer>The mentioned player list. The mentioned players will receive the corresponding events. When the value of player_id is '@ALL', it means mentioning all players.

PublicChatChannelInfo

The channel info of public chat

// namespace: pgos::client
struct PublicChatChannelInfo
fieldtypedescription
channel_namepgos::pstringChannel name.

JoinPublicChatResult

Result of join public chat.

// namespace: pgos::client
struct JoinPublicChatResult
fieldtypedescription
channel_infoPublicChatChannelInfoThe channel info of public chat.

SendPublicChatMsgParams

Request parameters for sending public chat message.

// namespace: pgos::client
struct SendPublicChatMsgParams
fieldtypedescription
channel_namepgos::pstringThe name of the channel on which the message was sent.
contentpgos::pstringThe content of the message to be sent.
custom_datapgos::pstringCustom data for message.
mentioned_playerspgos::pvector<MentionedPlayer>The mentioned player list. The mentioned players will receive the corresponding events. When the value of player_id is '@ALL', it means mentioning all players.

SendPublicChatMsgResult

Result of send public chat message.

// namespace: pgos::client
struct SendPublicChatMsgResult
fieldtypedescription
msgPublicChatMsgInfoPublic chat message.
channel_infoPublicChatChannelInfoPublic chat channel info.

ReceivePublicChatMsgEvt

Event result of receive public chat message.

// namespace: pgos::client
struct ReceivePublicChatMsgEvt
fieldtypedescription
msgPublicChatMsgInfoPublic chat message.
channel_infoPublicChatChannelInfoPublic chat channel info.

PublicChatMentionedInfo

Result of get public chat mentioned record.

// namespace: pgos::client
struct PublicChatMentionedInfo
fieldtypedescription
msgPublicChatMsgInfoPublic chat message.
channel_infoPublicChatChannelInfoPublic chat channel info.

PublicChatNewMentionedEvt

Event result of new mentioned.

// namespace: pgos::client
struct PublicChatNewMentionedEvt
fieldtypedescription
msgPublicChatMsgInfoPublic chat message.
channel_infoPublicChatChannelInfoPublic chat channel info.

GoalRewardItem

In-game item as goal rewards.

// namespace: pgos::client
struct GoalRewardItem
fieldtypedescription
itemInGameItemIn-game item.
amountuint32_tAmount of the item.

PlayerGoalPass

Pass for rewards in a hyper goal.

// namespace: pgos::client
struct PlayerGoalPass
fieldtypedescription
pass_idpgos::pstringThe identifier of the pass.
namepgos::pstringName of the pass.
descriptionpgos::pstringDescription of the pass.
iconpgos::pstringIcon records the resource address of the pass icon shown to players.
is_activatedboolWhether the pass is activated for the player.

GoalReward

The reward that will available to players when a goal or a tier is reached.

// namespace: pgos::client
struct GoalReward
fieldtypedescription
reward_idpgos::pstringThe identifier of the reward.
pass_idpgos::pstringThe access pass's id for the reward.
is_claimedboolTrue if the reward is claimed by the player.
claimed_timeint64_tUnix timestamp that the reward is claimed.
itemspgos::pvector<GoalRewardItem>The in-game items in this reward
currenciespgos::pvector<Currency>The currencies in this reward

PlayerGoalTier

// namespace: pgos::client
struct PlayerGoalTier
fieldtypedescription
tier_idpgos::pstringThe identifier of the tier.
namepgos::pstringName of the tier.
orderuint32_tOrder of the tier.
achieve_valueuint32_tThe value of achieve data of a player to achieve the tier.
is_achievedboolTrue if the tier is achieved by the player.
achieved_timeint64_tUnix timestamp that the reward is claimed.
tier_rewardspgos::pvector<GoalReward>Rewards of the tier.

GoalBaseInfo

// namespace: pgos::client
struct GoalBaseInfo
fieldtypedescription
player_goal_idpgos::pstringId of the player goal. The player goal id will be different when the goal appears in different available periods.
goal_idpgos::pstringThe identifier of the goal.
typeGoalTypeType of the goal.
namepgos::pstringName of the goal.
descriptionpgos::pstringDescription of the goal.
iconpgos::pstringIcon records the resource address of the goal icon shown to players.
tagspgos::pvector<pgos::pstring>Tag strings of the goal.

SimpleGoal

// namespace: pgos::client
struct SimpleGoal : public GoalBaseInfo

parent: GoalBaseInfo

fieldtypedescription
achieve_valueuint32_tThe value of achieve data of a player to achieve the simple goal.
current_valueuint32_tThe current value of the achieve data.
is_achievedboolTrue if the simple goal is achieved by the player.
achieved_timeint64_tUnix timestamp that the reward is claimed.
rewardGoalRewardThe reward players can get if they achieve the goal.

HyperGoal

// namespace: pgos::client
struct HyperGoal : public GoalBaseInfo

parent: GoalBaseInfo

fieldtypedescription
passespgos::pvector<PlayerGoalPass>Passes of the hyper goal.
tierspgos::pvector<PlayerGoalTier>Tiers of the hyper goal.
current_tier_idpgos::pstringThe tier that the player is challenging now. When the Algorithm Type is Absolute, current value is the same as the value of player's achieve data. When the Algorithm Type is Increment, current value is the incremental value obtained by the player achieve data in the current tier.
current_valueuint32_tThe current value of the achieve data of the hyper goal.

AvailablePeriod

Available period info.

// namespace: pgos::client
struct AvailablePeriod
fieldtypedescription
period_idpgos::pstringPeriod id.
player_goal_idspgos::pvector<pgos::pstring>Player goal ids within the available period.
simple_goalspgos::pmap<pgos::pstring, SimpleGoal>Mapping of player goal id to simple player goal.
hyper_goalspgos::pmap<pgos::pstring, HyperGoal>Mapping of player goal id to hyper player goal.
start_timeint64_tStart Unix timestamp of the period.
end_timeint64_tEnd Unix timestamp of the period.
lengthint64_tLength of the available period. Counting in second.

GoalsSchedule

Goal schedule info.

// namespace: pgos::client
struct GoalsSchedule
fieldtypedescription
schedule_idpgos::pstringThe identifier of a goals schedule.
namepgos::pstringName of a goals schedule.
descriptionpgos::pstringDescription of a goals schedule.
statusScheduleStatusStatus of a goals schedule.
periodspgos::pmap<pgos::pstring, AvailablePeriod>Available periods of the schedule. For current period, a fully AvailablePeriod structure will be returned. For next period, only the time schedule of of the period will be returned.
current_period_idpgos::pstringThe nearest available period to the current time, which is already active.
next_period_idpgos::pstringThe nearest available period to the current time that is not yet active.
reward_wayGoalRewardWayThe reward way of the goals within the goals schedule.

GetGoalTiersResult

// namespace: pgos::client
struct GetGoalTiersResult
fieldtypedescription
tierspgos::pvector<PlayerGoalTier>Tiers info.
next_orderuint32_tNext tier's roder.

ClaimGoalsRewardResult

Result of claim goal rewards.

// namespace: pgos::client
struct ClaimGoalsRewardResult
fieldtypedescription
item_instsItemInstPackThe item instances obtained after claim attachments.
currenciespgos::pvector<Currency>The currencies obtained after claim attachments.
conflict_unique_itemspgos::pvector<UnclaimedItem>Unique items that already in inventory that failed to be granted.

SimpleGoalAchievedEvt

The event will be triggered when a simple goal achieved.

// namespace: pgos::client
struct SimpleGoalAchievedEvt
fieldtypedescription
achieved_goalSimpleGoalThe simple goal that has been achieved.

HyperGoalAchievedEvt

The event will be triggered when some tiers of a hyper goal achieved.

// namespace: pgos::client
struct HyperGoalAchievedEvt
fieldtypedescription
achieved_goalHyperGoal
achieved_tiers_idspgos::pvector<pgos::pstring>The tier id that has been achieved.

TitleRegionClosedEvt

The event will be triggered when the title region is closed. After the title region is closed, players can no longer access new logins, new matchmaking, or new battle session placements.

// namespace: pgos::client
struct TitleRegionClosedEvt
fieldtypedescription
current_timeint64_tThe current Unix timestamp of the backend server. (in seconds)
kicked_offline_timeint64_tThe approximate Unix timestamp at which the player will be kicked offline. (in seconds) If the value is 0, the PGOS backend will kick the player offline soon. If the value is -1, the PGOS backend will still allow the current player to remain online, and battle sessions the player is in will not be affected.

EventChannelStatusChangedEvt

The event will be triggered when the event channel status has been changed. The Event Channel serves as a data pipeline for the PGOS backend to send event notifications (e.g., chat_messages/friend_requests) to the client. Its status can be influenced by factors such as API calls (e.g., login/logout) and fluctuations in the network environment. In certain scenarios, the event helps the game/player understand the possible reasons for PGOS/game service degradation.

// namespace: pgos::client
struct EventChannelStatusChangedEvt
fieldtypedescription
current_statusPgosEventChannelStatusIndicate the current status of the event channel.
last_statusPgosEventChannelStatusIndicate the status of the event channel in the previous StatusChanged event. If there is no previous event (meaning it is the first event), its value is set to 'Dummy'.

DescribeBattleSessionsResult

// namespace: pgos::client
struct DescribeBattleSessionsResult
fieldtypedescription
battle_sessionspgos::pvector<BattleSessionInfo>The battle sesions that a player is participating in.

DSHostingLatencies

The latencies from the client to the DS hosting data centers.

// namespace: pgos::client
struct DSHostingLatencies
fieldtypedescription
latenciespgos::pmap<pgos::pstring, int32_t>The latencies from the client to the DS hosting data centers. Key: The data center name and its possible values can be viewed in the 'DataCenterName' definition. Value: The latency to the data center, in milliseconds.

GameCustomMsgEvt

The event will be triggered when the game calls the HTTP API 'PushMsg'.

// namespace: pgos::client
struct GameCustomMsgEvt
fieldtypedescription
msg_typepgos::pstringCorresponds to the 'msg_type' parameter of the HTTP API 'PushMsg'.
msgpgos::pstringCorresponds to the 'msg' parameter of the HTTP API 'PushMsg'.

CycleInfo

Information of cycle which configured on the portal.

// namespace: pgos::client
struct CycleInfo
fieldtypedescription
cycle_namepgos::pstringCycle name.
cycle_start_timeint64_tStart time of the cycle. Unix time in second.
cycle_end_timeint64_tEnd time of the cycle. Unix time in second.
lock_time_spanuint32_tLock time span of this cycle. After setting, the period before the end of each round will be locked, and the leaderboard data will not be updated during the locked period. Unix time in second.

LeaderboardRoundInfo

Information of leaderboard round.

// namespace: pgos::client
struct LeaderboardRoundInfo
fieldtypedescription
round_sequint32_tThe sequence number of the leaderboard round. Start from 1, the numbers are increasing in sequence, increasing by 1 in each round. 0 means the data of this round info is invalid or has been cleared.
round_start_timeint64_tThe round start time. Unix time in second.
round_end_timeint64_tThe round end time. Unix time in second.
round_lockedboolTrue if this round has been locked or end.

LeaderboardInfo

Information of leaderboard.

// namespace: pgos::client
struct LeaderboardInfo
fieldtypedescription
leaderboard_namepgos::pstringThe name of the leaderboard.
stat_namepgos::pstringThe name of the stat bound to the leaderboard.
is_cycledboolIs this leaderboard a cycled leaderboard.
cycle_infoCycleInfoThe information of cycle bound to the leaderboard. This is only meaningful if is_cycled is true.
round_infoLeaderboardRoundInfoRound information for a specified time or current time. This is only meaningful if is_cycled is true.

LBRankingItem

Ranking item of leaderboard.

// namespace: pgos::client
struct LBRankingItem
fieldtypedescription
rankuint32_tThe ranking number, start from 1.
keypgos::pstringStat item key.
valuedoubleStat item value.
secondary_valuedoubleStat item secondary value.
custom_datapgos::pstringStat item custom data, used to store additional information.

LBRankingListResult

Response for get ranking list.

// namespace: pgos::client
struct LBRankingListResult
fieldtypedescription
itemspgos::pvector<LBRankingItem>List of ranking items.
leaderboard_infoLeaderboardInfoLeaderboard information.
total_numuint32_tThe total number of ranking items.
next_offsetuint32_tThe next starting position of the list.

LBRankingItemPos

Current ranking list item with neighbor items.

// namespace: pgos::client
struct LBRankingItemPos
fieldtypedescription
itemLBRankingItemCurrent ranking item.
preceding_itemspgos::pvector<LBRankingItem>Preceding items.
subsequent_itemspgos::pvector<LBRankingItem>Subsequent items.
leaderboard_infoLeaderboardInfoLeaderboard information.

GetRankingListParams

// namespace: pgos::client
struct GetRankingListParams
fieldtypedescription
leaderboard_namepgos::pstringThe name of the leaderboard to query.
offsetuint32_tThe starting position of the query.
countuint32_tThe query count.
leaderboard_round_sequint32_t[Option] Query the ranking list of the specified round in the cycled leaderboard. The default value 0 means querying the ranking of the current round.

GetFriendsRankingListParams

// namespace: pgos::client
struct GetFriendsRankingListParams
fieldtypedescription
leaderboard_namepgos::pstringThe name of the leaderboard to query.
leaderboard_round_sequint32_t[Option] Query the ranking list of the specified round in the cycled leaderboard. The default value 0 means querying the ranking of the current round.

LBFriendsRankingListResult

Response for get friends ranking list.

// namespace: pgos::client
struct LBFriendsRankingListResult
fieldtypedescription
itemspgos::pvector<LBRankingItem>List of friends ranking items. The stat item key was filled with player id.
friend_infospgos::pmap<pgos::pstring, PlayerFriendInfo>Friends' details. key: player id Note that this only contains the player information of friends, not my own. The 'items' contains my ranking.
leaderboard_infoLeaderboardInfoLeaderboard information.

GetRankingItemPosParams

// namespace: pgos::client
struct GetRankingItemPosParams
fieldtypedescription
leaderboard_namepgos::pstringThe name of the leaderboard to query.
keypgos::pstringThe stat item key to query.
neighbor_cntuint32_tSpecify the desired number of preceding and subsequent neighbors, ranging from 0 to 10. For example: if neighbor_cnt is 3, then you will get 3 preceding neighbors and 3 subsequent neighbors.
leaderboard_round_sequint32_t[Option] Query the ranking list of the specified round in the cycled leaderboard. The default value 0 means querying the ranking of the current round.

SetGroupGlobalCustomDataParams

// namespace: pgos::client
struct SetGroupGlobalCustomDataParams
fieldtypedescription
group_idpgos::pstringThe group id.
global_custom_datapgos::pmap<pgos::pstring, pgos::pstring>Custom data to be modified or added.

SetGroupGlobalCustomDataResult

// namespace: pgos::client
struct SetGroupGlobalCustomDataResult
fieldtypedescription
global_custom_datapgos::pmap<pgos::pstring, pgos::pstring>Updated full global custom data.

DelGroupGlobalCustomDataParams

// namespace: pgos::client
struct DelGroupGlobalCustomDataParams
fieldtypedescription
group_idpgos::pstringThe group id.
keyspgos::pvector<pgos::pstring>Custom data keys to delete.

DelGroupGlobalCustomDataResult

// namespace: pgos::client
struct DelGroupGlobalCustomDataResult
fieldtypedescription
global_custom_datapgos::pmap<pgos::pstring, pgos::pstring>Updated full global custom data.
failspgos::pmap<pgos::pstring, pgos::pstring>Keys failed to delete, and also with the reason.

ClearGroupGlobalCustomDataParams

// namespace: pgos::client
struct ClearGroupGlobalCustomDataParams
fieldtypedescription
group_idpgos::pstringThe group id.

SetGroupMyPlayerCustomDataParams

// namespace: pgos::client
struct SetGroupMyPlayerCustomDataParams
fieldtypedescription
group_idpgos::pstringThe group id.
player_custom_datapgos::pstringCustom data for current player.

SetGroupMyPlayerCustomDataResult

// namespace: pgos::client
struct SetGroupMyPlayerCustomDataResult
fieldtypedescription
player_custom_datapgos::pstringUpdated custom data for current player.

BatchSetGroupPlayerCustomDataParams

// namespace: pgos::client
struct BatchSetGroupPlayerCustomDataParams
fieldtypedescription
group_idpgos::pstringThe group id.
player_custom_datapgos::pmap<pgos::pstring, pgos::pstring>Map from player id to player custom data.

BatchSetGroupPlayerCustomDataResult

// namespace: pgos::client
struct BatchSetGroupPlayerCustomDataResult
fieldtypedescription
player_custom_datapgos::pmap<pgos::pstring, pgos::pstring>Updated custom data for each player.
failspgos::pmap<pgos::pstring, pgos::pstring>Keys failed to set, and also with the reason.

JoinWorldParams

// namespace: pgos::client
struct JoinWorldParams
fieldtypedescription
world_configpgos::pstringWorld config name that request to join.
filter_attributespgos::pmap<pgos::pstring, KVDataValue>Attributes needed by world buckets filters, map key: attribute name, map value: attribute value.
team_namepgos::pstringThe team name that the player will join in the world battle session. If empty, the player will be assigned to a [default] team.

JoinWorldResult

// namespace: pgos::client
struct JoinWorldResult
fieldtypedescription
battle_sessionBattleSessionInfoThe battle session that the world assigned for the players.

InviteJoinWorldParams

// namespace: pgos::client
struct InviteJoinWorldParams
fieldtypedescription
world_configpgos::pstringWorld config name that request to join.
filter_attributespgos::pmap<pgos::pstring, KVDataValue>Attributes needed by world buckets filters, map key: attribute name, map value: attribute value.
invited_player_idspgos::pvector<pgos::pstring>Player IDs who will be invited to join the same world. (Must include at least 1 player) These invited players will receive the 'OnJoinWorldInvitationUpdated' event on their game client. Players who accept (AcceptJoinWorldInvitation API) the invitation will be assigned to the same world battle session as the current player. Players who reject (RejectJoinWorldInvitation API) the invitation will skip the invitation and will not be affected. The inviter (current player) will also receive the 'OnJoinWorldInvitationUpdated' event to know the status of the invitation being accepted or rejected. The inviter will automatically accept the invitation.
team_namepgos::pstringThe team name that the player will join in the world battle session. If empty, the player will be assigned to a [default] team.

InviteJoinWorldResult

// namespace: pgos::client
struct InviteJoinWorldResult
fieldtypedescription
world_configpgos::pstringThe world configuration name associated with the invitation ticket.
invitation_ticketpgos::pstringThe ticket of the join world invitation.

InviteLeaveWorldParams

// namespace: pgos::client
struct InviteLeaveWorldParams
fieldtypedescription
world_configpgos::pstringWorld config name that request to join.
invited_player_idspgos::pvector<pgos::pstring>Player IDs who will be invited to leave the same world. (Must include at least 1 player) These invited players will receive the 'OnLeaveWorldInvitationUpdated' event on their game client. Players who accept (AcceptLeaveWorldInvitation API) the invitation will be removed from the world. Players who reject (RejectLeaveWorldInvitation API) the invitation will skip the invitation and will not be affected. The inviter (current player) will also receive the 'OnLeaveWorldInvitationUpdated' event to know the status of the invitation being accepted or rejected. The inviter will automatically leave the world.

InviteLeaveWorldResult

// namespace: pgos::client
struct InviteLeaveWorldResult
fieldtypedescription
world_configpgos::pstringThe world configuration name associated with the invitation ticket.
invitation_ticketpgos::pstringThe ticket of the leave world invitation.

LeaveWorldParams

// namespace: pgos::client
struct LeaveWorldParams
fieldtypedescription
world_configpgos::pstringWorld config name that request to leave.

JoinWorldBattleSessionParams

// namespace: pgos::client
struct JoinWorldBattleSessionParams
fieldtypedescription
world_configpgos::pstringWorld config name that request to join.
battle_session_idpgos::pstringThe world battle session id to join.
payloadpgos::pstringThe game custom data, which will be passed to the DS (dedicated server). It can be obtained by monitoring the 'OnBattleSessionUpdated' event of the Hosting module: FServerBattleSessionUpdatedEvt.new_player_battle_sessions.payload.
team_namepgos::pstringThe team name that the player will join in the world battle session. If empty, the player will be assigned to a [default] team.

JoinWorldBattleSessionResult

// namespace: pgos::client
struct JoinWorldBattleSessionResult
fieldtypedescription
battle_sessionBattleSessionInfoBattle session detail info.

InviteJoinWorldBattleSessionParams

// namespace: pgos::client
struct InviteJoinWorldBattleSessionParams
fieldtypedescription
world_configpgos::pstringWorld config name that request to join.
battle_session_idpgos::pstringThe world battle session id to join.
payloadpgos::pstringThe game custom data, which will be passed to the DS (dedicated server). It can be obtained by monitoring the Hosting module event (OnBattleSessionUpdatedEvt): BattleSessionUpdatedEvt.new_player_battle_sessions.payload.
invited_player_idspgos::pvector<pgos::pstring>Player IDs who will be invited to join the same world battle session. (Must include at least 1 player) These invited players will receive the 'OnJoinWorldInvitationUpdated' event on their game client. Players who accept (AcceptJoinWorldInvitation API) the invitation will be assigned to the same world battle session as the current player. Players who reject (RejectJoinWorldInvitation API) the invitation will skip the invitation and will not be affected. The inviter (current player) will also receive the 'OnJoinWorldInvitationUpdated' event to know the status of the invitation being accepted or rejected. The inviter will automatically accept the invitation.
team_namepgos::pstringThe team name that the player will join in the world battle session. If empty, the player will be assigned to a [default] team.

InviteJoinWorldBattleSessionResult

// namespace: pgos::client
struct InviteJoinWorldBattleSessionResult
fieldtypedescription
world_configpgos::pstringThe world configuration name associated with the invitation ticket.
invitation_ticketpgos::pstringThe ticket of the join world invitation.

AcceptJoinWorldInvitationParams

// namespace: pgos::client
struct AcceptJoinWorldInvitationParams
fieldtypedescription
invitation_ticketpgos::pstringThe ticket of the join world invitation.

RejectJoinWorldInvitationParams

// namespace: pgos::client
struct RejectJoinWorldInvitationParams
fieldtypedescription
invitation_ticketpgos::pstringThe ticket of the join world invitation.

AcceptLeaveWorldInvitationParams

// namespace: pgos::client
struct AcceptLeaveWorldInvitationParams
fieldtypedescription
invitation_ticketpgos::pstringThe ticket of the leave world invitation.

RejectLeaveWorldInvitationParams

// namespace: pgos::client
struct RejectLeaveWorldInvitationParams
fieldtypedescription
invitation_ticketpgos::pstringThe ticket of the leave world invitation.

QueryMyWorldBattleSessionsParams

// namespace: pgos::client
struct QueryMyWorldBattleSessionsParams
fieldtypedescription
world_configspgos::pvector<pgos::pstring>Worlds to query.

QueryMyWorldBattleSessionsResult

// namespace: pgos::client
struct QueryMyWorldBattleSessionsResult
fieldtypedescription
world_battle_sessionspgos::pmap<pgos::pstring, BattleSessionInfo>A map from world config name to the battle session. Only contains the worlds that the player has joined.

QueryPlayerWorldBattleSessionsParams

// namespace: pgos::client
struct QueryPlayerWorldBattleSessionsParams
fieldtypedescription
player_idpgos::pstringPlayer to query.
world_configspgos::pvector<pgos::pstring>Worlds to query.

QueryPlayerWorldBattleSessionsResult

// namespace: pgos::client
struct QueryPlayerWorldBattleSessionsResult
fieldtypedescription
world_battle_sessionspgos::pmap<pgos::pstring, BattleSessionInfo>A map from world config name to the battle session. Only contains the worlds that the player has joined.

QueryJoinWorldInvitationParams

// namespace: pgos::client
struct QueryJoinWorldInvitationParams
fieldtypedescription
invitation_ticketpgos::pstringThe invitation ticket to query.

JoinWorldInvitationInfo

The join world invitation detail information.

// namespace: pgos::client
struct JoinWorldInvitationInfo
fieldtypedescription
world_configpgos::pstringThe world configuration name associated with the invitation ticket.
inviterPlayerInfoThe player who initiated the invitation.
invitation_ticketpgos::pstringThe ticket of the join world invitation.
statusJoinWorldInvitationStatusThe status of the Join World invitation. Typically, the player who accepts the invitation will receive the 'OnWorldBattleSessionUpdated' event after the invitation status is marked as 'Completed'. However, if the player is already in the assigned battle session before the invitation, and has obtained the battle session's IP&port (which means he has received the relevant event of the battle session status being Active), then he may not be pushed the 'OnWorldBattleSessionUpdated' event.
error_msgpgos::pstringThe error message when the status is 'Error'.
my_action_to_invitationJoinWorldInvitationActionThe current player's action to this join world invitation. Call 'AcceptJoinWorldInvitation' API to accept the invitation and will receive the 'OnJoinWorldInvitationUpdated' event until the status is 'Completed'. Alternatively, call the 'RejectJoinWorldInvitation' API to reject the invitation and stop receiving the 'OnJoinWorldInvitationUpdated' event for this 'invitation_ticket'. Note: Once you have made your choice, you cannot change your decision.
accepted_playerspgos::pvector<PlayerInfo>Players who have accepted the invitation. (including the inviter)
rejected_playerspgos::pvector<PlayerInfo>Players who have rejected the invitation.
undecided_playerspgos::pvector<PlayerInfo>Players who have not yet made a decision.
invitation_created_timeint64_tThe Unix timestamp(in seconds) when the invitation was created.
invitation_timeoutuint32_tThe maximum time(in seconds) to wait for all invited players to accept/reject. After the time (invitation_created_time+invitation_timeout), the event status will be updated to 'Completed'.
battle_session_idpgos::pstringThe world battle session joined by the players who accepted the invitation. It will be empty until the 'status' changes to 'JoinWorldInvitationStatus::Completed'.

LeaveWorldInvitationInfo

The leave world invitation detail information.

// namespace: pgos::client
struct LeaveWorldInvitationInfo
fieldtypedescription
world_configpgos::pstringThe world configuration name associated with the invitation ticket.
inviterPlayerInfoThe player who initiated the invitation.
invitation_ticketpgos::pstringThe ticket of the leave world invitation.
statusLeaveWorldInvitationStatusThe status of the leave World invitation.
error_msgpgos::pstringThe error message when the status is 'Error'.
my_action_to_invitationLeaveWorldInvitationActionThe current player's action to this leave world invitation. Call 'AcceptLeaveWorldInvitation' API to accept the invitation and will receive the 'OnLeaveWorldInvitationUpdated' event until the status is 'Completed'. Alternatively, call the 'RejectLeaveWorldInvitation' API to reject the invitation and stop receiving the 'OnLeaveWorldInvitationUpdated' event for this 'invitation_ticket'. Note: Once you have made your choice, you cannot change your decision.
accepted_playerspgos::pvector<PlayerInfo>Players who have accepted the invitation. (including the inviter)
rejected_playerspgos::pvector<PlayerInfo>Players who have rejected the invitation.
undecided_playerspgos::pvector<PlayerInfo>Players who have not yet made a decision.
invitation_created_timeint64_tThe Unix timestamp(in seconds) when the invitation was created.
invitation_timeoutuint32_tThe maximum time(in seconds) to wait for all invited players to accept/reject. After the time (invitation_created_time+invitation_timeout), the event status will be updated to 'Completed'.

QueryJoinWorldInvitationResult

// namespace: pgos::client
struct QueryJoinWorldInvitationResult
fieldtypedescription
infoJoinWorldInvitationInfoThe join world invitation detail information.

GetRecommendedPlayersParams

// namespace: pgos::client
struct GetRecommendedPlayersParams
fieldtypedescription
countuint32_tSpecifies the (maximum) number of players to be returned, its value range is: [1~50]

GetPotentialFriendsParams

// namespace: pgos::client
struct GetPotentialFriendsParams
fieldtypedescription
countuint32_tSpecifies the (maximum) number of players to be returned, its value range is: [1~50]
offsetuint32_tSpecifies the offset of the first player to be returned.

WorldBattleSessionUpdatedEvt

// namespace: pgos::client
struct WorldBattleSessionUpdatedEvt
fieldtypedescription
world_configpgos::pstringThe world configuration name associated with this update.
battle_sessionBattleSessionInfoThe updated details of the battle session that the current player joined.

WorldBattlePropertiesUpdatedEvt

// namespace: pgos::client
struct WorldBattlePropertiesUpdatedEvt
fieldtypedescription
source_typeBattleSourceTypeThe source type of the battle session.
configuration_namepgos::pstringWorld config name.
battle_session_idpgos::pstringWorld battle session id.
battle_propertiespgos::pvector<BattleProperty>

JoinWorldInvitationUpdatedEvt

// namespace: pgos::client
struct JoinWorldInvitationUpdatedEvt
fieldtypedescription
infoJoinWorldInvitationInfoThe join world invitation detail information.

LeaveWorldInvitationUpdatedEvt

// namespace: pgos::client
struct LeaveWorldInvitationUpdatedEvt
fieldtypedescription
infoLeaveWorldInvitationInfoThe leave world invitation detail information.

LobbyJoinRequestEvt

// namespace: pgos::client
struct LobbyJoinRequestEvt
fieldtypedescription
lobby_idpgos::pstringLobby id.
player_idpgos::pstringPlayer id who request to join the lobby.
payloadpgos::pstringPayload data from the request player.
tokenpgos::pstringThe token required to process this join request, which should be used in ApproveJoinRequest/RejectJoinRequest interface.

LobbyJoinRequestApprovedEvt

// namespace: pgos::client
struct LobbyJoinRequestApprovedEvt
fieldtypedescription
lobby_detailLobbyDetailInfoThe lobby details information.

LobbyJoinRequestRejectedEvt

// namespace: pgos::client
struct LobbyJoinRequestRejectedEvt
fieldtypedescription
lobby_idpgos::pstringLobby id.

LobbyGlobalCustomDataUpdatedEvt

// namespace: pgos::client
struct LobbyGlobalCustomDataUpdatedEvt
fieldtypedescription
kv_datapgos::pmap<pgos::pstring, pgos::pstring>Global kv data of the lobby. Only owner has the permission to modify it.
lobby_idpgos::pstringLobby id.

LobbyPlayerCustomDataUpdatedEvt

// namespace: pgos::client
struct LobbyPlayerCustomDataUpdatedEvt
fieldtypedescription
player_kv_datapgos::pmap<pgos::pstring, pgos::pstring>Player custom data of each lobby member. The map key is lobby member's player ID, the map value is the lobby member's custom data. Each lobby member could modify it's player kv data.
lobby_idpgos::pstringLobby id.

ApproveJoinLobbyRequestParams

// namespace: pgos::client
struct ApproveJoinLobbyRequestParams
fieldtypedescription
lobby_idpgos::pstringLobby id.
player_idpgos::pstringPlayer id who request to join the lobby.
tokenpgos::pstringThe token required to process this join request, which could be obtained from LobbyJoinRequestEvt.

RejectJoinLobbyRequestParams

// namespace: pgos::client
struct RejectJoinLobbyRequestParams
fieldtypedescription
lobby_idpgos::pstringLobby id.
player_idpgos::pstringPlayer id who request to join the lobby.
tokenpgos::pstringThe token required to process this join request, which could be obtained from LobbyJoinRequestEvt.

IncrMyKVDataIdempotentParams

// namespace: pgos::client
struct IncrMyKVDataIdempotentParams
fieldtypedescription
incrementspgos::pmap<pgos::pstring, KVDataValue>Increments to update, key: kvdata key, value: increment of the value.
idempotency_tokenpgos::pstring[Optional] Used to ensure the idempotence of the function. An idempotent operation produces the same outcome regardless of how many times it's executed, without causing any side effects or altering the system's state. The scope of the idempotent token is for each player.

IncrMyKVDataIdempotentResult

// namespace: pgos::client
struct IncrMyKVDataIdempotentResult
fieldtypedescription
kvdatapgos::pmap<pgos::pstring, KVDataValue>KVData items, key: item key, value: item value.
replayedboolWhether the request is replayed. When it is True, it indicates that the result of the function is obtained by replaying with the same idempotency_token. This means that the result of the function has been generated in a previous call and is being reused in the current call.

GetMidasGlobalAddonInfoResult

// namespace: pgos::client
struct GetMidasGlobalAddonInfoResult
fieldtypedescription
is_role_id_mappedboolThe management method for the Midas Role ID in the Midas Global addon. If the value is true, the role_id field will be populated by PGOS with the Role ID assigned to the current logged-in player based on the Midas Global addon configuration. If the value is false, the role_id field will not be populated. Please use the SetMidasGlobalMetaData interface to actively set the Midas Role ID.
role_idpgos::pstring
partition_idpgos::pstring
provider_app_idpgos::pstring

SetMidasGlobalMetaDataParams

// namespace: pgos::client
struct SetMidasGlobalMetaDataParams : public MidasGlobalMetaData

parent: MidasGlobalMetaData

SetMidasGlobalMetaDataResult

// namespace: pgos::client
struct SetMidasGlobalMetaDataResult
fieldtypedescription
is_role_id_mappedboolEcho back the role ID management mode configured in the Midas Global addon.
role_idpgos::pstringEcho back the final adopted role ID. It will be the same as the calling parameter if is_role_id_mapped is false. If is_role_id_mapped is true, PGOS will populate it based on the current player's login information.

MidasGlobalTransaction

// namespace: pgos::client
struct MidasGlobalTransaction
fieldtypedescription
payment_methodpgos::pstringPay method, enumeration values can be filled in: GOOGLE_PLAY, APPLE_STORE, STEAM, EPIC, MICROSOFT_STORE, SWITCH, PLAY_STATION
region_codepgos::pstringRegion code in uppercase, refer to ISO 3166.
currency_codepgos::pstringCurrency code, refer to ISO 4217.

MidasGlobalProductInfo

// namespace: pgos::client
struct MidasGlobalProductInfo
fieldtypedescription
midas_unified_product_idpgos::pstringMidas unified product id.
store_item_idpgos::pstringPGOS store item that mapped to the Midas product and the Store where it will be listed for sale are need.
store_idpgos::pstringPGOS store item that mapped to the Midas product and the Store where it will be listed for sale are need.

CreateMidasGlobalOrderParams

// namespace: pgos::client
struct CreateMidasGlobalOrderParams
fieldtypedescription
product_infoMidasGlobalProductInfoPurchase item information.
transactionMidasGlobalTransactionTransaction information.
payloadpgos::pstringTransparent field, with a maximum limit of 256 characters.
languagepgos::pstringRelated to multilingualism, refer to ISO 639-1.

CreateMidasGlobalOrderResult

// namespace: pgos::client
struct CreateMidasGlobalOrderResult
fieldtypedescription
order_idpgos::pstringOrder ID.
pay_infopgos::pstringPayment informatio, required by the Pay interface provided by the Midas Client SDK.

GetMidasGlobalBalanceDetailParams

// namespace: pgos::client
struct GetMidasGlobalBalanceDetailParams
fieldtypedescription
currency_codespgos::pvector<pgos::pstring>Currency code of a PGOS virtual currency. Note: This interface is only used to query virtual currency with CurrencyType as MidasGlobalToken.

GetMidasGlobalBalanceDetailResult

// namespace: pgos::client
struct GetMidasGlobalBalanceDetailResult
fieldtypedescription
balancespgos::pvector<MidasGlobalBalance>

ActivateP2PBattleSessionParams

// namespace: pgos::client
struct ActivateP2PBattleSessionParams
fieldtypedescription
battle_session_idpgos::pstring

AcceptP2PPlayerBattleSessionParams

// namespace: pgos::client
struct AcceptP2PPlayerBattleSessionParams
fieldtypedescription
battle_session_idpgos::pstringThe id of a P2P battle session
player_battle_session_idpgos::pstringThe id of player session in the battle, only a Reserved player session id could be accepted. !!! NOT BATTLE SESSION ID !!!
player_idpgos::pstringPlayer id.

DisconnectP2PPlayerBattleSessionParams

// namespace: pgos::client
struct DisconnectP2PPlayerBattleSessionParams
fieldtypedescription
battle_session_idpgos::pstringThe id of a P2P battle session
player_battle_session_idpgos::pstringThe id of player session in the battle, !!! NOT BATTLE SESSION ID !!!
player_idpgos::pstringKeep it empty if do not need PGOS to validate it.

RemoveP2PPlayerBattleSessionParams

// namespace: pgos::client
struct RemoveP2PPlayerBattleSessionParams
fieldtypedescription
battle_session_idpgos::pstringThe id of a P2P battle session
player_battle_session_idpgos::pstringThe id of player session in the battle, !!! NOT BATTLE SESSION ID !!!
player_idpgos::pstringKeep it empty if do not need PGOS to validate it.

DescribeP2PPlayerBattleSessionsParams

Request info to describe player battle sessions

// namespace: pgos::client
struct DescribeP2PPlayerBattleSessionsParams
fieldtypedescription
battle_session_idpgos::pstringThe P2P battle session id.
player_battle_session_idpgos::pstringThe id of player session in the battle, !!! NOT BATTLE SESSION ID !!! Leave this parameter blank to iterate through all players in the battle session.
offsetuint32_tThe next token
countuint32_tThe limit of the player battle sessions request.

DescribeP2PPlayerBattleSessionsResult

Information about the players in the battle session.

// namespace: pgos::client
struct DescribeP2PPlayerBattleSessionsResult
fieldtypedescription
next_offsetuint32_tThe next offset.
has_moreboolIf has more players.
total_numuint32_tNone-completed players count in the battle session.
player_battle_sessionspgos::pvector<P2PPlayerBattleSession>A list of player battle sessions. Empty if there's no more sessions.

DescribeP2PBattleSessionsResult

// namespace: pgos::client
struct DescribeP2PBattleSessionsResult
fieldtypedescription
battle_sessionspgos::pvector<P2PBattleSession>The battle sesions that a player is participating in.

TerminateP2PPlayerBattleSessionParams

// namespace: pgos::client
struct TerminateP2PPlayerBattleSessionParams
fieldtypedescription
battle_session_idpgos::pstringThe battle session id
player_battle_session_idpgos::pstringThe player battle session id, !!! NOT BATTLE SESSION ID !!!

ReportHostHealthParams

// namespace: pgos::client
struct ReportHostHealthParams
fieldtypedescription
battle_session_idpgos::pstringThe battle session id
player_battle_session_idpgos::pstringThe player battle session id of reporter
host_player_idpgos::pstringHost player id
is_host_healthyboolIs the current client considering the host healthy or not

StartP2PBattleSessionEvt

// namespace: pgos::client
struct StartP2PBattleSessionEvt
fieldtypedescription
battle_sessionP2PBattleSessionThe battle session.
battle_source_dataBattleSourceDataCreation source data of a battle session, contains information about the source type of the battle and player information filled in by the battle creator.

P2PBattleSessionTerminateEvt

// namespace: pgos::client
struct P2PBattleSessionTerminateEvt
fieldtypedescription
battle_session_idpgos::pstringThe battle session id
termination_timeint64_tPGOS will forcefully terminate the session after waiting this time.

P2PPlayerBattleSessionsTerminatedEvt

This event is called periodically to notify game DS of those player battle sessions that have been terminated from client side.

// namespace: pgos::client
struct P2PPlayerBattleSessionsTerminatedEvt
fieldtypedescription
battle_session_idpgos::pstringThe battle session id.
player_battle_session_idpgos::pstringThe player battle session id that have been terminated.

P2PBattleSessionUpdatedEvt

// namespace: pgos::client
struct P2PBattleSessionUpdatedEvt
fieldtypedescription
battle_sessionP2PBattleSessionThe updated battle session details.

P2PConnectParams

// namespace: pgos::client
struct P2PConnectParams
fieldtypedescription
peer_player_idpgos::pstringThe player id.
connection_typeP2PConnectionTypeThe connection type to used. If not specified, PGOS will try to connect via p2p and then via relay.
tokenpgos::pstringThe token to be used for authentication by the game client.
response_timeoutuint32_tThe number of milliseconds that the local player waits for a response from the remote player

P2PConnectResult

// namespace: pgos::client
struct P2PConnectResult
fieldtypedescription
peer_player_idpgos::pstringThe player id.
connection_typeP2PConnectionTypeThe connection type to used.
connection_idpgos::pstringA unique id that represents a A->B connection.

P2PConnectRequestEvt

Event result of receiving a p2p connection request.

// namespace: pgos::client
struct P2PConnectRequestEvt
fieldtypedescription
peer_player_idpgos::pstringThe player id of the player who sent the request.
connection_idpgos::pstringThe connection id of the connection.
tokenpgos::pstringThe token to be used for authentication by the game client.

P2PMessageEvt

Event result of receiving a p2p message.

// namespace: pgos::client
struct P2PMessageEvt
fieldtypedescription
peer_player_idpgos::pstringThe player id of the player who sent the message.
connection_idpgos::pstringThe connection id of the connection.
messagepgos::pvector<uint8_t>The message.

P2PConnectionClosedEvt

Event result when the p2p connection has been closed.

// namespace: pgos::client
struct P2PConnectionClosedEvt
fieldtypedescription
peer_player_idpgos::pstringThe player id of the player you connect to.
connection_idpgos::pstringThe connection id of the connection.
reasonPgosResultThe reason of the connection close. Should be ok if the connection is closed by yourself.

DetectNatTypeResult

// namespace: pgos::client
struct DetectNatTypeResult
fieldtypedescription
nat_typeNatTypeThe detected nat type.

P2PConnectionInfo

The information of P2P connection.

// namespace: pgos::client
struct P2PConnectionInfo
fieldtypedescription
peer_player_idpgos::pstringThe player id of the player you connect to.
peer_nat_typeNatTypeThe nat type of the peer player.
connection_idpgos::pstringThe connection id of the connection.
connection_typeP2PConnectionTypeThe connection type to used.
is_connectedboolWhether the connection is connected.
is_initiatorboolWhether the connection is initiated by you.
rttintThe RTT of the connection. -1 if not connected.
srttintThe smoothed RTT of the connection. -1 if not connected.
loss_ratefloatThe packet loss rate of the connection. -1 if not connected.

SendP2PMessageParams

// namespace: pgos::client
struct SendP2PMessageParams
fieldtypedescription
connection_idpgos::pstringThe connection id of the connection.
messagepgos::pvector<uint8_t>The message to be sent.

TerminateP2PBattleSessionParams

// namespace: pgos::client
struct TerminateP2PBattleSessionParams
fieldtypedescription
battle_session_idpgos::pstringP2P battle session id.

IntoLoginQueueEvt

Event result when the player is placed into the login queue.

// namespace: pgos::client
struct IntoLoginQueueEvt
fieldtypedescription
queue_positionuint32_tThe queue position of the player.
estimated_wait_timeuint32_tThe estimated wait time of the player in seconds.

LoginQueueUpdatedEvt

Event result when the login queue status is updated.

// namespace: pgos::client
struct LoginQueueUpdatedEvt : public IntoLoginQueueEvt

parent: IntoLoginQueueEvt

GetInventoryWithFilterParams

Get inventory with filter params.

// namespace: pgos::client
struct GetInventoryWithFilterParams
fieldtypedescription
item_typespgos::pvector<InGameItemType>Item types to get
item_tagspgos::pvector<TagDataFilter>Item tags to get
item_instance_tagspgos::pvector<TagDataFilter>Item instance tags to get
uniqueBooleanFilterFilter by unique item
stackableBooleanFilterFilter by stackable item
consumableBooleanFilterFilter by consumable item

GetMutualFriendsCountParams

Get mutual friends count params.

// namespace: pgos::client
struct GetMutualFriendsCountParams
fieldtypedescription
player_idspgos::pvector<pgos::pstring>The player ids to get mutual friends count with

GetMutualFriendsCountResult

Get mutual friends count result.

// namespace: pgos::client
struct GetMutualFriendsCountResult
fieldtypedescription
mutual_friends_countpgos::pmap<pgos::pstring, uint32_t>The mutual friends count of each target player.

PotentialFriendInfo

Basic player information of a potential friend

// namespace: pgos::client
struct PotentialFriendInfo : public PlayerSearchInfo

parent: PlayerSearchInfo

fieldtypedescription
mutual_friend_countuint32_tThe number of mutual friends between this player and the target player.

GetPotentialFriendsResult

The result of [GetPotentialFriends]

// namespace: pgos::client
struct GetPotentialFriendsResult
fieldtypedescription
info_listpgos::pvector<PotentialFriendInfo>A list of potential friends information
has_moreboolWhether there is more friends or not
next_offsetuint32_tThe starting offset for the next query

LatencyTestRoundCompletedEvt

Event details when a latency test round is completed.]

// namespace: pgos::client
struct LatencyTestRoundCompletedEvt
fieldtypedescription
round_idxuint32_tThe index of the test round, specifying which round this is (starting from 0).
dataDSHostingLatenciesThe latencies from the client to the DS hosting data centers.

Common Define

PgosCallback

The result callback after the API execution ends.

using PgosCallback = std::function<void(const PgosResult&)>;

Type Reference:

PgosDataCallback

The result callback after the API execution ends.

template <typename T> 
using PgosDataCallback = std::function<void(const PgosResult&, const T*)>;

Type Reference:

PgosInterCallback

Intermediate callback that may be executed multiple times during API execution.

template <typename T>
using PgosInterCallback = std::function<void(const T*)>;