Google Play Games Hizmetleri işlevlerine erişmek için oyununuzun, oturum açmış oyuncunun hesabını sağlaması gerekir. Bu belgede, oyununuzda sorunsuz bir oturum açma deneyiminin nasıl uygulanacağı açıklanmaktadır.
Play Oyun Hizmetleri v2 SDK'sı, oyununuza giriş yapan kullanıcı sayısını artıran ve geliştirme sürecini kolaylaştıran çeşitli iyileştirmeler sunar:
- Kullanıcılar için iyileştirmeler:
- Varsayılan bir hesap seçtikten sonra kullanıcılar, istemle etkileşime girmelerine gerek kalmadan oturum açar.
- Kullanıcıların Play Oyun Hizmetleri ile oturum açmak veya yeni bir hesap oluşturmak için Play Oyunlar uygulamasını indirmesi gerekmez.
- Kullanıcılar artık tek bir sayfadan birden fazla oyun için Play Oyun Hizmetleri hesaplarını yönetebilir.
- Geliştiriciler için iyileştirmeler:
- Oturum açma veya kapatma akışının artık istemci kodu tarafından işlenmesi gerekmez. Oturum açma işlemi oyun başladığında otomatik olarak tetiklenir ve hesap yönetimi işletim sistemi ayarlarında yapılır.
Yeni istemci entegrasyonu
Bu bölümde, Play Games Hizmetleri ile yeni bir istemci entegrasyonunun nasıl yapılacağı gösterilmektedir. Oturum Açma v2
Bağımlılığı ekleme
Play Oyun Hizmetleri SDK'sı bağımlılığını uygulamanızın kök düzeyindeki
build.gradle
dosyasına ekleyin. Gradle kullanıyorsanız bağımlılığı aşağıdaki şekilde ekleyebilir veya güncelleyebilirsiniz:
dependencies {
implementation "com.google.android.gms:play-services-games-v2:+"
}
Proje kimliğini tanımlayın
Play Oyun Hizmetleri SDK'sı proje kimliğini uygulamanıza eklemek için aşağıdaki adımları tamamlayın:
Uygulamanızın
AndroidManifest.xml
dosyasında,<application>
öğesine aşağıdaki<meta-data>
öğesini ve özellikleri ekleyin:<manifest> <application> <meta-data android:name="com.google.android.gms.games.APP_ID" android:value="@string/game_services_project_id"/> </application> </manifest>
Değer olarak oyunlarınızın Oyun Hizmetleri proje kimliğini kullanarak
@string/game_services_project_id
String kaynağı referansını tanımlayın. Games Hizmetleri proje kimliğinizi, Google Play Console'daki Yapılandırma sayfasında oyun adınızın altında bulabilirsiniz.res/values/strings.xml
dosyanıza bir dize kaynağı referansı ekleyin ve proje kimliğinizi değer olarak ayarlayın. Google Play Console'da proje kimliğinizi Yapılandırma sayfasındaki oyun adınızın altında bulabilirsiniz. Örneğin:<!-- 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>
SDK'yı başlatma
onCreate(..)
sınıfınızın Application
geri çağırma işlevinde Play Games SDK'sını başlatın.
import com.google.android.gms.games.PlayGamesSdk;
...
@Override
public void onCreate(){
super.onCreate();
PlayGamesSdk.initialize(this);
}
Oturum açma sonucunu alma
Oyununuz başlatıldığında kullanıcı her zaman oturum açmaya çalışır. Kullanıcının kimliğini doğrulamak için kullanıcının başarıyla oturum açtığını doğrulamanız ve ardından oyuncu kimliğini almanız gerekir.
Oturum açma girişimini doğrulamak için GamesSignInClient.isAuthenticated()
numarasını arayın ve sonuçları almak için addOnCompleteListener
tuşunu kullanın. Örneğin:
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().
}
});
Kullanıcı, oyun başlatıldığında oturum açmamayı seçerse isteğe bağlı olarak Play Games simgesinin bulunduğu bir düğmeyi göstermeye devam edebilir ve kullanıcı düğmeye bastığında GamesSignInClient.signIn()
işlevini çağırarak kullanıcının oturumunu tekrar açmayı deneyebilirsiniz.
Kullanıcının oturum açtığını doğruladıktan sonra, kullanıcıyı tanımlamak için Player ID'yi alabilirsiniz. Örneğin:
PlayGames.getPlayersClient(activity).getCurrentPlayer().addOnCompleteListener(mTask -> {
// Get PlayerID with mTask.getResult().getPlayerId()
}
);