| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- /*******************************************************************************
- Copyright © 2015-2022 PICO Technology Co., Ltd.All rights reserved.
- NOTICE:All information contained herein is, and remains the property of
- PICO Technology Co., Ltd. The intellectual and technical concepts
- contained herein are proprietary to PICO Technology Co., Ltd. and may be
- covered by patents, patents in process, and are protected by trade secret or
- copyright law. Dissemination of this information or reproduction of this
- material is strictly forbidden unless prior written permission is obtained from
- PICO Technology Co., Ltd.
- *******************************************************************************/
- using System;
- namespace Pico.Platform.Models
- {
- /// <summary>App launch details.</summary>
- public class LaunchDetails
- {
- /// 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 \ref ApplicationService.LaunchApp
- /// * `ChallengeInvite`: launched by clicking the challenge invitation message card
- ///
- public readonly LaunchType LaunchType;
- /// Deeplink message. You can pass a deeplink when you call \ref ApplicationService.LaunchApp,
- /// and the other app will receive the deeplink.This field will have a value only when `LaunchType` is `LaunchApp`.
- public readonly string DeeplinkMessage;
- /// 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.
- public readonly string DestinationApiName;
- /// 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.
- public readonly string LobbySessionID;
- /// 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.
- public readonly string MatchSessionID;
- /** 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.
- */
- public readonly string Extra;
- /// Room ID.For a room invitation, after calling \ref RoomService.InviteUser, this field will be passed when the invitee clicks on the message card.
- public readonly UInt64 RoomID;
- /// For a challenge invitation, after calling \ref ChallengesService.Invite, this field will be passed when the invitee clicks on the message card.
- public readonly UInt64 ChallengeID;
- /// Tracking ID.
- public readonly string TrackingID;
- public LaunchDetails(IntPtr o)
- {
- DeeplinkMessage = CLIB.ppf_LaunchDetails_GetDeeplinkMessage(o);
- DestinationApiName = CLIB.ppf_LaunchDetails_GetDestinationApiName(o);
- LobbySessionID = CLIB.ppf_LaunchDetails_GetLobbySessionID(o);
- MatchSessionID = CLIB.ppf_LaunchDetails_GetMatchSessionID(o);
- Extra = CLIB.ppf_LaunchDetails_GetExtra(o);
- RoomID = CLIB.ppf_LaunchDetails_GetRoomID(o);
- ChallengeID = CLIB.ppf_LaunchDetails_GetChallengeID(o);
- TrackingID = CLIB.ppf_LaunchDetails_GetTrackingID(o);
- LaunchType = CLIB.ppf_LaunchDetails_GetLaunchType(o);
- }
- }
- /// <summary>
- /// The system information of the device.
- /// </summary>
- public class SystemInfo
- {
- /** The current ROM version (i.e., system version) of the device, such as "5.5.0" and "5.6.0".*/
- public readonly string ROMVersion;
- /** The locale of the device. Locale is combined with language and country code. Such as "zh-CN" and "en-US".*/
- public readonly string Locale;
- /** The product name of the device, such as "PICO 4".*/
- public readonly string ProductName;
- /** Whether the device's ROM is CN version. PICO provides different ROM versions in different countries/regions.*/
- public readonly bool IsCnDevice;
- /** The Matrix's version name. Matrix is a system app which provides system functions for platform services.*/
- public readonly string MatrixVersionName;
-
- /** The Matrix's version code. */
- public readonly long MatrixVersionCode;
- public SystemInfo(IntPtr o)
- {
- ROMVersion = CLIB.ppf_SystemInfo_GetROMVersion(o);
- Locale = CLIB.ppf_SystemInfo_GetLocale(o);
- ProductName = CLIB.ppf_SystemInfo_GetProductName(o);
- IsCnDevice = CLIB.ppf_SystemInfo_GetIsCnDevice(o);
- MatrixVersionName = CLIB.ppf_SystemInfo_GetMatrixVersionName(o);
- MatrixVersionCode = CLIB.ppf_SystemInfo_GetMatrixVersionCode(o);
- }
- }
- /// <summary>
- /// App's version info.
- /// </summary>
- public class ApplicationVersion
- {
- /// The current version code of the installed app.
- public readonly long CurrentCode;
- /// The current version name of the installed app.
- public readonly string CurrentName;
- /// The latest version code of the app in the PICO Store.
- public readonly long LatestCode;
- /// The latest version name of the app in the PICO Store.
- public readonly string LatestName;
- public ApplicationVersion(IntPtr o)
- {
- CurrentCode = CLIB.ppf_ApplicationVersion_GetCurrentCode(o);
- CurrentName = CLIB.ppf_ApplicationVersion_GetCurrentName(o);
- LatestCode = CLIB.ppf_ApplicationVersion_GetLatestCode(o);
- LatestName = CLIB.ppf_ApplicationVersion_GetLatestName(o);
- }
- }
- }
|