PICO Platform Unity SDK
Pico.Platform Namespace Reference

Classes

class  AchievementsService
 
class  ApplicationOptions
 
class  ApplicationService
 
class  AssetFileService
 
class  ChallengesService
 
class  CLIB
 
class  CommonParsers
 
class  ComplianceService
 
class  CoreService
 
class  IAPService
 
class  InviteOptions
 
class  LeaderboardService
 
class  Looper
 
class  MarshalUtil
 
class  MatchmakingOptions
 
class  MatchmakingService
 
class  Message
 
class  MessageQueue
 
class  NetworkService
 
class  NotificationService
 
class  PresenceOptions
 
class  PresenceService
 
class  PtrArray
 
class  PtrManager
 
class  RoomOptions
 
class  RoomService
 
class  RtcAudioPropertyOptions
 
class  RtcGetTokenOptions
 
class  RtcRoomOptions
 
class  RtcService
 
class  RtcStreamSyncInfoOptions
 
class  ShareMediaOptions
 
class  SportService
 
class  Task
 
class  TimeUtil
 
class  UserService
 
class  UTF8Marshaller
 

Enumerations

enum  AchievementType { Unknown = 0 , Simple = 1 , Count = 2 , Bitfield = 3 }
 The type of an achievement. More...
 
enum  AchievementWritePolicy { Unknown = 0 , Client = 1 , Server = 2 }
 The write policy for the achievement. More...
 
enum  KVPairType { String = 0 , Int = 1 , Double = 2 , Unknown = 3 }
 The type of a key-value pair. More...
 
enum  MatchmakingCriterionImportance {
  Required = 0 , High = 1 , Medium = 2 , Low = 3 ,
  Unknown = 4
}
 The importance level of the expression for calculating the matching degree among users, which is configured on the PICO Developer Platform. More...
 
enum  ChallengeCreationType { Unknown = 0 , UserCreated = 1 , DeveloperCreated = 2 }
 The creator of the challenge. More...
 
enum  ChallengeVisibility { Unknown = 0 , InviteOnly = 1 , Public = 2 , Private = 3 }
 Indicates who can see and join the challenge. More...
 
enum  ChallengeViewerFilter {
  Unknown = 0 , AllVisible = 1 , Participating = 2 , Invited = 3 ,
  ParticipatingOrInvited = 4
}
 The filter for querying specified challenges. More...
 
enum  LeaderboardFilterType { None = 0 , Friends = 1 , Unknown = 2 , UserIds = 3 }
 The type of filter to use when retrieving leaderboard entries. More...
 
enum  LeaderboardStartAt { Top = 0 , CenteredOnViewer = 1 , CenteredOnViewerOrTop = 2 , Unknown = 3 }
 From where to start returning leaderboard entries. More...
 
enum  RoomJoinability {
  Unknown = 0 , AreIn = 1 , AreKicked = 2 , CanJoin = 3 ,
  IsFull = 4 , NoViewer = 5 , PolicyPrevents = 6
}
 The room's joinability. More...
 
enum  RoomJoinPolicy {
  None = 0 , Everyone = 1 , FriendsOfMembers = 2 , FriendsOfOwner = 3 ,
  InvitedUsers = 4 , Unknown = 5
}
 The room's join policy, which determines who are allowed to join the room. More...
 
enum  RoomType {
  Unknown = 0 , Matchmaking = 1 , Moderated = 2 , Private = 3 ,
  Named = 4
}
 The type of the room. More...
 
enum  GameInitializeResult {
  Success = 0 , Uninitialized = 1 , NetworkError = 2 , InvalidCredentials = 3 ,
  ServiceNotAvaliable = 4 , Unknown = 5 , InvalidServerAddr = 6 , DupInitialize = 7
}
 The initialization result of the game service. More...
 
enum  RoomMembershipLockStatus { Unknown = 0 , Lock = 1 , Unlock = 2 }
 Locks/unlocks the membership for a room to allow/disallow new members from being able to join the room. The caller should be the room owner. More...
 
enum  UserOrdering { None = 0 , PresenceAlphabetical = 1 }
 (Not used) More...
 
enum  AddonsType { Invalid = -1 , Durable = 0 , Consumable = 1 , Subscription = 2 }
 The type of an add-on. More...
 
enum  UserPresenceStatus { Unknown = 0 , OnLine = 1 , OffLine = 2 }
 The user's presence status. More...
 
enum  Gender { Unknown = 0 , Male = 1 , Female = 2 }
 User's gender. More...
 
enum  AssetFileDownloadCompleteStatus { Downloading = 0 , Succeed = 1 , Failed = 2 }
 The download progress of the DLC file. More...
 
enum  CancelReason { None = 0 , UserCancelsExpiration = 1 , DeductionFailedExpired = 2 , NoMainApplicationInterest = 3 }
 The reason why the subscription is canceled. Pico.Platform.IAPService.GetSubscriptionStatus will return a subscription status structure. The CancelReason field describes why the subscription is canceled. More...
 
enum  SensitiveProposal { Pass = 0 , OnlySelfVisible = 1 , UserMute = 2 , RejectSubmit = 3 }
 The strategy proposed to handle the text containing sensitive words and the user that creates the text. It's the result of Pico.Platform.ComplianceService.DetectSensitive. More...
 
enum  DetectSensitiveScene { UserName = 1 , RoomName = 2 , RoomChat = 3 }
 Indicates the location within the app where text containing sensitive words can be found. Used for Pico.Platform.ComplianceService.DetectSensitive. More...
 
enum  DiscountType { Invalid = -1 , Null = 0 , FreeTrial = 1 , Discount = 2 }
 The type of the discount More...
 
enum  EntitlementStatus {
  None = 0 , Valid = 1 , Invalid = 2 , GracePeriod = 3 ,
  Pause = 4 , Expired = 5 , Cancel = 6
}
 The entitlement status of a subscription add-on. Used by Pico.Platform.IAPService.GetSubscriptionStatus. More...
 
enum  LaunchType {
  Unknown = 0 , Normal = 1 , RoomInvite = 2 , Deeplink = 4 ,
  ChallengeInvite = 5
}
 Indicates how an app is launched. You can use it to determine how to parse Pico.Platform.Models.LaunchDetails. See also: Pico.Platform.ApplicationService.GetLaunchDetails. More...
 
enum  LaunchResult {
  Unknown = 0 , Success = 1 , FailedRoomFull = 2 , FailedGameAlreadyStarted = 3 ,
  FailedRoomNotFound = 4 , FailedUserDeclined = 5 , FailedOtherReason = 6
}
 The app's 'launch result. More...
 
enum  RtcMuteState { Off = 0 , On = 1 }
 The state of the user's local audio. More...
 
enum  RtcPauseResumeMediaType { Audio = 0 , Video = 1 , AudioAndVideo = 2 }
 The type of media to pause or resume. More...
 
enum  RtcMediaStreamType { Audio = 1 , Video = 2 , Both = 3 }
 The type of media stream. More...
 
enum  RtcEngineInitResult {
  Unknown = -999 , AlreadyInitialized = -1 , InvalidConfig = -2 , SdkNotInitialized = -3 ,
  Success = 0
}
 RTC engine initialization result. More...
 
enum  RtcEarMonitorMode { Off = 0 , On = 1 }
 The status of in-ear monitoring mode. More...
 
enum  RtcStreamIndex { Main = 0 , Screen = 1 }
 Stream type. More...
 
enum  RtcSyncInfoStreamType { Audio = 0 }
 The type of stream sync info. The stream sync info will be uploaded to the server with the audio data. More...
 
enum  RtcScreenMediaType { VideoOnly = 0 , AudioOnly = 1 , VideoAndAudio = 2 }
 The type of screen stream to capture. More...
 
enum  RtcAudioScenarioType {
  Music = 0 , HighQualityCommunication = 1 , Communication = 2 , Media = 3 ,
  GameStreaming = 4
}
 Types of audio scenario. See here for more information. More...
 
enum  RtcAudioPlaybackDevice {
  Headset = 1 , EarPiece = 2 , SpeakerPhone = 3 , HeadsetBlueTooth = 4 ,
  HeadsetUsb = 5
}
 The audio playback device. More...
 
enum  RtcRoomProfileType {
  Communication = 0 , LiveBroadcasting = 1 , Game = 2 , CloudGame = 3 ,
  LowLatency = 4
}
 The type of the room. More...
 
enum  RtcAudioSourceType { External = 0 , Internal = 1 }
 Types of audio source. More...
 
enum  RtcAudioSampleRate {
  Auto = -1 , F8000 = 8000 , F16000 = 16000 , F32000 = 32000 ,
  F44100 = 44100 , F48000 = 48000
}
 Audio sample rate. More...
 
enum  RtcAudioChannel { Auto = -1 , Mono = 1 , Stereo = 2 }
 The type of the audio channel. More...
 
enum  RtcColorSpace {
  Unknown = 0 , YCbCrBT601LimitedRange = 1 , YCbCrBT601FullRange = 2 , YCbCrBT709LimitedRange = 3 ,
  YCbCrBT709FullRange = 4
}
 The color space of video frame. More...
 
enum  MatchmakingStatApproach { Unknown = 0 , Trailing = 1 , Swingy = 2 }
 (beta feature, don't use it) More...
 
enum  MessageType {
  Unknown = -1 , PlatformInitializeAndroidAsynchronous = 1 , User_GetLoggedInUser = 10000 , User_GetAccessToken = 10001 ,
  User_Get = 10002 , User_LaunchFriendRequestFlow = 10003 , User_GetLoggedInUserFriends = 10004 , User_GetNextUserArrayPage = 10005 ,
  User_GetLoggedInUserFriendsAndRooms = 10006 , User_GetAuthorizedPermissions = 10007 , User_RequestUserPermissions = 10008 , User_GetRelations = 10009 ,
  User_GetIdToken = 10010 , User_EntitlementCheck = 10011 , User_GetOrgScopedID = 10012 , Notification_Rtc_OnRoomStats = 10200 ,
  Notification_Rtc_OnJoinRoom = 10201 , Notification_Rtc_OnLeaveRoom = 10202 , Notification_Rtc_OnUserLeaveRoom = 10203 , Notification_Rtc_OnUserJoinRoom = 10204 ,
  Notification_Rtc_OnConnectionStateChange = 10205 , Notification_Rtc_OnWarn = 10206 , Notification_Rtc_OnRoomWarn = 10207 , Notification_Rtc_OnRoomError = 10208 ,
  Notification_Rtc_OnError = 10209 , Notification_Rtc_OnUserStartAudioCapture = 10210 , Notification_Rtc_OnAudioPlaybackDeviceChanged = 10211 , Notification_Rtc_OnRemoteAudioPropertiesReport = 10212 ,
  Notification_Rtc_OnLocalAudioPropertiesReport = 10213 , Notification_Rtc_OnUserStopAudioCapture = 10214 , Notification_Rtc_OnUserMuteAudio = 10215 , Notification_Rtc_OnMediaDeviceStateChanged = 10216 ,
  Notification_Rtc_OnRoomMessageReceived = 10217 , Notification_Rtc_OnUserMessageReceived = 10218 , Notification_Rtc_OnTokenWillExpire = 10219 , Notification_Rtc_OnStreamSyncInfoReceived = 10220 ,
  Notification_Rtc_OnVideoDeviceStateChanged = 10221 , Notification_Rtc_OnFirstLocalVideoFrameCaptured = 10222 , Notification_Rtc_OnRoomBinaryMessageReceived = 10223 , Notification_Rtc_OnLocalVideoSizeChanged = 10224 ,
  Notification_Rtc_OnScreenVideoFrameSendStateChanged = 10225 , Notification_Rtc_OnUserBinaryMessageReceived = 10226 , Notification_Rtc_OnLocalVideoStateChanged = 10227 , Notification_Rtc_OnUserMessageSendResult = 10228 ,
  Notification_Rtc_OnUserUnPublishScreen = 10229 , Notification_Rtc_OnRoomMessageSendResult = 10230 , Notification_Rtc_OnUserPublishStream = 10231 , Notification_Rtc_OnUserUnPublishStream = 10232 ,
  Notification_Rtc_OnUserPublishScreen = 10233 , Rtc_GetToken = 10300 , Matchmaking_Browse2 = 10400 , Matchmaking_Browse2CustomPage = 10401 ,
  Matchmaking_Cancel2 = 10402 , Matchmaking_CreateAndEnqueueRoom2 = 10404 , Matchmaking_Enqueue2 = 10408 , Matchmaking_EnqueueRoom2 = 10410 ,
  Matchmaking_GetAdminSnapshot = 10411 , Matchmaking_GetStats = 10412 , Matchmaking_ReportResultInsecure = 10414 , Matchmaking_StartMatch = 10415 ,
  Room_CreateAndJoinPrivate = 10500 , Room_CreateAndJoinPrivate2 = 10501 , Room_Get = 10502 , Room_GetCurrent = 10503 ,
  Room_GetCurrentForUser = 10504 , Room_GetInvitableUsers = 10505 , Room_GetInvitableUsers2 = 10506 , Room_GetModeratedRooms = 10507 ,
  Room_GetNextRoomArrayPage = 10508 , Room_InviteUser = 10509 , Room_Join = 10510 , Room_Join2 = 10511 ,
  Room_KickUser = 10512 , Room_LaunchInvitableUserFlow = 10513 , Room_Leave = 10514 , Room_SetDescription = 10515 ,
  Room_UpdateDataStore = 10516 , Room_UpdateMembershipLockStatus = 10517 , Room_UpdateOwner = 10518 , Room_UpdatePrivateRoomJoinPolicy = 10519 ,
  Room_JoinNamed = 10520 , Room_GetNamedRooms = 10521 , Notification_Matchmaking_MatchFound = 10600 , Notification_Room_InviteAccepted = 10601 ,
  Notification_Room_RoomUpdate = 10603 , Notification_Game_ConnectionEvent = 10604 , Notification_Game_RequestFailed = 10605 , Notification_Game_StateReset = 10606 ,
  Notification_GetNextRoomInviteNotificationArrayPage = 10607 , Notification_GetRoomInvites = 10608 , Notification_MarkAsRead = 10609 , Notification_Challenge_LaunchByInvite = 10610 ,
  PlatformGameInitializeAsynchronous = 10700 , Leaderboard_Get = 10800 , Leaderboard_GetNextLeaderboardArrayPage = 10801 , Leaderboard_GetEntries = 10802 ,
  Leaderboard_GetEntriesAfterRank = 10803 , Leaderboard_GetEntriesByIds = 10804 , Leaderboard_GetNextEntries = 10805 , Leaderboard_GetPreviousEntries = 10806 ,
  Leaderboard_WriteEntry = 10807 , Leaderboard_WriteEntryWithSupplementaryMetric = 10808 , Achievements_AddCount = 10820 , Achievements_AddFields = 10821 ,
  Achievements_GetAllDefinitions = 10822 , Achievements_GetAllProgress = 10823 , Achievements_GetDefinitionsByName = 10824 , Achievements_GetNextAchievementDefinitionArrayPage = 10825 ,
  Achievements_GetNextAchievementProgressArrayPage = 10826 , Achievements_GetProgressByName = 10827 , Achievements_Unlock = 10828 , Challenges_Invite = 10850 ,
  Challenges_Get = 10851 , Challenges_GetList = 10852 , Challenges_GetEntries = 10853 , Challenges_GetEntriesAfterRank = 10854 ,
  Challenges_GetEntriesByIds = 10855 , Challenges_Join = 10856 , Challenges_Leave = 10857 , Challenges_LaunchInvitableUserFlow = 10858 ,
  Application_LaunchOtherApp = 11001 , Presence_GetSentInvites = 11002 , Presence_GetInvitableUsers = 11003 , Presence_SendInvites = 11004 ,
  Presence_GetDestinations = 11005 , Presence_Clear = 11006 , Presence_Set = 11007 , Notification_ApplicationLifecycle_LaunchIntentChanged = 11008 ,
  Notification_Presence_JoinIntentReceived = 11009 , Application_LaunchOtherAppByPresence = 11011 , Application_LaunchOtherAppByMessage = 11013 , Presence_ShareMedia = 11014 ,
  Presence_LaunchInvitePanel = 11015 , Presence_SendCustomInvites = 11016 , Application_LaunchStore = 11017 , Application_GetVersion = 11018 ,
  IAP_GetProductsBySKU = 12001 , IAP_GetViewerPurchases = 12002 , IAP_LaunchCheckoutFlow = 12003 , IAP_ConsumePurchase = 12004 ,
  IAP_GetSubscriptionStatus = 12005 , Sport_GetUserInfo = 12500 , Sport_GetDailySummary = 12501 , Sport_GetSummary = 12502 ,
  AssetFile_DeleteById = 13001 , AssetFile_DeleteByName = 13002 , AssetFile_DownloadById = 13003 , AssetFile_DownloadByName = 13004 ,
  AssetFile_DownloadCancelById = 13005 , AssetFile_DownloadCancelByName = 13006 , AssetFile_GetList = 13007 , AssetFile_StatusById = 13008 ,
  AssetFile_StatusByName = 13009 , AssetFile_GetNextAssetDetailsArrayPage = 13010 , Notification_AssetFile_DownloadUpdate = 13101 , Notification_AssetFile_DeleteForSafety = 13102 ,
  Compliance_DetectSensitive = 15015
}
 
enum  RtcJoinRoomType { First = 0 , Reconnected = 1 }
 Whether it is the first time that the user has joined the room or if the user is reconnected to the room. More...
 
enum  RtcUserLeaveReasonType { Quit = 0 , Dropped = 1 }
 The reason why the user leaves the room. More...
 
enum  RtcMediaDeviceType { AudioUnknown = -1 , AudioRenderDevice = 0 , AudioCaptureDevice = 1 }
 The type of the media device. More...
 
enum  RtcMediaDeviceState {
  Started = 1 , Stopped = 2 , RuntimeError = 3 , Added = 4 ,
  Removed = 5
}
 The state of the media device. More...
 
enum  RtcMediaDeviceError {
  Ok = 0 , NoPermission = 1 , DeviceBusy = 2 , DeviceFailure = 3 ,
  DeviceNotFound = 4 , DeviceDisconnected = 5 , DeviceNoCallback = 6 , UnSupporttedFormat = 7
}
 Types of media device errors. More...
 
enum  RtcStreamRemoveReason {
  Unpublish = 0 , PublishFailed = 1 , KeepLiveFailed = 2 , ClientDisconnected = 3 ,
  Republish = 4 , Other = 5
}
 The reason why the remote stream is removed. More...
 
enum  GameConnectionEvent {
  Connected = 0 , Closed = 1 , Lost = 2 , Resumed = 3 ,
  KickedByRelogin = 4 , KickedByGameServer = 5 , GameLogicError = 6 , Unknown = 7
}
 The events that may take place in networking. More...
 
enum  GameRequestFailedReason {
  None = 0 , NotInitialized = 1 , Uninitialized = 2 , CurrentlyUnavailable = 3 ,
  CurrentlyUnknown = 4
}
 The reasons for failed requests to the game service. More...
 
enum  SportTarget { LoseFat = 0 , KeepFit = 1 }
 The purpose of sports. More...
 
enum  PeriodType {
  Invalid = -1 , None = 0 , Hour = 1 , Day = 2 ,
  Week = 3 , Month = 4 , Quarter = 5 , Year = 6
}
 The period type of the subscription. More...
 
enum  UserRelationType {
  Unknown = 0 , IsFriend = 1 , NotFriend = 2 , Blocked = 3 ,
  BlockedBy = 4 , ApplyingFriend = 5
}
 The relationship between two users. You can call UserService.GetUserRelations to query user relation. More...
 
enum  PlatformInitializeResult {
  Unknown = -999 , NetError = -6 , MissingImpl = -5 , LoadImplFailed = -4 ,
  InternalError = -3 , InvalidParams = -2 , AlreadyInitialized = -1 , Success = 0
}
 The initialization result of platform services. More...
 
enum  ShareMediaType { Video = 0 , Image = 1 }
 The type of media to share. More...
 
enum  ShareAppType { Douyin = 0 }
 The app which the videos or screenshots are shared to. More...
 
enum  RtcPrivilege { PublishStream = 0 , PublishAudioStream = 1 , PublishVideoStream = 2 , SubscribeStream = 3 }
 The user needs to pass a token when joining the room. When requesting a token, a map (key-value pair) should be passed. The key is the permission name and the value is the permission's validity time. More...
 
enum  RtcConnectionState {
  Disconnected = 1 , Connecting = 2 , Connected = 3 , Reconnecting = 4 ,
  Reconnected = 5 , Lost = 6
}
 Indicates whether the local device is connected to the RTC server. More...
 

Functions

delegate Message MessageParser (IntPtr ptr)
 

Enumeration Type Documentation

◆ AchievementType

The type of an achievement.

Enumerator
Unknown 

Unknown.

Simple 

Simple achievement.

Count 

Count achievement.

Bitfield 

Bitfield achievement.

◆ AchievementWritePolicy

The write policy for the achievement.

Enumerator
Unknown 

Unknown.

Client 

Both the client app and server are allowed to update achievement progress.

Server 

Only the server is allowed to update achievement progress.

◆ KVPairType

enum KVPairType

The type of a key-value pair.

Enumerator
String 

String.

Int 

Integer.

Double 

Both string and integer.

Unknown 

Unknown.

◆ MatchmakingCriterionImportance

The importance level of the expression for calculating the matching degree among users, which is configured on the PICO Developer Platform.

Enumerator
Required 

Required.

High 

High.

Medium 

Medium.

Low 

Low.

Unknown 

Unknown.

◆ ChallengeCreationType

The creator of the challenge.

Enumerator
Unknown 

Unknown.

UserCreated 

User.

DeveloperCreated 

Developer.

◆ ChallengeVisibility

Indicates who can see and join the challenge.

Enumerator
Unknown 

Unknown.

InviteOnly 

Everyone can see the challenge, but only those invited can join it.

Public 

Everyone can see and join the challenge.

Private 

Only those invited can see and join the challenge.

◆ ChallengeViewerFilter

The filter for querying specified challenges.

Enumerator
Unknown 

Unknown.

AllVisible 

To return the challenges visible to everyone.

Participating 

To return the challenges only visible to the participants.

Invited 

To return the challenges only visible to those invited.

ParticipatingOrInvited 

To returns the challenges visible to both the participants and those invited.

◆ LeaderboardFilterType

The type of filter to use when retrieving leaderboard entries.

Enumerator
None 

Do not filter.

Friends 

Only display the entries of the user's friends.

Unknown 

Do not filter.

UserIds 

Display the entries of specific users by specifying user IDs.

◆ LeaderboardStartAt

From where to start returning leaderboard entries.

Enumerator
Top 

To return entries from top 1.

CenteredOnViewer 

To place the current logged-in user's entry in the middle of the list on the first page. For example, if the total number of entries is 10, pageSize is set to 5, and the user's rank is top 5, the ranks displayed on the first page will be top 3, 4, 5, 6, and 7. Top 1 and 2 will not be displayed, and top 8, 9, and 10 will be displayed on the second page.

CenteredOnViewerOrTop 

To place the current logged-in user's entry on the top of the list on the first page. For example, if the total number of entries is 10, pageSize is set to 5, and the user's rank is top 5, the ranks displayed on the first page will be top 5, 6, 7, 8, and 9. Top 1, 2, 3, and 4 will not be displayed, and top 10 will be displayed on the second page.

Unknown 

To returns an empty list.

◆ RoomJoinability

The room's joinability.

Enumerator
Unknown 

Unknown

AreIn 

The user is already in the room.

AreKicked 

The user is kicked out of the room.

CanJoin 

Others can join the room.

IsFull 

The room is full.

NoViewer 

(Not available, do not use it)

PolicyPrevents 

The room is not allowed to be joined.

◆ RoomJoinPolicy

The room's join policy, which determines who are allowed to join the room.

Enumerator
None 

No join policy.

Everyone 

Anyone is allowed to join the room.

FriendsOfMembers 

Only the friends of the users who are already in the room are allowed to join.

FriendsOfOwner 

Only the friends of the room owner are allowed to join the room.

InvitedUsers 

Only those who have been invited are allowed to join the room.

Unknown 

No join policy.

◆ RoomType

enum RoomType

The type of the room.

Enumerator
Unknown 

Unknown.

Matchmaking 

Matchmaking room.

Moderated 

Moderated room.

Private 

Private room.

Named 

Named room.

◆ GameInitializeResult

The initialization result of the game service.

Enumerator
Success 

Successfully initialized.

Uninitialized 

Not initialized.

NetworkError 

Network error.

InvalidCredentials 

Invalid credentials.

ServiceNotAvaliable 

Game service is not available.

Unknown 

Unknown.

InvalidServerAddr 

Invalid server address.

DupInitialize 

Duplicate initialization.

◆ RoomMembershipLockStatus

Locks/unlocks the membership for a room to allow/disallow new members from being able to join the room. The caller should be the room owner.

Enumerator
Unknown 

Unknown.

Lock 

Lock the membership for the room.

Unlock 

Unlock the membership for the room.

◆ UserOrdering

(Not used)

Enumerator
None 

/

PresenceAlphabetical 

/

◆ AddonsType

enum AddonsType

The type of an add-on.

Enumerator
Invalid 

Invalid.

Durable 

A durable. The add-on is always available once a user buys it.

Consumable 

A consumable. The add-on can be consumed by a user and the user can purchase it again after the current add-on is consumed.

Subscription 

Subscription add-on. Users need to regularly pay subscription fees.

◆ UserPresenceStatus

The user's presence status.

Enumerator
Unknown 

Unknown status.

OnLine 

The user is online.

OffLine 

The user is offline.

◆ Gender

enum Gender

User's gender.

Enumerator
Unknown 

Unknown.

Male 

Male.

Female 

Female.

◆ AssetFileDownloadCompleteStatus

The download progress of the DLC file.

Enumerator
Downloading 

The DLC file is being downloaded.

Succeed 

The DLC file has been downloaded.

Failed 

Failed to download the DLC file.

◆ CancelReason

The reason why the subscription is canceled. Pico.Platform.IAPService.GetSubscriptionStatus will return a subscription status structure. The CancelReason field describes why the subscription is canceled.

Enumerator
None 

None.

UserCancelsExpiration 

The user canceled automatic renewal.

DeductionFailedExpired 

Deduction for automatic renewal failed.

NoMainApplicationInterest 

The user have not purchased the app.

◆ SensitiveProposal

The strategy proposed to handle the text containing sensitive words and the user that creates the text. It's the result of Pico.Platform.ComplianceService.DetectSensitive.

Enumerator
Pass 

Let the text be sent normally as the text does not contain sensitive words.

OnlySelfVisible 

Only the user that creates the text can see it.

UserMute 

Forbid the user from publishing any text for several days.

RejectSubmit 

Prevent the user from submitting the text.

◆ DetectSensitiveScene

Indicates the location within the app where text containing sensitive words can be found. Used for Pico.Platform.ComplianceService.DetectSensitive.

Enumerator
UserName 

Username.

RoomName 

Room name.

RoomChat 

In-room-chat message.

◆ DiscountType

The type of the discount

Enumerator
Invalid 

Invalid.

Null 

No discount.

FreeTrial 

Free trial.

Discount 

Discount.

◆ EntitlementStatus

The entitlement status of a subscription add-on. Used by Pico.Platform.IAPService.GetSubscriptionStatus.

Enumerator
None 

None.

Valid 

The user is entitled to use the subscription add-on.

Invalid 

The user is not entitled to use the subscription add-on.

GracePeriod 

The subscription is in the grace period.

Pause 

The subscription is paused.

Expired 

The subscription has expired.

Cancel 

The user has canceled the subscription. But the current subscription period is still valid.

◆ LaunchType

enum LaunchType

Indicates how an app is launched. You can use it to determine how to parse Pico.Platform.Models.LaunchDetails. See also: Pico.Platform.ApplicationService.GetLaunchDetails.

Enumerator
Unknown 

Unknown.

Normal 

The user clicks on the app's icon to launch it.

RoomInvite 

The user clicks on the room invitation message card to launch the app.

Deeplink 

The user clicks on the presence invitation message card to launch the app.

ChallengeInvite 

The user clicks on the challenge invitation message card to launch the app.

◆ LaunchResult

The app's 'launch result.

Enumerator
Unknown 

Unknown.

Success 

The app is successfully launched.

FailedRoomFull 

Fail to launch the app because the room is full.

FailedGameAlreadyStarted 

Fail to launch the app because the game already starts.

FailedRoomNotFound 

Fail to launch the app because the room is not found.

FailedUserDeclined 

Fail to launch the app because the user declines the request.

FailedOtherReason 

Fail to launch the app because of other reasons.

◆ RtcMuteState

The state of the user's local audio.

Enumerator
Off 

Muted.

On 

On.

◆ RtcPauseResumeMediaType

The type of media to pause or resume.

Enumerator
Audio 

Audio.

Video 

Video.

AudioAndVideo 

Audio and video.

◆ RtcMediaStreamType

The type of media stream.

Enumerator
Audio 

Audio stream.

Video 

Video stream.

Both 

Audio and video stream.

◆ RtcEngineInitResult

RTC engine initialization result.

Enumerator
Unknown 

Unknown

AlreadyInitialized 

Already initialized.

InvalidConfig 

Initialization failed due to invalid configuration.

SdkNotInitialized 

Initialization failed because the platform SDK has not been initialized.

Success 

Successfully initialized.

◆ RtcEarMonitorMode

The status of in-ear monitoring mode.

Enumerator
Off 

Off.

On 

On.

◆ RtcStreamIndex

Stream type.

Enumerator
Main 

Main stream, which means the video and audio screen captured by the camera and microphone respectively.

Screen 

Screen stream, which means the video stream from the screen and the audio stream from the sound card.

◆ RtcSyncInfoStreamType

The type of stream sync info. The stream sync info will be uploaded to the server with the audio data.

Enumerator
Audio 

Audio stream info.

◆ RtcScreenMediaType

The type of screen stream to capture.

Enumerator
VideoOnly 

Only capture video streams.

AudioOnly 

Only capture audio streams.

VideoAndAudio 

Capture both video and audio streams.

◆ RtcAudioScenarioType

Types of audio scenario. See here for more information.

Enumerator
Music 

Music scenario.

HighQualityCommunication 

High-quality calling scenario.

Communication 

Pure call-volume scenario.

Media 

Pure media-volume scenario.

GameStreaming 

Game streaming scenario.

◆ RtcAudioPlaybackDevice

The audio playback device.

Enumerator
Headset 

Headset.

EarPiece 

Earpiece.

SpeakerPhone 

Phone's speaker.

HeadsetBlueTooth 

Bluetooth headset.

HeadsetUsb 

USB headset.

◆ RtcRoomProfileType

The type of the room.

Enumerator
Communication 

Communication room.

LiveBroadcasting 

Live broadcasting room.

Game 

Gaming room.

CloudGame 

Cloud gaming room.

LowLatency 

Low-latency room.

◆ RtcAudioSourceType

Types of audio source.

Enumerator
External 

Custom audio source (not available yet).

Internal 

The SDK's internal audio source.'

◆ RtcAudioSampleRate

Audio sample rate.

Enumerator
Auto 

Auto.

F8000 

8000 Hz.

F16000 

16000 Hz.

F32000 

32000 Hz.

F44100 

44100 Hz.

F48000 

48000 Hz.

◆ RtcAudioChannel

The type of the audio channel.

Enumerator
Auto 

Auto (default).

Mono 

Mono channel.

Stereo 

Stereo channel.

◆ RtcColorSpace

The color space of video frame.

Enumerator
Unknown 

Unknown.

YCbCrBT601LimitedRange 

BT.601 digital encoding standard with a color space of [16-235].

YCbCrBT601FullRange 

BT.601 digital encoding standard with a color space of [0-255].

YCbCrBT709LimitedRange 

BT.7091 digital encoding standard with a color space of [16-235].

YCbCrBT709FullRange 

BT.7091 digital encoding standard with a color space of [0-255].

◆ MatchmakingStatApproach

(beta feature, don't use it)

Enumerator
Unknown 

/

Trailing 

/

Swingy 

/

◆ RtcJoinRoomType

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

Enumerator
First 

It is the first time that the user has joined the room.

Reconnected 

The user is reconnected to the room.

◆ RtcUserLeaveReasonType

The reason why the user leaves the room.

Enumerator
Quit 

The user quits the room.

Dropped 

The user drops out of the room.

◆ RtcMediaDeviceType

The type of the media device.

Enumerator
AudioUnknown 

Unknown audio device.

AudioRenderDevice 

Audio renderer.

AudioCaptureDevice 

Audio capture device.

◆ RtcMediaDeviceState

The state of the media device.

Enumerator
Started 

The device starts working.

Stopped 

The device stops working.

RuntimeError 

Runtime error.

Added 

The device is added.

Removed 

The device is removed.

◆ RtcMediaDeviceError

Types of media device errors.

Enumerator
Ok 

No error.

NoPermission 

No permission to record audio or video.

DeviceBusy 

The device is being used.

DeviceFailure 

Device failure.

DeviceNotFound 

The device is not found.

DeviceDisconnected 

The device is disconnected.

DeviceNoCallback 

The device does not send data to the RTC engine.

UnSupporttedFormat 

The sampling format is not supported.

◆ RtcStreamRemoveReason

The reason why the remote stream is removed.

Enumerator
Unpublish 

The remote user stops publishing streams.

PublishFailed 

The remote user fails to publish streams.

KeepLiveFailed 

Fail to maintain the active state of the stream.

ClientDisconnected 

The remote user is disconnected.

Republish 

The remote user republishes streams.

Other 

Other reasons.

◆ GameConnectionEvent

The events that may take place in networking.

Enumerator
Connected 

Connected.

Closed 

Closed.

Lost 

Reconnecting.

Resumed 

Reconnected.

KickedByRelogin 

Kicked for re-login.

KickedByGameServer 

Kicked by the server.

GameLogicError 

Game logic error.

Unknown 

Unknown.

◆ GameRequestFailedReason

The reasons for failed requests to the game service.

Enumerator
None 

None.

NotInitialized 

Platform services are not initialized.

Uninitialized 

Platform services has been uninitialized.

CurrentlyUnavailable 

The game service is currently unavailable.

CurrentlyUnknown 

Unknown reason.

◆ SportTarget

The purpose of sports.

Enumerator
LoseFat 

To lose weight.

KeepFit 

To keep fit.

◆ PeriodType

enum PeriodType

The period type of the subscription.

Enumerator
Invalid 

Invalid value.

None 

None. A default value for non-subscription add-on.

Hour 

Hourly subscription.

Day 

Daily subscription.

Week 

Weekly subscription.

Month 

Monthly subscription.

Quarter 

Quarterly subscription.

Year 

Annual subscription.

◆ UserRelationType

The relationship between two users. You can call UserService.GetUserRelations to query user relation.

Enumerator
Unknown 

Unknown relationship.

IsFriend 

The queried user is the current user's friend.

NotFriend 

The queried user is not the current user's friend and the current user can send a friend request to the queried user.

Blocked 

The queried user is blocked by the current user.

BlockedBy 

The current user is blocked by the queried user, so the current user cannot send a friend request to the queried user.

ApplyingFriend 

The current user has sent a friend request to the queried user.

◆ PlatformInitializeResult

The initialization result of platform services.

Enumerator
Unknown 

Unknown.

NetError 

Initialization needs to fetch the app's configuration. If the network request fails, this error will occur.

MissingImpl 

SDK depends on some system functions. This error means failed to find implementation.

LoadImplFailed 

Load implementation so failed.

InternalError 

Initialization fails because of unclear reason.

InvalidParams 

The appid param is invalid. Please check the it.

AlreadyInitialized 

The platform SDK has already been initialized.

Success 

The platform SDK is successfully initialized.

◆ ShareMediaType

The type of media to share.

Enumerator
Video 

Videos attached with thumbnails.

Image 

Screenshots.

◆ ShareAppType

The app which the videos or screenshots are shared to.

Enumerator
Douyin 

The Douyin app.

◆ RtcPrivilege

The user needs to pass a token when joining the room. When requesting a token, a map (key-value pair) should be passed. The key is the permission name and the value is the permission's validity time.

Enumerator
PublishStream 

The permission to publish audio and video streams.

PublishAudioStream 

The permission to publish audio streams.

PublishVideoStream 

The permission to publish video streams.

SubscribeStream 

The permission to subscribe to the streams from others.

◆ RtcConnectionState

Indicates whether the local device is connected to the RTC server.

Enumerator
Disconnected 

Disconnected for 12 seconds, and the SDK will try to reconnect.

Connecting 

Connecting.

Connected 

Connected.

Reconnecting 

Reconnecting.

Reconnected 

Reconnected.

Lost 

Remains in the Disconnected status for more than 10 seconds and reconnection attempts during this period are unsuccessful, the SDK will continue trying to reconnect.