Recall API'si, oyunların Google sunucularında geri çağırma jetonları depolayarak PGS kullanıcıları ile oyun içi hesapları arasındaki bağlantıları yönetmesini sağlar. Aşağıda, Recall API'nin nasıl kullanılabileceğine dair örnek bir senaryo verilmiştir.
Bir kullanıcı, oyun oynarken geliştiricinin kullanıcı ilerlemesini izlemek için bir kimlik sistemi vardır ve kullanıcıların oyununa giriş yapmak için PGS'yi diğer kimlik doğrulama yöntemleriyle paralel olarak kullanır. Bu örnekte, bir kullanıcı Laura PGS hesabına giriş yapar ve geliştiricinin Racer94 kimlik sistemiyle oyun içi hesap oluşturur. Kullanıcı oyunu oynarken, geliştiricinin oyun sunucusu ilerlemeyi senkronize eder.
Ayrıca geliştirici, Google'a kullanıcının oyun içi hesabına karşılık gelen bir geri çağırma jetonu kaydeder. Google, bu geri çağırma jetonunu kullanıcının PGS profiline göre otomatik olarak depolar.
Kullanıcı artık oyunu PC'de GPG'de ilk kez oynamaya karar verir. Kullanıcı, PGS hesabıyla otomatik olarak oturum açar ve oyun istemcisi, bu PGS kullanıcısının ilerleme durumu olup olmadığını kontrol eder. Oyun sunucusu daha sonra bu PGS hesabı için herhangi bir jeton olup olmadığını görmek için Google'ı sorgular. Mevcut olduğu için Google geri çağırma jetonunu geri gönderir ve oyun sunucusu da bu jetonu kullanıcının ilişkili Racer94 hesabını bulmak ve ilerleme durumunu geri yüklemek için kullanır. PGS ile oturum açmak sorunsuz bir deneyim olduğundan, kullanıcının ilerlemesi uygulama tarafından kullanıcı adı veya şifre girmesine gerek kalmadan geri yüklenir. Ayrıca geliştirici, mevcut kimlik sistemleriyle PGS oturum açma özelliğini kullanabilir ve oyuncu ilerleme durumu ile PGS hesabı arasındaki bağlantıyı depolaması için Google'a güvenebilir.
Yukarıdaki örnekte görüldüğü gibi, Recall API'si tarafından gerçekleştirilen iki ana işlem vardır: bir kullanıcı oyun içi hesaplardan biriyle giriş yaptığında jetonu Google ile saklama ve oyun içi hesaplarını geri yüklemek için bir kullanıcı için jetonu alma.
Recall API'si, geri çağırma jetonlarına ek olarak kardinalite kısıtlamalarını uygulamak için oyun içi hesaba karşılık gelen karakter olarak bilinen sabit bir tanımlayıcı gerektirir. Kişiyi, kullanıcının kimlik sistemindeki oyun içi hesabını temsil eden etiket, geri çağırma jetonunu ise kullanıcının oyun içi hesabını oyuna geri yüklemek için kullanılan bir anahtar olarak düşünebilirsiniz. Karakter ve jeton değerleri farklı PGS projelerinde tekrar kullanılmamalıdır. Ayrıca, geri çağırma jetonları zaman içinde değişebilse de bir karakter, kullanıcının oyun içi hesabına göre sabit olmalıdır.
Kardinalite kuralları
Recall API'si, PGS profilleri ile oyun içi hesaplar arasında bire bir ilişki (kardinalite kuralları olarak adlandırılır) uygular. Bu durumda, bir karakter yalnızca bir PGS profiline ve bir PGS profili yalnızca bir karaktere bağlanabilir. Geri çağırma jetonları zaman içinde değişebileceği için karakter, oyun içi hesap için sabit bir tanımlayıcı olarak kullanılır.
PGS profiline bağlı karakterler de zaman içinde değiştirilebilir (çünkü farklı oyun içi hesaplar PGS profiline bağlıdır).
Geri çağırma jetonlarını depolama ve almayla ilgili ayrıntılı teknik akışlar
Bu bölümde, geri çağırma jetonlarını depolarken ve alırken Google sunucuları ile oyun istemcisi ile sunucular arasındaki teknik akış ele alınmaktadır.
1. Adım: PGS Kullanıcısı'nda oturum açın ve oturum kimliğini alın
Oyun, PGS SDK'sını başlatır ve kullanıcının PGS ile oturum açmasını sağlamaya çalışır.
Kullanıcının oturum açtığını varsayarsak oyun istemcisindeki Oyunlar SDK'sından bir oturum kimliği ve Google'ın OAuth arka ucundan OAuth 2.0 jetonu isteyin. Oturum kimliği ve OAuth 2.0 jetonları, Google Games arka ucuyla iletişim kurmak için kullanılır.
2. Adım: Kullanılabilir geri çağırma jetonlarını alın
PGS kullanıcısının hesabıyla ilişkili herhangi bir geri çağırma jetonu isteyin. Jeton varsa 3a Adımına ilerleyin ve ilerlemeyi geri yükleyin. Aksi takdirde, bu yeni bir kullanıcıysa ve jetonu yoksa 3b adımına geçin ve yeni bir jeton depolayın.
3a Adımı: Jeton varsa ilerlemeyi geri yükleyin
Jeton varsa jetonu alın, şifresini çözün ve kullanıcı verilerini geri yükleyin.
3b Adımı: Jeton yoksa bir jeton depolayın
Herhangi bir jeton bulunmadığından ilerleme durumu geri yüklenmez. Kullanıcı, geliştiricinin kimlik sistemiyle oturum açar veya yoksa yeni bir hesap oluşturur. Not: Bu, PGS ile değil (daha önce yapılmış) PGS dışında bir geliştiricinin kimlik sistemiyle oturum açmak için kullanılmaz.
Kullanıcının oyun içi hesabını kodlayan şifrelenmiş bir geri çağırma jetonu oluşturun ve bu jetonu oturum kimliği ve OAuth 2.0 jetonuyla birlikte Google'a gönderin. Bu noktada Google, gönderilen geri çağırma jetonu ile oyuncunun PGS hesabı arasında bir ilişkilendirme oluşturur.
Sonraki adımlar
Recall API'yi istemci ve oyun sunucunuzla entegre etmek için bu kılavuzu uygulayın.