Aby mieć dostęp do funkcji usług gier Google Play, gra musi obsługiwać: na koncie zalogowanego gracza. W tej dokumentacji dowiesz się, jak wdrożyć w swojej grze bezproblemowe logowanie.
Pakiet SDK usług gier Play w wersji 2 zawiera szereg ulepszeń, które zwiększają użytkowników zalogowanych w grze i ułatwiają programowanie:
- Ulepszenia dla użytkowników:
- Po wybraniu konta domyślnego użytkownicy są zalogowani bez konieczności wykonywania wchodzić w interakcję z promptem.
- Użytkownicy nie muszą już pobierać aplikacji Gry Play, aby się logować usług gier Play lub utwórz nowe konto.
- Użytkownicy mogą teraz zarządzać swoimi kontami usług gier Play w wielu grach z jednej strony.
- Ulepszenia dla programistów:
- Kod klienta nie musi już obsługiwać procesu logowania się lub wylogowywania. jest uruchamiana automatycznie po rozpoczęciu gry, a zarządzanie kontem jest obsługiwane w ustawieniach systemu operacyjnego.
Nowa integracja klienta
W tej sekcji dowiesz się, jak przeprowadzić integrację nowego klienta z usługami gier Play Logowanie w wersji 2.
Dodaj zależność
Dodaj zależność pakietu SDK usług gier Play na poziomie głównym aplikacji
build.gradle
. Jeśli używasz Gradle, możesz dodać lub zaktualizować
w następujący sposób:
dependencies {
implementation "com.google.android.gms:play-services-games-v2:+"
}
Zdefiniuj identyfikator projektu
Aby dodać identyfikator projektu pakietu SDK usług gier Play do aplikacji, wykonaj podane niżej czynności. następujące kroki:
W pliku
AndroidManifest.xml
aplikacji dodaj te elementy (<meta-data>
) i atrybuty element<application>
:<manifest> <application> <meta-data android:name="com.google.android.gms.games.APP_ID" android:value="@string/game_services_project_id"/> </application> </manifest>
Określ odwołanie do zasobu ciągu
@string/game_services_project_id
używając identyfikatora projektu w usługach gier w Twoich grach jako wartości. Twoje usługi gier znajdziesz pod nazwą gry na stronie Konfiguracja. w Konsoli Google Play.W pliku
res/values/strings.xml
dodaj odwołanie do zasobu w postaci ciągu znaków i ustaw identyfikator projektu jako wartość. W Konsoli Google Play znajdziesz Project ID (Identyfikator projektu) pod nazwą gry na stronie Configuration (Konfiguracja). Na przykład:<!-- res/values/strings.xml --> <resources> <!-- Replace 0000000000 with your game’s project id. Example value shown above. --> <string translatable="false" name="game_services_project_id"> 0000000000 </string> </resources>
Inicjowanie pakietu SDK
Zainicjuj pakiet SDK Gier Play w wywołaniu zwrotnym onCreate(..)
komponentu Application
zajęcia.
import com.google.android.gms.games.PlayGamesSdk;
...
@Override
public void onCreate(){
super.onCreate();
PlayGamesSdk.initialize(this);
}
Sprawdź wynik logowania
Przy uruchamianiu gra będzie zawsze próbować zalogować użytkownika. Do użytkownik musi sprawdzić, czy udało się zalogować a potem uzyskać identyfikator gracza.
Aby zweryfikować próbę logowania, zadzwoń pod numer GamesSignInClient.isAuthenticated()
i
Użyj addOnCompleteListener
, aby pobrać wyniki. Na przykład:
GamesSignInClient gamesSignInClient = PlayGames.getGamesSignInClient(getActivity());
gamesSignInClient.isAuthenticated().addOnCompleteListener(isAuthenticatedTask -> {
boolean isAuthenticated =
(isAuthenticatedTask.isSuccessful() &&
isAuthenticatedTask.getResult().isAuthenticated());
if (isAuthenticated) {
// Continue with Play Games Services
} else {
// Disable your integration with Play Games Services or show a
// login button to ask players to sign-in. Clicking it should
// call GamesSignInClient.signIn().
}
});
Jeśli użytkownik nie zaloguje się po uruchomieniu gry, możesz opcjonalnie
dalej wyświetlać przycisk z ikoną Gier Play, a następnie spróbować
zaloguj się ponownie, wywołując GamesSignInClient.signIn()
, jeśli użytkownik
naciśnie przycisk.
Po sprawdzeniu, czy użytkownik jest zalogowany, możesz pobrać identyfikator gracza na identyfikować użytkownika. Na przykład:
PlayGames.getPlayersClient(activity).getCurrentPlayer().addOnCompleteListener(mTask -> {
// Get PlayerID with mTask.getResult().getPlayerId()
}
);