public static async Task <score.getList.response.msg> GetScoreList(LeaderboardInfo leaderboard, bool withoutProperty, List <string> player_ids)
        {
            var msg = new score.getList.request.msg();

            msg.leaderboardId = leaderboard.Id;
            msg.seasonSeq     = leaderboard.SeasonSeq;
            msg.playerIds     = player_ids;

            string response = await WebAPIClient.Web.request("", "/leaderboard/score/getList", JsonConvert.SerializeObject(msg));

            if (response == string.Empty)
            {
                return(null);
            }

            var responseMsg = JsonConvert.DeserializeObject <score.getList.response.msg>(response);

            return(responseMsg);
        }
        public static async Task <rank.get.response.msg> GetRank(string player_id, LeaderboardInfo leaderboard, int characterId)
        {
            var msg = new rank.get.request.msg();

            msg.leaderboardId = leaderboard.Id;
            msg.seasonSeq     = leaderboard.SeasonSeq;
            msg.subkey        = characterId.ToString();

            string response = await WebAPIClient.Web.request(player_id, "/leaderboard/rank/get", JsonConvert.SerializeObject(msg));

            if (response == string.Empty)
            {
                return(null);
            }

            var responseMsg = JsonConvert.DeserializeObject <rank.get.response.msg>(response);

            return(responseMsg);
        }
        public void Share()
        {
            var leaderboardInfo = new LeaderboardInfo
            {
                TwitterHandle     = _twitterAccount.ScreenName,
                Score             = _productivityService.Score,
                Language          = _productivityService.Language,
                LastTranslationAt = _productivityService.LastTranslationDate.ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fff'Z'"),
                AppVersion        = "0.2.1"
            };

            var isSharedOnTheLeaderboard = ShareOnLeaderboard(leaderboardInfo);

            if (isSharedOnTheLeaderboard &&
                bool.FalseString.Equals(PluginResources.IsStaging, StringComparison.InvariantCultureIgnoreCase))
            {
                ShareOnTwitter(leaderboardInfo);
            }
        }
    /// <summary>
    /// Initializes this instance.
    /// </summary>
    /// <param name="enableSavedGames">if set to <c>true</c> support saving game progress on the cloud.</param>
    public void Initialize(bool enableSavedGames)
    {
        PlayGamesClientConfiguration.Builder config = new PlayGamesClientConfiguration.Builder();
        if (enableSavedGames)
        {
            config.EnableSavedGames();
        }
        // Initialize Play Games
        PlayGamesPlatform.InitializeInstance(config.Build());
        PlayGamesPlatform.DebugLogEnabled = BuildInfo.IsDebugMode;
        // Activate the Google Play Games platform
        PlayGamesPlatform.Activate();

        // Create instances of achievmements and leaderboards assets
        m_achievements = new AchievementInfo();
        m_leaderboards = new LeaderboardInfo();

        // Set the initialized flag
        m_isInitialized = true;
    }
        public static async Task <rank.getList.response.msg> GetRankList(string player_id, LeaderboardInfo leaderboard, int from, int to, bool readMy, int characterId, bool withoutProperty)
        {
            var msg = new rank.getList.request.msg();

            msg.leaderboardId   = leaderboard.Id;
            msg.seasonSeq       = leaderboard.SeasonSeq;
            msg.fromRank        = from;
            msg.toRank          = to;
            msg.withoutProperty = withoutProperty;
            msg.subkey          = characterId.ToString();
            msg.playerId        = readMy ? player_id : string.Empty;
            msg.cacheProperty   = new rank.getList.request.CacheProperty()
            {
                ttlSec = 10
            };

            string response = await WebAPIClient.Web.request("", "/leaderboard/rank/getList", JsonConvert.SerializeObject(msg));

            if (response == string.Empty)
            {
                return(null);
            }

            var responseMsg = JsonConvert.DeserializeObject <rank.getList.response.msg>(response);

            return(responseMsg);
        }