PICO Platform Unity SDK

User

The User info structure. The basic info fields, such as DisplayName and ImageUrl, are always valid. The presence info is valid only when you call presence-related APIs. See  UserService.GetLoggedInUser

Name Type Description
DisplayName string

User's display name.

ImageUrl string

The URL of user's profile photo. The image size is 300x300.

SmallImageUrl string

The URL of the user's small profile photo. The image size is 128x128.

ID string

User's openID. The same user has different openIDs in different apps.

PresenceStatus  UserPresenceStatus

User's presence status which indicates whether the user is online.

Gender  Gender

User's gender.

Presence string

User's presence info which is configured on the PICO Developer Platform.

PresenceDeeplinkMessage string

The deeplink message.

PresenceDestinationApiName string

The destination's API name.

PresenceLobbySessionId string

The lobby session ID which identifies a group or team.

PresenceMatchSessionId string

The match session ID which identifies a competition.

PresenceExtra string

User's extra presence data.

InviteToken string

The invite token.

StoreRegion string

User's registration country/region. It is a country/region code.

UserList

Each element is  User.

LaunchFriendResult

Indicates whether the friend request is canceled or successfully sent.

Name Type Description
DidCancel bool

Whether the request is canceled by the user.

DidSendRequest bool

Whether the request is successfully sent.

UserRoom

The info returned after calling  UserService.GetFriendsAndRooms.

Name Type Description
User  User
Room  Room

UserRoomList

Each element is  UserRoom.

Permissions

Name Type Description
UserInfo string
FriendRelation string
SportsUserInfo string
SportsSummaryData string

PermissionResult

The result returned after calling  UserService.RequestUserPermissions or  UserService.GetAuthorizedPermissions.

Name Type Description
AuthorizedPermissions string[]

The authorized permissions.

AccessToken string

The access token. It has a value only after you call  UserService.RequestUserPermissions.

UserID string

The current user's ID.

UserRelationResult

This class derives from Dictionary. The key is userId and value is  UserRelationType.

EntitlementCheckResult

The result returned after calling  UserService.EntitlementCheck

Name Type Description
HasEntitlement bool

Whether the user is entitled to use the current app.

StatusCode int

The status code for entitlement check.

StatusMessage string

The status message for entitlement check. You can show this message to user if the user does not pass the entitlement check.

Product

You can create in-app products on the PICO Developer Platform.

Name Type Description
Description string

The description of the add-on.

DetailDescription string

The detailed description of the add-on.

Price string

The price of the add-on, which is a number string.

Currency string

The currency required for purchasing the add-on.

Name string

The name of the add-on.

SKU string

The unique identifier of the add-on.

Icon string

The icon of the add-on, which is an image URL.

AddonsType  AddonsType

The type of the add-on.

PeriodType  PeriodType

The period type for the subscription add-on.

TrialPeriodUnit  PeriodType

The trial period unit for the subscription add-on.

TrialPeriodValue int

The trial period value for the subscription add-on.

OriginalPrice string

The original price of the add-on. This field means the price without discount.

OuterId string

The unique identifier of a subscription period.

IsContinuous bool

Whether the subscription is auto renewed.

ProductList

Each element is  Product.

Purchase

The add-on that the current user has purchased.

Name Type Description
ExpirationTime DateTime

The expiration time. Only valid when it's subscription type.

GrantTime DateTime

The grant time. Only valid when it's subscription type.

ID string

The ID of the purchase order.

SKU string

The unique identifier of the add-on in the purchase order.

Icon string

The icon of the add-on.

AddonsType  AddonsType

The type of the purchased add-on.

OuterId string

The outer id of the purchased add-on.

CurrentPeriodType  PeriodType

The current period type of subscription. Only valid when it's subscription.

NextPeriodType  PeriodType

The next period type of subscription. Only valid when it's subscription.

NextPayTime DateTime

The next pay time of subscription. Only valid when it's subscription.

DiscountType DiscountType

The discount info of the purchase.

PurchaseList

Each element is  Purchase.

SubscriptionStatus

 IAPService.GetSubscriptionStatus returns the subscription status of a subscription add-on.

Name Type Description
SKU string

The SKU of the add-on. SKU is the add-on's unique identifier.

OuterId string

The order ID of the subscription.

StartTime DateTime

The start time of the subscription.

EndTime DateTime

The end time of the subscription.

PeriodType  PeriodType

The period type of the subscription.

EntitlementStatus  EntitlementStatus

The entitlement status of the add-on, which indicates whether the user is entitled to use the add-on.

CancelReason  CancelReason

If EntitlementStatus is Cancel, CancelReason indicates why the subscription has been canceled.

IsFreeTrial bool

Whether the subscription is in free trial.

NextPeriod int

The next period of the subscription.

Leaderboard

Leaderboard info.

Name Type Description
ApiName string

The unique identifier of the leaderboard, which is configured on the PICO Developer Platform.

ID ulong

Leaderboard ID.

DestinationOptional  Destination

Associate a destination to the leaderboard so that users can be directed to a specific location in the app. If the leaderboard for that challenge is associated with a destination, the app will be launched, and the user will be directed to the destination. If the leaderboard for that challenge is not associated with any destination, the app will be launched, and the user will be directed to the Home page.

LeaderboardList

Leaderboard list. Each element is  Leaderboard.

Name Type Description
TotalCount ulong

The total number of leaderboards in the list.

SupplementaryMetric

Supplementary metric.

Name Type Description
ID UInt64

The ID of the supplementary metric.

Metric long

The value of the supplementary metric.

LeaderboardEntry

Leaderboard entry info.

Name Type Description
DisplayScore string

The entry's display score.

ExtraData byte[]

Additional info, no more than 2KB.

ID UInt64

Entry ID.

Rank int

The entry's ranking on the leaderboard. For example, returns 1 for top1.

Score long

The score used to rank the entry.

SupplementaryMetricOptional  SupplementaryMetric

The supplementary metric used for tiebreakers. This field can be null. Need to check whether it is null before use.

Timestamp DateTime

The time when the entry was written to the leaderboard.

User  User

The user the entry belongs to.

LeaderboardEntryList

Leaderboard entry list. Each element is  LeaderboardEntry.

Name Type Description
TotalCount ulong

The total number of entries on the leaderboard.

RtcBinaryMessageReceived

The binary message received in a RTC room.

Name Type Description
UserId string

The message sender's user ID.

Data byte[]

The binary data of the message.

RoomId string

The ID of the room that the message is sent to.

RtcAudioFrame

The audio frame is several frames of RTC recorded audio.

Name Type Description
Channel RtcAudioChannel

The channel of the audio frame.

Data IntPtr

The data pointer of the audio frame.

DataSize long

The size of the data.

SampleRate RtcAudioSampleRate

The sample rate of the data.

TimeStampInUs long

The timestamp.Its value is always 0. So don't use it.

RtcMessageSendResult

The message sending result that indicates whether the message is successfully sent.

Name Type Description
MessageId long

The message ID.

Error int

The error code returned in the result. 200 means success.

RoomId string

The ID of the room that the message is sent to.

RtcUserUnPublishInfo

When the remote user canceled publshing stream to the room, you will receive a notification.

Name Type Description
UserId string

The ID of the remote user.

MediaStreamType  RtcMediaStreamType

The stream type.

Reason  RtcStreamRemoveReason

The reason why the remote user canceled publishing stream.

RoomId string

The ID of the room that the remote user is in.

RtcUserPublishInfo

The publish stream info. If the remote user publishes stream, you will receive a notification.

Name Type Description
UserId string

The ID of the remote user.

MediaStreamType  RtcMediaStreamType

The stream type.

RoomId string

The ID of the room that the remote user is in.

RtcRoomMessageReceived

The message received by a certain room. The remote users can send messages to the room and you will receive this message.

Name Type Description
UserId string

The ID of the message sender.

Message string

The message.

RoomId string

The ID of the room that the message was sent to.

RtcUserMessageReceived

The message sent to you by a certain user. You will receive a notification.

Name Type Description
UserId string

The ID of the message sender.

Message string

The message.

RoomId string

The ID of the room that the message sender and recipient are in.

RtcStreamSyncInfo

The stream sync info sent to your room. You will receive a notification,

Name Type Description
StreamKey  RtcRemoteStreamKey

The key of the stream.

StreamType  RtcSyncInfoStreamType

The type of the stream.

Data byte[]

The stream sync info.

RtcAudioPropertyInfo

If you enable audio properties report, you will periodically receive audio property info.

Name Type Description
Volume int

The volume detected. It's a value between 0 and 255.

RtcJoinRoomResult

You will receive this message after you call  RtcService.JoinRoom.

Name Type Description
RoomId string

The ID of the room that the user joined.

UserId string

The ID of the user.

ErrorCode int

The error code. 0 indicates success.

Elapsed int

The time from calling  RtcService.JoinRoom to receiving the result.

JoinType  RtcJoinRoomType

Whether it is the first time that the user has joined the room or if the user is reconnected to the room.

RtcLeaveRoomResult

You will receive this message after you call  RtcService.LeaveRoom.

Name Type Description
RoomId string

The ID of the room that the user left.

RtcLocalAudioPropertiesInfo

The local audio properties info. You will periodically receive this message after you call  RtcService.EnableAudioPropertiesReport.

Name Type Description
StreamIndex RtcStreamIndex

The stream index info.

AudioPropertyInfo  RtcAudioPropertyInfo

The audio property details.

RtcLocalAudioPropertiesReport

The local audio properties report. You will periodically receive this message after you call  RtcService.EnableAudioPropertiesReport.

Name Type Description
AudioPropertiesInfos  RtcLocalAudioPropertiesInfo[]

RtcMediaDeviceChangeInfo

The media device change info. RTC engine will send this message if media device change is detected.

Name Type Description
DeviceId string
DeviceType  RtcMediaDeviceType
DeviceState RtcMediaDeviceState
DeviceError  RtcMediaDeviceError

RtcMuteInfo

You will receive this notification if the remote user call  RtcService.MuteLocalAudio.

Name Type Description
UserId string

The ID of the remote user who muted audio.

MuteState  RtcMuteState

The state of audio muting: muted or canceled.

RtcRemoteAudioPropertiesInfo

The remote audio properties info. You can check who is speaking by this method.

Name Type Description
StreamKey  RtcRemoteStreamKey
AudioPropertiesInfo  RtcAudioPropertyInfo

RtcRemoteAudioPropertiesReport

You will receive remote user's audio info if you call  RtcService.EnableAudioPropertiesReport.

Name Type Description
AudioPropertiesInfos  RtcRemoteAudioPropertiesInfo[]
TotalRemoteVolume int

The total volume of remote users in the room.

RtcRemoteStreamKey

RtcRemoteStreamKey indicates the stream index of a remote user.

Name Type Description
RoomId string

The ID of the room that the remote user is in.

UserId string

The ID of the remote user.

RtcStreamIndex RtcStreamIndex

Indicates whether the stream is main stream or screen stream.

RtcRoomError

You will receive an error code when an error occurred in the room.

Name Type Description
Code int

The error code.

RoomId string

The ID of the room where the error occurred.

RtcRoomStats

You will periodically receive this message after you successfully join a room.

Name Type Description
TotalDuration int

The time elapsed since you joined the room .

UserCount int

The number of users in the room.

RoomId string

The ID of the room you joined.

RtcRoomWarn

The warning info of the room.

Name Type Description
Code int

The error code.

RoomId string

The ID of the room that the warning info comes from.

RtcUserJoinInfo

You will receive this message after a remote user joins the room.

Name Type Description
UserId string

The ID of the user.

UserExtra string

If the remote user set the UserExtra field when calling  RtcService.JoinRoom with extra info.

Elapsed int

The time used for the remote user to join the room.

RoomId string

The ID of the room that the remote user joined.

RtcUserLeaveInfo

You will receive this message when the remote user leaves the room.

Name Type Description
UserId string

The ID of the user.

OfflineReason RtcUserLeaveReasonType

The reason why the user left the room, which can be network error or proactive quit.

RoomId string

The ID of the room that the user left.

DownloadStatus

Name Type Description
Downloaded string
Available string
InProgress string

IapStatus

Constants indicates whether the user purchased the in-app product.

Name Type Description
Entitled string

Purchased.

NotEntitled string

Not purchased.

AssetType

Indicates where the DLC file is displayed.

Name Type Description
Store string

The DLC file is displayed in the PICO Store and the app.

Default string

The DLC file is displayed in the app only.

AssetDetails

Name Type Description
AssetId ulong

The unique identifier of DLC file.

AssetType string

Some DLC files can be displayed in the PICO Store. Now it has two values: default or store. You can refer to  AssetType for details.

DownloadStatus string

One of downloaded, available, and in-progress. You can refer to  DownloadStatus for details.

Filepath string

The path to the downloaded DLC file. For a non-downloaded DLC file, this field will be empty.

Metadata string

The meta info of the DLC file.

Filename string

The name of the DLC file.

Version int

The version of the DLC file.

IapStatus string

One of entitled, not-entitled. You can refer to  IapStatus for details.

IapSku string

The SKU of the in-app product that the DLC file associated with.

IapName string

The name of the in-app product that the DLC fiel associated with.

IapPrice string

The price of this DLC file.

IapCurrency string

The currency required for purchasing the DLC file.

IapDescription string

The description of the in-app product that the DLC file associated with.

IapIcon string

The icon of the in-app product that the DLC file associated with.

AssetDetailsList

Each element is  AssetDetails

AssetFileDeleteForSafety

If the downloaded DLC file is different from the original one, the DLC file will be automatically removed, and the app will receive a notification.

Name Type Description
AssetId ulong

The ID of the DLC file.

Reason string

The description for why this asset file is deleted.

AssetFileDeleteResult

The callback for  AssetFileService.DeleteById and  AssetFileService.DeleteByName.

Name Type Description
Filepath string

The path to the DLC file.

Success bool

Whether the DLC file is deleted successfully.

AssetId ulong

The ID of the DLC file.

AssetFileDownloadCancelResult

Indicates whether the download of the DLC file is successfully canceled.

Name Type Description
Filepath string

The path to the DLC file.

Success bool

Whether the download is successfully canceled.

AssetId ulong

The ID of the DLC file.

AssetFileDownloadResult

The result returned after calling  AssetFileService.DownloadById or  AssetFileService.DownloadByName.

Name Type Description
AssetId ulong

The ID of the DLC file.

Filepath string

The path to the DLC file.

AssetFileDownloadUpdate

You will receive this message periodically once you call  AssetFileService.DownloadById or  AssetFileService.DownloadByName.

Name Type Description
AssetId ulong

The ID of the DLC file.

BytesTotal ulong

The total bytes of the DLC file.

BytesTransferred long

The transferred bytes of the DLC file.

CompleteStatus AssetFileDownloadCompleteStatus

The download status of the DLC file.

AssetStatus

The callback for  AssetFileService.StatusById or  AssetFileService.StatusByName.

Name Type Description
AssetId ulong

The ID of the DLC file.

Filename string

The name of the DLC file.

Filepath string

The path to the DLC file.

DownloadStatus string

The download status of the DLC file. You can refer to  DownloadStatus for details.

SportDailySummary

The summary of daily sport info. Users' daily sports info is recorded in the local database. This structure indicates the sports info generated someday.

Name Type Description
Id long

The ID of the summary.

Date DateTime

The date when the summary was generated.

DurationInSeconds int

The sport duration (in seconds).

PlanDurationInMinutes int

The planned sport duration (in seconds).

Calorie double

The actual calorie burnt (in kilo calorie).

PlanCalorie double

The planned calorie to burn.

SportDailySummaryList

Each element is  SportDailySummary

SportSummary

User's sport summary of today.

Name Type Description
DurationInSeconds int

The sport duration (in seconds).

Calorie double

The calorie burnt (in kilo calorie).

StartTime DateTime

The time when the user started playing sport.

EndTime DateTime

The time when the user stopped playing sport.

SportUserInfo

The user's sport info. User can set sport goal in the Sport Center app.

Name Type Description
Gender  Gender
Birthday DateTime
Stature int

The height of the user (in cm).

Weight int

The weight of the user (in kg).

SportLevel int

The sport level that indicates the intensity of the sport.

DailyDurationInMinutes int

The planned daily sport duration (in minutes).

DaysPerWeek int

The planned weekly sport days.

SportTarget  SportTarget

The sport purpose, such as keep fit and lose weight.

AchievementUpdate

Achievement update info.

Name Type Description
JustUnlocked bool

Whether the achievement is unlocked in this time.

Name string

Achievement name.

AchievementDefinition

Achievement info.

Name Type Description
Type AchievementType

Achievement type.

Name string

Achievement name.

BitfieldLength uint

The target to reach for unlocking a bitfield achievement.

Target long

The target to reach for unlocking a count achievement.

Description string

Achievement description.

Title string

Achievement title.

IsArchived bool

Whether the achievement is archieved.

IsSecret bool

Whether the achievement is a secret achievement. If so, it can be visible after being unlocked only.

ID ulong

Achievement ID.

UnlockedDescription string

The description shown to users when unlocking the achievement.

WritePolicy AchievementWritePolicy

The write policy of the achievement.

LockedImageURL string

The URL of the image displayed when the achievement is still locked.

UnlockedImageURL string

The URL of the image displayed when the achievement is unlocked.

AchievementDefinitionList

Achievement definition list. Each element is  AchievementDefinition.

Name Type Description
TotalSize ulong

The total number of AchievementDefinition.

AchievementProgress

Achievement progress info.

Name Type Description
ID ulong

Achievement ID.

Bitfield string

The progress of a bitfield achievement. 1 represents a completed bit.

Count long

The progress of a count achievement.

IsUnlocked bool

Whether the achievement is unlocked.

Name string

Achievement name.

UnlockTime DateTime

The time when the achievement is unlocked.

ExtraData byte[]

Additional info, no more than 2KB.

AchievementProgressList

The list of achievements with their progress info. Each element is  AchievementProgress.

Name Type Description
TotalSize ulong

The total number of achievements with progress info.

ChallengeOptions

Challenge setting options.

Challenge

Challenge info.

Name Type Description
CreationType ChallengeCreationType

The creator of the challenge.

ID UInt64

Challenge ID.

StartDate DateTime

Challenge's start date.

EndDate DateTime

Challenge's end date.

ParticipantsOptional  UserList

Participants of the challenge, which might be null. Should check if it is null before use.

InvitedUsersOptional  UserList

Users invited to the challenge, which might be null. Should check if it is null before use.

Leaderboard  Leaderboard

The info about the leaderboard that the challenge associated with.

Title string

Challenge's title.

Visibility  ChallengeVisibility

Challenge's visibility.

ChallengeList

Challenge list. Each Element is  Challenge.

Name Type Description
TotalCount ulong

The total number of challenges in the list.

ChallengeEntry

Challenge entry info.

Name Type Description
DisplayScore string

The entry's display score.

ExtraData byte[]

The entry's additional info, no more than 2KB.

ID UInt64

The ID of the challenge that the entry belongs to.

Rank int

The rank of the entry.

Score long

The score of the entry.

Timestamp DateTime

The time when the entry was written.

User  User

The user the entry belongs to.

ChallengeEntryList

Challenge entry list. Each element is  ChallengeEntry.

Name Type Description
TotalCount ulong

The total number of entries in the list.

KVPairArray

KVPair

MatchmakingAdminSnapshot

Matchmaking admin snapshot. You will receive this after calling  MatchmakingService.GetAdminSnapshot.

Name Type Description
CandidateList  MatchmakingAdminSnapshotCandidateList

List of matchmaking candidates.

MyCurrentThreshold double

The current matching threshold.

MatchmakingAdminSnapshotCandidate

Matchmaking candidate.

Name Type Description
CanMatch bool

Whether me and the other user can be matched.

MyTotalScore double

My matching threshold.

TheirCurrentThreshold double

The other user's matching threshold.

MatchmakingAdminSnapshotCandidateList

Each element is  MatchmakingAdminSnapshotCandidate.

Name Type Description
TotalCount ulong

The total number of MatchmakingAdminSnapshotCandidate in the list.

MatchmakingBrowseResult

Matchmaking browse result. You will receive the result after calling  MatchmakingService.Browse2.

Name Type Description
EnqueueResult  MatchmakingEnqueueResult

Matchmaking enqueue result.

MatchmakingRooms  MatchmakingRoomList

The list of matchmaking rooms.

MatchmakingEnqueueResult

Matchmaking enqueue result.

Name Type Description
AdminSnapshotOptional  MatchmakingAdminSnapshot

Matchmaking snapshot options. Used for debugging only.

AverageWait uint

The average waiting time.

MatchesInLastHourCount uint

The number of matches made in the last hour.

MaxExpectedWait uint

The expected longest waiting time.

Pool string

Matchmaking pool name.

RecentMatchPercentage uint

Match rate.

MatchmakingEnqueueResultAndRoom

Matchmaking enqueue result and room info. You will receive this after calling  MatchmakingService.CreateAndEnqueueRoom2.

Name Type Description
MatchmakingEnqueueResult  MatchmakingEnqueueResult

Matchmaking enqueue result.

Room  Room

Matchmaking room info.

MatchmakingRoom

Matchmaking room.

Name Type Description
Room  Models.Room

Room info.

PingTime uint

Currently, always 0.

HasPingTime bool

Currently, always false.

MatchmakingRoomList

Each element is  MatchmakingRoom

Name Type Description
TotalCount int

The total number.

MatchmakingStats

Matchmaking statistics. Will receive this after calling  MatchmakingService.GetStats.

Name Type Description
DrawCount uint

The current user's number of draws.

LossCount uint

The current user's number of losses.

SkillLevel uint

The current user's skill level for the current matchmaking pool.

SkillMean double

The average of all skill levels for the current matchmaking pool.

SkillStandardDeviation double

The standard deviation of all skill levels for the current matchmaking pool.

WinCount uint

The current user's number of wins.

RoomInviteNotification

Invitation notificiation.

Name Type Description
ID UInt64

Invitation ID.

RoomID UInt64

Room ID.

SenderID string

Inviter's user ID.

SentTime DateTime

The time when the invitation is sent.

RoomInviteNotificationList

Each element is  RoomInviteNotification

Name Type Description
TotalCount int

The total number.

Packet

Destination

Destination is a location in the app. You can configure destinations for your app on the PICO Developer Platform.

Name Type Description
ApiName string

The destination's API name.

DeeplinkMessage string

The destination's deeplink message.

DisplayName string

The destination's display name.

DestinationList

Each element is  Destination

ApplicationInvite

App's invitation info.

Name Type Description
Destination  Destination

The destination where the user is directed to after accepting the invitation.

Recipient  User

Invited users.

ID UInt64

Invitation ID.

IsActive bool

If the user clicks the invitation message, this field will be true.

LobbySessionId string

The lobby session ID that identifies a group or team.

MatchSessionId string

The match session ID that identifies a competition.

ApplicationInviteList

Each element is  ApplicationInvite.

SendInvitesResult

The result returned after calling  PresenceService.SendInvites.

Name Type Description
Invites  ApplicationInviteList

PresenceJoinIntent

When user click the invitation message, the app will be launched and you will receive a message with presence info.

Name Type Description
DeeplinkMessage string

The deeplink message of the destination.

DestinationApiName string

The destination api name of the destination.

LobbySessionId string

The lobby session id which is configured by the sender.

MatchSessionId string

The match session id which is configured by the sender.

Extra string

The extra info of the presence.

LaunchDetails

App launch details.

Name Type Description
LaunchType  LaunchType

How the app was launched:

  • Normal: launched by clicking the app's icon

  • RoomInvite: launched by clicking the room invitation message card

  • Deeplink: launched by clicking the presence invitation message card or calling  ApplicationService.LaunchApp

  • ChallengeInvite: launched by clicking the challenge invitation message card

DeeplinkMessage string

Deeplink message. You can pass a deeplink when you call  ApplicationService.LaunchApp, and the other app will receive the deeplink.This field will have a value only when LaunchType is LaunchApp.

DestinationApiName string

Destination API name configured on the PICO Developer Platform.For a presence invitation, the inviters' presence data will contain this field which will be passed when the invitee clicks on the message card.

LobbySessionID string

The lobby session ID that identifies a group or team. For a presence invitation, the inviters' presence data will contain this field which will be passed when the invitee clicks on the message card.

MatchSessionID string

The match session ID that identifies a competition. For a presence invitation, the inviters' presence data will contain this field which will be passed when the invitee clicks on the message card.

Extra string

The customized extra presence info. For a presence invitation, the inviters' presence data will contain this field which will be passed when the invitee clicks on the message card. You can use this field to add self-defined presence data. The data size cannot exceed 2MB.

RoomID UInt64

Room ID.For a room invitation, after calling  RoomService.InviteUser, this field will be passed when the invitee clicks on the message card.

ChallengeID UInt64

For a challenge invitation, after calling  ChallengesService.Invite, this field will be passed when the invitee clicks on the message card.

TrackingID string

Tracking ID.

ApplicationVersion

App's version info.

Name Type Description
CurrentCode long

The current version code of the installed app.

CurrentName string

The current version name of the installed app.

LatestCode long

The latest version code of the app in the PICO Store.

LatestName string

The latest version name of the app in the PICO Store.

Room

Room info.

Name Type Description
DataStore Dictionary< string, string >

The datastore that stores a room's metadata. The maximum datastore key length is 32 bytes and the maximum datastore value length is 64 bytes.

Description string

Room description. The maximum length is 128 bytes.

RoomId UInt64

Room ID.

IsMembershipLocked bool

Whether the room is locked.

RoomJoinPolicy RoomJoinPolicy

Room's join policy.

RoomJoinability RoomJoinability

Room's joinability.

MaxUsers uint

The maximum number of users allowed to join a room, which is 100.

OwnerOptional  User

Room owner. This field can be null. Need to check whether it is null before use.

RoomType RoomType

Room type.

UsersOptional  UserList

Room members. This field can be null. Need to check whether it is null before use.

Name string

Room name.

RoomList

Room list info. Each element is  Room.

Name Type Description
TotalCount int

The total number of rooms.

CurIndex int

The current page idex from which the list begins.

PageSize int

The number of rooms given on each page.

DetectSensitiveResult

Name Type Description
FilteredText string

The filtered text is a string which replace sensitive words with *.

Proposal  SensitiveProposal

The proposed strategy to handle user operation.