PICO Platform Unity SDK

AchievementType

The type of an achievement.

Name Description Value
Unknown

Unknown.

0
Simple

Simple achievement.

1
Count

Count achievement.

2
Bitfield

Bitfield achievement.

3

AchievementWritePolicy

The write policy for the achievement.

Name Description Value
Unknown

Unknown.

0
Client

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

1
Server

Only the server is allowed to update achievement progress.

2

KVPairType

The type of a key-value pair.

Name Description Value
String

String.

0
Int

Integer.

1
Double

Both string and integer.

2
Unknown

Unknown.

3

MatchmakingCriterionImportance

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

Name Description Value
Required

Required.

0
High

High.

1
Medium

Medium.

2
Low

Low.

3
Unknown

Unknown.

4

ChallengeCreationType

The creator of the challenge.

Name Description Value
Unknown

Unknown.

0
UserCreated

User.

1
DeveloperCreated

Developer.

2

ChallengeVisibility

Indicates who can see and join the challenge.

Name Description Value
Unknown

Unknown.

0
InviteOnly

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

1
Public

Everyone can see and join the challenge.

2
Private

Only those invited can see and join the challenge.

3

ChallengeViewerFilter

The filter for querying specified challenges.

Name Description Value
Unknown

Unknown.

0
AllVisible

To return the challenges visible to everyone.

1
Participating

To return the challenges only visible to the participants.

2
Invited

To return the challenges only visible to those invited.

3
ParticipatingOrInvited

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

4

LeaderboardFilterType

The type of filter to use when retrieving leaderboard entries.

Name Description Value
None

Do not filter.

0
Friends

Only display the entries of the user's friends.

1
Unknown

Do not filter.

2
UserIds

Display the entries of specific users by specifying user IDs.

3

LeaderboardStartAt

From where to start returning leaderboard entries.

Name Description Value
Top

To return entries from top 1.

0
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.

1
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.

2
Unknown

To returns an empty list.

3

RoomJoinability

The room's joinability.

Name Description Value
Unknown

Unknown

0
AreIn

The user is already in the room.

1
AreKicked

The user is kicked out of the room.

2
CanJoin

Others can join the room.

3
IsFull

The room is full.

4
NoViewer

(Not available, do not use it)

5
PolicyPrevents

The room is not allowed to be joined.

6

RoomJoinPolicy

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

Name Description Value
None

No join policy.

0
Everyone

Anyone is allowed to join the room.

1
FriendsOfMembers

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

2
FriendsOfOwner

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

3
InvitedUsers

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

4
Unknown

No join policy.

5

RoomType

The type of the room.

Name Description Value
Unknown

Unknown.

0
Matchmaking

Matchmaking room.

1
Moderated

Moderated room.

2
Private

Private room.

3
Named

Named room.

4

GameInitializeResult

The initialization result of the game service.

Name Description Value
Success

Successfully initialized.

0
Uninitialized

Not initialized.

1
NetworkError

Network error.

2
InvalidCredentials

Invalid credentials.

3
ServiceNotAvaliable

Game service is not available.

4
Unknown

Unknown.

5
InvalidServerAddr

Invalid server address.

6
DupInitialize

Duplicate initialization.

7

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.

Name Description Value
Unknown

Unknown.

0
Lock

Lock the membership for the room.

1
Unlock

Unlock the membership for the room.

2

UserOrdering

(Not used)

Name Description Value
None

/

0
PresenceAlphabetical

/

1

AddonsType

The type of an add-on.

Name Description Value
Invalid

Invalid.

-1
Durable

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

0
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.

1
Subscription

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

2

UserPresenceStatus

The user's presence status.

Name Description Value
Unknown

Unknown status.

0
OnLine

The user is online.

1
OffLine

The user is offline.

2

Gender

User's gender.

Name Description Value
Unknown

Unknown.

0
Male

Male.

1
Female

Female.

2

AssetFileDownloadCompleteStatus

The download progress of the DLC file.

Name Description Value
Downloading

The DLC file is being downloaded.

0
Succeed

The DLC file has been downloaded.

1
Failed

Failed to download the DLC file.

2

CancelReason

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

Name Description Value
None

None.

0
UserCancelsExpiration

The user canceled automatic renewal.

1
DeductionFailedExpired

Deduction for automatic renewal failed.

2
NoMainApplicationInterest

The user have not purchased the app.

3

SensitiveProposal

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

Name Description Value
Pass

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

0
OnlySelfVisible

Only the user that creates the text can see it.

1
UserMute

Forbid the user from publishing any text for several days.

2
RejectSubmit

Prevent the user from submitting the text.

3

DetectSensitiveScene

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

Name Description Value
UserName

Username.

1
RoomName

Room name.

2
RoomChat

In-room-chat message.

3

DiscountType

The type of the discount

Name Description Value
Invalid

Invalid.

-1
Null

No discount.

0
FreeTrial

Free trial.

1
Discount

Discount.

2

EntitlementStatus

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

Name Description Value
None

None.

0
Valid

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

1
Invalid

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

2
GracePeriod

The subscription is in the grace period.

3
Pause

The subscription is paused.

4
Expired

The subscription has expired.

5
Cancel

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

6

LaunchType

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

Name Description Value
Unknown

Unknown.

0
Normal

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

1
RoomInvite

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

2
Deeplink

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

4
ChallengeInvite

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

5

LaunchResult

The app's 'launch result.

Name Description Value
Unknown

Unknown.

0
Success

The app is successfully launched.

1
FailedRoomFull

Fail to launch the app because the room is full.

2
FailedGameAlreadyStarted

Fail to launch the app because the game already starts.

3
FailedRoomNotFound

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

4
FailedUserDeclined

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

5
FailedOtherReason

Fail to launch the app because of other reasons.

6

RtcMuteState

The state of the user's local audio.

Name Description Value
Off

Muted.

0
On

On.

1

RtcPauseResumeMediaType

The type of media to pause or resume.

Name Description Value
Audio

Audio.

0
Video

Video.

1
AudioAndVideo

Audio and video.

2

RtcMediaStreamType

The type of media stream.

Name Description Value
Audio

Audio stream.

1
Video

Video stream.

2
Both

Audio and video stream.

3

RtcEngineInitResult

RTC engine initialization result.

Name Description Value
Unknown

Unknown

-999
AlreadyInitialized

Already initialized.

-1
InvalidConfig

Initialization failed due to invalid configuration.

-2
SdkNotInitialized

Initialization failed because the platform SDK has not been initialized.

-3
Success

Successfully initialized.

0

RtcEarMonitorMode

The status of in-ear monitoring mode.

Name Description Value
Off

Off.

0
On

On.

1

RtcStreamIndex

Stream type.

Name Description Value
Main

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

0
Screen

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

1

RtcSyncInfoStreamType

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

Name Description Value
Audio

Audio stream info.

0

RtcScreenMediaType

The type of screen stream to capture.

Name Description Value
VideoOnly

Only capture video streams.

0
AudioOnly

Only capture audio streams.

1
VideoAndAudio

Capture both video and audio streams.

2

RtcAudioScenarioType

Types of audio scenario. See  here for more information.

Name Description Value
Music

Music scenario.

0
HighQualityCommunication

High-quality calling scenario.

1
Communication

Pure call-volume scenario.

2
Media

Pure media-volume scenario.

3
GameStreaming

Game streaming scenario.

4

RtcAudioPlaybackDevice

The audio playback device.

Name Description Value
Headset

Headset.

1
EarPiece

Earpiece.

2
SpeakerPhone

Phone's speaker.

3
HeadsetBlueTooth

Bluetooth headset.

4
HeadsetUsb

USB headset.

5

RtcRoomProfileType

The type of the room.

Name Description Value
Communication

Communication room.

0
LiveBroadcasting

Live broadcasting room.

1
Game

Gaming room.

2
CloudGame

Cloud gaming room.

3
LowLatency

Low-latency room.

4

RtcAudioSourceType

Types of audio source.

Name Description Value
External

Custom audio source (not available yet).

0
Internal

The SDK's internal audio source.'

1

RtcAudioSampleRate

Audio sample rate.

Name Description Value
Auto

Auto.

-1
F8000

8000 Hz.

8000
F16000

16000 Hz.

16000
F32000

32000 Hz.

32000
F44100

44100 Hz.

44100
F48000

48000 Hz.

48000

RtcAudioChannel

The type of the audio channel.

Name Description Value
Auto

Auto (default).

-1
Mono

Mono channel.

1
Stereo

Stereo channel.

2

RtcColorSpace

The color space of video frame.

Name Description Value
Unknown

Unknown.

0
YCbCrBT601LimitedRange

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

1
YCbCrBT601FullRange

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

2
YCbCrBT709LimitedRange

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

3
YCbCrBT709FullRange

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

4

MatchmakingStatApproach

(beta feature, don't use it)

Name Description Value
Unknown

/

0
Trailing

/

1
Swingy

/

2

MessageType

Name Description Value
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

RtcJoinRoomType

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

Name Description Value
First

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

0
Reconnected

The user is reconnected to the room.

1

RtcUserLeaveReasonType

The reason why the user leaves the room.

Name Description Value
Quit

The user quits the room.

0
Dropped

The user drops out of the room.

1

RtcMediaDeviceType

The type of the media device.

Name Description Value
AudioUnknown

Unknown audio device.

-1
AudioRenderDevice

Audio renderer.

0
AudioCaptureDevice

Audio capture device.

1

RtcMediaDeviceState

The state of the media device.

Name Description Value
Started

The device starts working.

1
Stopped

The device stops working.

2
RuntimeError

Runtime error.

3
Added

The device is added.

4
Removed

The device is removed.

5

RtcMediaDeviceError

Types of media device errors.

Name Description Value
Ok

No error.

0
NoPermission

No permission to record audio or video.

1
DeviceBusy

The device is being used.

2
DeviceFailure

Device failure.

3
DeviceNotFound

The device is not found.

4
DeviceDisconnected

The device is disconnected.

5
DeviceNoCallback

The device does not send data to the RTC engine.

6
UnSupporttedFormat

The sampling format is not supported.

7

RtcStreamRemoveReason

The reason why the remote stream is removed.

Name Description Value
Unpublish

The remote user stops publishing streams.

0
PublishFailed

The remote user fails to publish streams.

1
KeepLiveFailed

Fail to maintain the active state of the stream.

2
ClientDisconnected

The remote user is disconnected.

3
Republish

The remote user republishes streams.

4
Other

Other reasons.

5

GameConnectionEvent

The events that may take place in networking.

Name Description Value
Connected

Connected.

0
Closed

Closed.

1
Lost

Reconnecting.

2
Resumed

Reconnected.

3
KickedByRelogin

Kicked for re-login.

4
KickedByGameServer

Kicked by the server.

5
GameLogicError

Game logic error.

6
Unknown

Unknown.

7

GameRequestFailedReason

The reasons for failed requests to the game service.

Name Description Value
None

None.

0
NotInitialized

Platform services are not initialized.

1
Uninitialized

Platform services has been uninitialized.

2
CurrentlyUnavailable

The game service is currently unavailable.

3
CurrentlyUnknown

Unknown reason.

4

SportTarget

The purpose of sports.

Name Description Value
LoseFat

To lose weight.

0
KeepFit

To keep fit.

1

PeriodType

The period type of the subscription.

Name Description Value
Invalid

Invalid value.

-1
None

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

0
Hour

Hourly subscription.

1
Day

Daily subscription.

2
Week

Weekly subscription.

3
Month

Monthly subscription.

4
Quarter

Quarterly subscription.

5
Year

Annual subscription.

6

UserRelationType

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

Name Description Value
Unknown

Unknown relationship.

0
IsFriend

The queried user is the current user's friend.

1
NotFriend

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

2
Blocked

The queried user is blocked by the current user.

3
BlockedBy

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

4
ApplyingFriend

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

5

PlatformInitializeResult

The initialization result of platform services.

Name Description Value
Unknown

Unknown.

-999
NetError

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

-6
MissingImpl

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

-5
LoadImplFailed

Load implementation so failed.

-4
InternalError

Initialization fails because of unclear reason.

-3
InvalidParams

The appid param is invalid. Please check the it.

-2
AlreadyInitialized

The platform SDK has already been initialized.

-1
Success

The platform SDK is successfully initialized.

0

ShareMediaType

The type of media to share.

Name Description Value
Video

Videos attached with thumbnails.

0
Image

Screenshots.

1

ShareAppType

The app which the videos or screenshots are shared to.

Name Description Value
Douyin

The  Douyin app.

0

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.

Name Description Value
PublishStream

The permission to publish audio and video streams.

0
PublishAudioStream

The permission to publish audio streams.

1
PublishVideoStream

The permission to publish video streams.

2
SubscribeStream

The permission to subscribe to the streams from others.

3

RtcConnectionState

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

Name Description Value
Disconnected

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

1
Connecting

Connecting.

2
Connected

Connected.

3
Reconnecting

Reconnecting.

4
Reconnected

Reconnected.

5
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.

6