Google Play Games Hizmetleri işlevine erişmek için oyununuzun, kimliği doğrulanmış oyuncunun hesabını sağlaması gerekir. Bu belgede, oyununuzda sorunsuz bir kimlik doğrulama deneyiminin nasıl uygulanacağı açıklanmaktadır.
Play Oyun Hizmetleri v2 SDK'sı, oyununuzda kimliği doğrulanan 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 kimliklerini doğrulayabilir.
- Kullanıcıların, Play Oyun Hizmetleri'nde kimlik doğrulaması yapmak 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 işlemi oyun başladığında otomatik olarak tetiklendiğinden ve hesap yönetimi işletim sistemi ayarlarında yapıldığından istemci kodunun artık kimlik doğrulama veya oturumu kapatma akışını işlemesi gerekmez.
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);
}
Kimlik doğrulama sonucunu alma
Oyununuz başlatıldığında her zaman kullanıcının kimliğini doğrulamaya çalışır. Kullanıcının kimliğini doğrulamak için kullanıcının kimliğinin başarıyla doğrulandığını doğrulamanız ve ardından oyuncu kimliğini almanız gerekir.
Kimlik doğrulama 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 {
// Show a sign-in button to ask players to authenticate. Clicking it should
// call GamesSignInClient.signIn().
}
});
Kullanıcı, oyun başlatıldığında kimlik doğrulaması yapmamayı seçerse Play Games simgesinin bulunduğu bir düğmeyi göstermeye devam etmeniz veya kullanıcıya kimlik doğrulama seçeneklerinden biri olarak Play Games simgesinin bulunduğu bir düğme içeren bir oturum açma ekranı sunmanız ve kullanıcı düğmeye basarsa GamesSignInClient.signIn()
işlevini çağırarak kullanıcının kimliğini tekrar doğrulamaya çalışmanız önerilir.
Kullanıcının kimliğinin doğrulandığını onayladıktan sonra, kullanıcıyı tanımlamak için oyuncu kimliğini alabilirsiniz. Örneğin:
PlayGames.getPlayersClient(activity).getCurrentPlayer().addOnCompleteListener(mTask -> {
// Get PlayerID with mTask.getResult().getPlayerId()
}
);