Kendi hesap sisteminizi kullanmaya devam ederken kullanıcıların oyununuzda sorunsuz bir şekilde oturum açmasını sağlayın. Play Games Hizmetleri Recall API'leri ile oyun içi hesapları bir Google Play Games Hizmetleri hesabına bağlayabilirsiniz. Ardından, bir kullanıcı oyununuzu farklı cihazlarda (veya oyununuzu yeniden yükledikten sonra aynı cihazda) oynadığında bağlı oyun içi hesabı sorgular ve oturum açma akışını kolaylaştırırsınız.
Android Recall API'leri ile entegrasyon yaptıysanız bu Recall API'leri size tanıdık gelecektir. Play Games Hizmetleri Geri Çağırma ile yapılan tüm sunucu tarafı entegrasyonları, hem Android hem de PC'de aynı oldukları için PC oyunlarında yeniden kullanılabilir.
Ön koşullar
SDK kurulumunu tamamlayın.
Play Games Hizmetleri Recall API'ye genel bakışı okuyun.
Play Console'da Google Play Oyun Hizmetleri kurulumunu tamamlayın.
1. adım: Manifeste Play Games Hizmetleri proje kimliğinizi ekleyin
Play Console'da Play Games Hizmetleri kurulumunu tamamladıktan sonra oyununuz artık ilişkili bir Play Games Hizmetleri proje kimliğine sahip olur. Play Console'daki Play Games Hizmeti'nin yapılandırma sayfasında bulunan bu proje kimliğini kullanarak oyununuzun manifest.xml bölümünü güncelleyin.
Örnek manifest.xml içerikleri:
<?xml version="1.0" encoding="utf-8"?>
<Manifest version="1">
<Application>
<PackageName>com.example.package</PackageName>
<PlayGamesServices>
<ProjectId>123456789</ProjectId>
</PlayGamesServices>
</Application>
</Manifest>
2. adım: Oturum açarken Recall erişimi isteyin
Oyununuz bir oturum açma akışını işlerken (ör. oyuna hesap ekleme) GamesRecallClient::RequestRecallAccess() kullanarak Recall erişimi isteyin.
Bu çağrı, oyun içi hesaplarınızı Play Games Hizmetleri kullanıcısıyla bağlamak ve bağlantısını kaldırmak için sunucu tarafında Google'a yapılan çağrılarda arka uç tarafından kullanılan bir oturum kimliği döndürür.
auto promise = std::make_shared<std::promise<RecallAccessResult>>();
games_recall_client.RequestRecallAccess(params, [promise](RecallAccessResult result) {
promise->set_value(std::move(result));
});
auto recall_access_result = promise->get_future().get();
if (recall_access_result.ok()) {
auto recall_session_id = recall_access_result.value().recall_session_id;
// Pass the recall session ID to your backend game server so it can query
// for an existing linked in-game account.
// - If you discover an existing linked in-game account, continue to sign-in
// the in-game account. This provides a seamless cross-device sign-in
// experience.
// - If there is not an existing linked in-game account, when the user
// completes the sign-in using your in-game account system record the
// account linking with Play Games Services Recall. This helps to provide
// a seamless cross-device sign-in experience when the user returns on a
// different device or after re-installing your game on the same device.
} else {
// Handle the error
}
3. adım: Geri çağırma oturumu kimliğini işleyin
Oyununuzda Recall oturum kimliği bulunduktan ve bu kimlik arka uç oyun sunucunuza iletildikten sonra Play Games sunucu tarafı REST API'lerini kullanarak şunları yapabilirsiniz:
recall.retrieveTokenskullanarak mevcut bağlı oyun içi hesapları sorgulamarecall.linkPersonasimgesini kullanarak bağlı oyun içi hesapları ekleme veya güncellemerecall.unlinkPersonakullanarak bağlı oyun içi hesapları silme
Sunucu tarafı entegrasyonunu kapsayan daha ayrıntılı bir kılavuz için Recall API'yi oyun sunucunuzda kullanma ile ilgili dokümanlara bakın.