Google Play oyun hizmetleri işlevlerine erişebilmeniz için oyununuzun, oturum açmış oyuncunun hesabını sağlaması gerekir. Bu belgelerde, oyununuzda sorunsuz bir oturum açma deneyimini nasıl uygulayacağınız açıklanmaktadır.
Play Games Hizmetleri v2 SDK'sı, oyununuzda oturum açan kullanıcıların sayısını artıran ve geliştirme sürecini kolaylaştıran çeşitli iyileştirmeler sağlar:
- Kullanıcılar için iyileştirmeler:
- Varsayılan hesabı seçtikten sonra, kullanıcılar bir istemle etkileşime girmek zorunda kalmadan giriş yapar.
- Kullanıcıların artık Play Games Hizmetleri'nde oturum açmak veya yeni bir hesap oluşturmak için Play Games uygulamasını indirmeleri gerekmez.
- Kullanıcılar artık Play Oyun Hizmetleri hesaplarını tek bir sayfadan birden fazla oyun için yönetebilir.
- Geliştiriciler için iyileştirmeler:
- Oyun başladığında giriş otomatik olarak tetiklendiğinden ve hesap yönetimi OS ayarlarından işlendiğinden, istemci kodunun artık oturum açma veya oturum kapatma akışını işlemesi gerekmez.
Play Games Hizmetleri Oturum Açma v2 ile yeni istemci entegrasyonu
Bu bölümde, Play Games Hizmetleri Oturum Açma v2 ile yeni bir istemci entegrasyonunun nasıl yapılacağı gösterilmektedir.
Play Games Hizmetleri SDK bağımlılığını ekleme
Play Game Services SDK 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:+"
}
Play Games Hizmetleri proje kimliğini tanımlayın
Play Games Hizmetleri SDK'sının proje kimliğini uygulamanıza eklemek için aşağıdaki adımları tamamlayın:
Uygulamanızın
AndroidManifest.xml
dosyasında, aşağıdaki<meta-data>
öğesini ve özelliklerini<application>
öğesine ekleyin:<manifest> <application> <meta-data android:name="com.google.android.gms.games.APP_ID" android:value="@string/game_services_project_id"/> </application> </manifest>
Oyunlarınızın Oyun hizmetleri proje kimliğini değer olarak kullanarak
@string/game_services_project_id
Dize kaynak referansını tanımlayın. Oyun hizmetleri proje kimliğinizi Google Play Console'daki Yapılandırma sayfasında yer alan oyun adınızın altında bulabilirsiniz.res/values/strings.xml
dosyanıza bir dize kaynak referansı ekleyin ve değer olarak proje kimliğinizi ayarlayın. Proje kimliğinizi Google Play Console'daki 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
Application
sınıfınızın onCreate(..)
geri çağırmasında 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, her zaman kullanıcının oturum açma girişiminde bulunur. 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 Oynatıcı Kimliğini almanız gerekir.
Oturum açma girişimini doğrulamak için GamesSignInClient.isAuthenticated()
numaralı telefonu arayın ve sonuçları almak için addOnCompleteListener
kodunu 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().
}
});
Oyun başlatıldığında kullanıcı oturum açmamayı seçerse isteğe bağlı olarak Play Oyunlar simgesiyle bir düğme göstermeye devam etmeyi seçebilir ve düğmeye basarsa GamesSignInClient.signIn()
öğesini çağırarak kullanıcının tekrar oturum açmayı deneyebilirsiniz.
Kullanıcının oturum açtığını doğruladıktan sonra, kullanıcıyı tanımlamak için Oynatıcı Kimliği'ni alabilirsiniz. Örneğin:
PlayGames.getPlayersClient(activity).getCurrentPlayer().addOnCompleteListener(mTask -> {
// Get PlayerID with mTask.getResult().getPlayerId()
}
);