Recall API'si

Recall API'si, oyunların Google ile oturum açma gibi mevcut oturum açma mekanizmalarının tamamlayıcısı olarak Play Oyun Hizmetleri'ni (PGS) kullanmasına ve ilk katılım kaybını azaltmak ve 1. gün elde tutma oranını artırmak için oyuncuların oturum açma bilgilerini cihazları arasında sorunsuz bir şekilde senkronize etmenize olanak tanır. API, kullanıcının Play Games Hizmetleri (PGS) hesabı ile oyun içi hesapları arasındaki bağlantıları Google sunucularında geri çağırma jetonları depolayarak yönetir. Aşağıda, Recall API'nin nasıl kullanılabileceğine dair örnek bir senaryo verilmiştir:

  1. Bir kullanıcı, oyun oynarken geliştiricinin kullanıcı ilerlemesini izlemek için kimlik sistemi vardır ve kullanıcıların oyuna giriş yapmalarını sağlamak 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 kimlik sistemiyle Racer94 adlı bir oyun içi hesap oluşturur. Kullanıcı oyunu oynarken, geliştiricinin oyun sunucusu ilerleme durumunu senkronize eder.

    Kullanıcı PGS hesabına ve bir oyun içi
hesapla giriş yapmıştır.

  2. Ayrıca geliştirici, kullanıcının oyun içi hesabına karşılık gelen bir geri çağırma jetonunu Google'a kaydeder. Google, bu geri çağırma jetonunu kullanıcının PGS profiline otomatik olarak depolar.

    Oyun sunucusu, geri çağırma jetonunu Google
sunucularıyla saklar.

  3. Kullanıcı artık oyunu ilk kez PC Üzerinde Google Play Games'de oynamaya karar verir. Kullanıcı otomatik olarak PGS hesabıyla oturum açar ve oyun istemcisi, bu PGS kullanıcısı için herhangi bir ilerleme durumu olup olmadığını kontrol eder. Ardından oyun sunucusu, bu PGS hesabı için herhangi bir jeton olup olmadığını görmek için Google'ı sorgular. Bu tür veriler bulunduğundan, Google geri çağırma jetonunu geri gönderir ve oyun sunucusu da kullanıcının ilişkilendirilmiş hesabını (Racer94) bulup ilerleme durumunu geri yüklemek için bu jetonu kullanır. PGS ile oturum açmak sorunsuz bir deneyim olduğundan, kullanıcı adı veya şifre girmesine gerek kalmadan kullanıcının ilerlemesi uygulama tarafından geri yüklenir. Ayrıca geliştirici, mevcut kimlik sistemiyle PGS oturum açma özelliğini kullanabilir ve oyuncunun ilerleme durumu ile PGS hesabı arasındaki bağlantının saklanması için Google'a güvenebilir.

    Oyun sunucusu, geri çağırma jetonuyla
ilerlemeyi geri yükler

Yukarıdaki örnekte görüldüğü gibi, Recall API 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 depolama.
  • Bir kullanıcının oyun içi hesaplarını geri yüklemek için jetonu alma.

Recall API'si, kardinalite kısıtlamalarını uygulamak için geri çağırma jetonlarına ek olarak oyun içi hesaba karşılık gelen karakter olarak bilinen sabit bir tanımlayıcı gerektirir. Karakteri, geliştiricinin kimlik sistemindeki kullanıcının 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ştirilebilir, ancak 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 uygular (kardinalite kuralları olarak adlandırılır). Bu durumda, bir karakter yalnızca bir PGS profiline, bir PGS profili ise yalnızca bir karaktere bağlanabilir. Geri çağırma jetonları zaman içinde değişebileceğinden karakter, oyun içi hesap için sabit bir tanımlayıcı olarak kullanılır.

PGS profiline bağlı karakter, zaman içinde değiştirilebilir (PGS profiline farklı oyun içi hesaplar bağlandığından).

Geri çağırma jetonlarını depolama ve almayla ilgili ayrıntılı teknik akışlar

Bu bölümde, geri çağırma jetonlarını depolama ve alma işlemi sırasında oyun istemcisi, oyun sunucusu ve Google sunucuları arasındaki teknik akış ele alınmaktadır:

1. Adım: PGS Kullanıcısı 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ı PGS ile oturum açar

Kullanıcının oturum açtığını varsayarsak oyun istemcisinde 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.

Geliştirici, bir oturum
kimliği talep eder

2. Adım: Kullanılabilir geri çağırma jetonlarını alın

PGS kullanıcısının hesabıyla ilişkili tüm geri çağırma jetonlarını isteyin. Jeton varsa 3a Adımına geçin ve ilerleme durumunu geri yükleyin. Aksi takdirde, bu yeni bir kullanıcıysa ve jetonu yoksa 3b Adımına ilerleyin ve yeni bir jeton depolayın.

Geliştirici geri çağırma
jetonunu alır

3a Adımı: Jeton mevcutsa ilerleme durumunu geri yükleyin

Jeton varsa jetonu alıp şifresini çözün ve kullanıcı verilerini geri yükleyin.

Geliştirici, geri çağırma jetonundan verileri
geri yükler.

3b Adımı: Jeton yoksa bir jeton depolayın

Herhangi bir jeton bulunmadığından ilerleme geri yüklenmez. Kullanıcı, geliştiricinin kimlik sistemiyle oturum açar veya yoksa yeni bir hesap oluşturur.

Kullanıcı oyun içi hesabıyla
oturum açar

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.

Geliştirici geri çağırma jetonunu depolar

Sonraki adımlar

Recall API'yi istemci ve oyun sunucunuzla entegre etmek için bu uygulama kılavuzunu izleyin.