Help trying to Sign in to Play services

Hi, I’am having trouble with this, not sure why but i implemented leaderboards/achievements, but can’t even sign in to play services… here’s more info

-On my phone, when opening play services app, it shows the achievement list of my game which i can press play and it takes me to my game normally (so atleast i done something right)

-I’ve already configured the resources script with Windows > google play games

-This is my script for google play

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using GooglePlayGames.BasicApi;
using GooglePlayGames;
using UnityEngine.SocialPlatforms;

public class PlayServices : MonoBehaviour {


    [SerializeField]
    bool dontDestroyOnLoad;

    void Awake()
    {
        PlayGamesPlatform.Activate();
    }
    void Start()
    {
        if (dontDestroyOnLoad)
        {
            DontDestroyOnLoad(gameObject);
        }

        Social.localUser.Authenticate(success =>{});
        PlayGamesClientConfiguration config = new PlayGamesClientConfiguration.Builder().Build();
        PlayGamesPlatform.InitializeInstance(config);
        PlayGamesPlatform.Activate();


        SignIn();

    }

    void SignIn()
    {
        Debug.Log("Signing In to Play Services");
        Social.localUser.Authenticate(success => {});
    }

    #region Achievements
    public static void UnlockAchievement(string id)
    {
        Social.ReportProgress(id, 100, (bool success) =>
            {
                Debug.Log("Achievement " + id + " Unlocked");
            });
    }

    public static void ShowAchievementsIU()
    {
        if (Social.localUser.authenticated)
        {
            Social.ShowAchievementsUI();
            Debug.Log("Showing Achievements UI");
        }
        else
        {
            Social.localUser.Authenticate(success =>
                {
                });
        }
    }
    #endregion /Achievements

    #region Leaderboards
    public static void AddScoreToLeaderboard(string leaderboardId, long score)
    {
        Social.ReportScore(score, leaderboardId, (bool success) =>
            {
            });

        Debug.Log("Uploaded score: " + score + " to Leaderboard" + leaderboardId);
    }

    public static void ShowLeaderboardsUI()
    {
        if (Social.localUser.authenticated)
        {
            Social.ShowLeaderboardUI();
            Debug.Log("Showing Leaderboard UI");
        }
        else
        {
            Social.localUser.Authenticate(success =>
                {
                });
        }
    }
    #endregion /Leaderboards
}

Have you ensured all of your keys and certificates are exactly the same as the one you used when you registered your app on the Google Play Console?

Be sure you’re in total sync there.

Hello,
I use two scripts, one for Leaderboards an the other for Achievements. A make a singleton and load them in the first screen of the game.

Score.leaderboard_score is the class the service generated with the key you copied from the google play console.
This is for leaderboard:

using UnityEngine;
using UnityEngine.SocialPlatforms;
public class GoogleServiveManager : MonoBehaviour {

    public static GoogleServiveManager instance;

    void Awake() {
        if(null == instance) {
            instance = this;
            DontDestroyOnLoad(this.gameObject);
        } else {
            Destroy(gameObject);
        }
    }

    void Start () {
        GooglePlayGames.PlayGamesPlatform.Activate();
        Login();
    }

    public void Login() {
        Social.localUser.Authenticate((bool success) => {});
    }

    public void AddToLeaderboard(int score) {
        Social.ReportScore(score, Score.leaderboard_score,(bool success) => {});
    }

    public void ShowLeaderboard() {
        if(Social.localUser.authenticated) {
            GooglePlayGames.PlayGamesPlatform.Instance.ShowLeaderboardUI(Score.leaderboard_score);
        } else {
            Login();
        }
    }
}