Recall API'si

Recall API, Google sunucularında Recall jetonları depolayarak oyunların Google Play Games Hizmetleri (PGS) kullanıcıları ile oyun içi hesapları arasındaki bağlantıları yönetmesine olanak tanır. Recall API'nin nasıl kullanılabileceğine dair örnek bir senaryoyu aşağıda bulabilirsiniz.

  1. Bir kullanıcı, geliştiricinin kullanıcı ilerlemesini izlemek için kimlik sistemine sahip olduğu bir oyun oynuyor ve kullanıcıların oyununa giriş yapmasını sağlamak için PGS'yi diğer kimlik doğrulama yöntemleriyle birlikte kullanıyor. Bu örnekte, bir kullanıcı PGS hesabında (Laura) oturum açıyor ve geliştiricinin Racer94 adlı kimlik sistemiyle oyun içi hesap oluşturuyor. Kullanıcı oyunu oynarken geliştiricinin oyun sunucusu, kullanıcının ilerleme durumunu senkronize eder.

    Kullanıcı, PGS ve oyun içi bir hesapla giriş yapmış olmalıdır.

  2. Ayrıca geliştirici, Google ile birlikte bir geri çağırma jetonu kaydeder. Bu jeton, kullanıcının oyun içi hesabıyla eşleşir. Google, bu geri çağırma jetonunu kullanıcının PGS profiline karşı otomatik olarak depolar.

    Oyun sunucusu, geri çağırma jetonunu Google sunucularında depolar.

  3. Kullanıcı, oyunu ilk kez PC'de GPG'de oynamaya karar verir. Kullanıcının kimliği PGS hesabı ile otomatik olarak doğrulanır ve oyun istemcisi, bu PGS kullanıcısı için ilerleme olup olmadığını kontrol eder. Oyun sunucusu daha sonra bu PGS hesabı için jeton olup olmadığını görmek üzere Google'a sorgu gönderir. Bu nedenle, Google geri çağırma jetonunu geri gönderir ve oyun sunucusu, kullanıcının ilişkili Racer94 hesabını bulmak ve ilerlemesini geri yüklemek için bu jetonu kullanır. PGS ile kimlik doğrulama sorunsuz bir deneyim olduğundan, kullanıcının ad veya şifre girmesine gerek kalmadan uygulama tarafından kullanıcının ilerleme durumu geri yüklenir. Ayrıca geliştirici, mevcut kimlik sistemiyle PGS kimlik doğrulamasını kullanabilir ve oyuncu ilerlemesi ile PGS hesabı arasındaki bağlantıyı depolamak için Google'dan yararlanabilir.

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

Daha önce verilen örnekte de görüldüğü gibi, Recall API tarafından gerçekleştirilen iki ana işlem vardır:

  • Kullanıcı, oyun içi hesaplardan biriyle giriş yaptığında jetonu Google'da saklama.

  • Kullanıcının oyun içi hesaplarını geri yüklemek için jetonu alma.

Recall API, geri çağırma jetonlarına ek olarak karakter olarak bilinen, oyun içi hesaba karşılık gelen sabit bir tanımlayıcı da gerektirir. Karakteri, kullanıcının oyun içi hesabını geliştiricinin kimlik sisteminde temsil eden etiket, hatırlama jetonunu ise kullanıcının oyun içi hesabını oyuna geri yüklemek için kullanılan anahtar olarak düşünebilirsiniz. Karakter ve jeton değerleri farklı PGS projelerinde yeniden kullanılmamalıdır. Ayrıca, geri çağırma jetonları zaman içinde değişebilir ancak bir karakter, kullanıcının oyun içi hesabına göre sabit olmalıdır.

Geri çağırma jetonlarını depolama ve alma ile ilgili teknik akışlar

Bu bölümde, hatırlatma jetonları depolanırken ve alınırken oyun istemcisi ile sunucular arasındaki teknik akış Google sunucularıyla birlikte ele alınmaktadır.

1. adım: PGS kullanıcısının kimliğini doğrulayın ve oturum kimliğini alın

Oyun, PGS SDK'sını başlatır ve kullanıcının PGS ile kimliğini doğrulamaya çalışır.

PGS ile kullanıcı kimlik doğrulaması

Kullanıcının kimliğinin doğrulandığını varsayarak oyun istemcisinde Games SDK'dan bir oturum kimliği ve Google'ın OAuth arka ucundan bir OAuth 2.0 jetonu isteyin. Google Games arka ucuyla iletişim kurmak için oturum kimliği ve OAuth 2.0 jetonları kullanılır.

Geliştirici, oturum kimliği istiyor

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 isteğinde bulunma Jeton varsa 3a adımına geçin 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 saklayın.

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

3a adımı: Jeton varsa ilerlemeyi 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 jeton saklayın

Jeton bulunmadığı için ilerleme durumu geri yüklenmez. Kullanıcı, geliştiricinin kimlik sistemiyle platform kimlik doğrulamasına devam eder veya mevcut değilse yeni bir hesap oluşturur. Not: Bu, PGS ile kimlik doğrulama (zaten yapılmış olan) değil, PGS dışındaki bir geliştiricinin kimlik sistemiyle kimlik doğrulamadır.

Kullanıcı, oyun içi hesabıyla kimlik doğrulaması yapar.

Kullanıcının oyun içi hesabını kodlayan şifrelenmiş bir Recall jetonu oluşturun ve oturum kimliği ile 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şki oluşturur.

Geliştirici, geri çağırma jetonunu saklar

PGS profili olmayan kullanıcılar için akışlar

Henüz PGS profili oluşturmamış bir kullanıcının geri çağırma jetonlarını profilsiz modu kullanarak depolayabilirsiniz. Ancak, dikkat edilmesi gereken iki önemli nokta vardır:

  • PGS profili olmayan bir kullanıcı için jeton alamazsınız. Kullanıcı, Play Games Hizmetleri ile oyununuza ikinci bir cihazda giriş yapmaya çalıştığında otomatik olarak profil oluşturma istemi gösterilir.
  • Aşağıdaki öğeleri açıklayan uygun bir bildirime sahip olduğunuzdan ve uygun son kullanıcı iznini aldığınızdan emin olmak için ek yönergeleri uygulamanız gerekir:
    • Play Games hesap bağlama özelliğini etkinleştirmek için verileri Google ile paylaşmanız.
    • Bu paylaşımı yönetmek için Play Games ayarları gibi ayarların kullanılabilirliği.
    • Bu tür verilerin Google Gizlilik Politikası uyarınca işlenmesi.

Jeton ve karakter çiftini saklama

PGS profili olmayan kullanıcı bir oyun açtığında

  1. PGS profili olmayan bir kullanıcı, profilsiz geri çağırma özelliğinin etkin olduğu bir oyunu açar.
  2. Games SDK, otomatik bir platform kimlik doğrulaması tetikler. Kullanıcının PGS profili olmadığı için bu kimlik doğrulama başarısız olur.
  3. Oyun SDK'sı, kullanıcıya oyunun Google ile entegrasyonu olduğunu bildiren bir snackbar gösterir. Bu snackbar üzerinde işlem yapılabilir. Kullanıcı, profil oluşturulana kadar hatırlamayı devre dışı bırakabilir.
  4. Oyun, geri çağırma erişimi istiyor. PGS'nin, cihazda PGS profilleri olduğunda veya cihazda Google Hesabı olmadığında geri çağırma erişim isteklerini reddettiğini unutmayın. Bu durumda, oyun PGS kullanılmadan devam etmelidir.
  5. Kullanıcı, oyun içi bir hesapla giriş yaptıktan sonra oyun, kullanıcı için oyun içi hesabına karşılık gelen bir jeton ve karakter çifti oluşturur. Oyun, bu çifti Google ile birlikte depolar. Kullanıcı, oyun içindeki diğer hesaplarda oturum açarsa oyun daha sonra daha fazla jeton depolayabilir.

Yeni bir cihazda oyun başlatma

  1. PGS profili olmayan bir kullanıcı, profilsiz geri çağırma özelliğinin etkinleştirildiği bir oyunu cihazda açar.
  2. Oyun, Jeton ve karakter çiftini depolama bölümünde açıklandığı gibi profilsiz bir geri çağırma jetonu kaydeder.
  3. Kullanıcı, aynı hesap kurulumuna sahip farklı bir cihazda aynı oyunu açar.
  4. Games SDK, profil oluşturmayı tetikler. Kullanıcı, daha önce depolanmış geri çağırma jetonlarını inceleyip reddedebilir. Kullanıcı bu sırada bir PGS profili oluşturur.
  5. PGS'de otomatik platform kimlik doğrulaması tamamlanır ve oyun, kimliği doğrulanmış durumunu alır.
  6. Oyun, kullanıcının Recall jetonlarını her zamanki gibi alır.

Sonraki adımlar

Recall API'yi istemciniz ve oyun sunucunuzla entegre etmek için bu yönergeleri uygulayın.