Recall API'si

Recall API, oyunların Recall jetonlarını Google sunucularında depolayarak 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 senaryo aşağıda verilmiştir.

  1. Bir kullanıcı, geliştiricinin kullanıcı ilerleme durumunu izlemek için kimlik sistemi kullandığı ve kullanıcıları oyununa kaydetmek için diğer kimlik doğrulama yöntemleriyle paralel olarak PGS'yi kullandığı bir oyun oynuyor. Bu örnekte, bir kullanıcı PGS hesabına (Laura) giriş yapar ve geliştiricinin kimlik sistemiyle Racer94 adlı bir oyun içi hesap oluşturur. Kullanıcı oyunu oynarken geliştiricinin oyun sunucusu, kullanıcının ilerleme durumunu senkronize eder.

    Kullanıcı, PGS ve oyun içi hesapla giriş yapmışsa

  2. Geliştirici ayrıca, 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 göre otomatik olarak depolar.

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

  3. Kullanıcı, oyunu PC Üzerinde Google Play Games'de ilk kez oynamaya karar verir. Kullanıcı, PGS hesabıyla otomatik olarak oturum açar ve oyun istemcisi, bu PGS kullanıcısı için ilerleme olup olmadığını kontrol eder. Ardından oyun sunucusu, 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 hesabını (Racer94) bulmak ve ilerleme durumunu geri yüklemek için bu jetonu kullanır. PGS ile oturum açma işlemi sorunsuz bir deneyim olduğundan kullanıcının ilerleme durumu, kullanıcının kullanıcı adı veya şifre girmesi gerekmeden uygulama tarafından geri yüklenir. Ayrıca geliştirici, mevcut kimlik sistemiyle PGS oturum açma özelliğini kullanabilir ve oyuncu ilerleme durumu ile PGS hesabı arasındaki bağlantıyı Google'ın depolaması için Google'a güvenebilir.

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

Daha önceki örnekte 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.

  • Oyun içi hesaplarını geri yüklemek için kullanıcının jetonunu alma.

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

Kardinalite kuralları

Recall API, PGS profilleri ile oyun içi hesaplar arasında 1:1 ilişki (kardinalite kuralları olarak adlandırılır) uygular. Bu ilişkide, bir karakter yalnızca bir PGS profiline, bir PGS profili de yalnızca bir karaktere bağlanabilir. Hatırlatma 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ı kişi de zaman içinde değişebilir (PGS profiline farklı oyun içi hesaplar bağlandığından).

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

Bu bölümde, geri çağırma jetonlarının depolanması ve alınması sırasında oyun istemcisi ile Google 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ı dener.

Kullanıcı, PGS ile oturum açar

Kullanıcının oturum açtığını varsayarak oyun istemcisinde Games SDK'sından 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 ucu ile iletişim kurmak için kullanılır.

Geliştirici oturum kimliği ister

2. adım: Mevcut geri çağırma jetonlarını alın

PGS kullanıcısının hesabıyla ilişkili geri çağırma jetonlarını isteyin. Jeton varsa 3a adımına geçip ilerlemeyi geri yükleyin. Aksi takdirde, yeni bir kullanıcıysa ve jetonu yoksa 3b adımına geçip 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 çözdükten sonra kullanıcı verilerini geri yükleyin.

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

3b. adım: Jeton yoksa jeton depolayın

Jeton olmadığı için ilerleme durumu geri yüklenmez. Kullanıcı, geliştiricinin kimlik sistemiyle oturum açmaya devam eder veya böyle bir sistem yoksa yeni bir hesap oluşturur. Bu işlem, PGS ile oturum açma işlemi değildir (bu işlem zaten yapılmıştır). PGS dışındaki bir geliştirici kimlik sistemiyle oturum açılır.

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

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

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

  • PGS profili olmayan bir kullanıcının jetonlarını alamazsınız. Kullanıcı ikinci bir cihazda Play Games Hizmetleri ile oyununuza giriş yapmaya çalıştığında profil oluşturma işlemi otomatik olarak istenir.
  • Aşağıdaki öğeleri açıklayan uygun bir bildirim yayınladığınızdan ve uygun son kullanıcı iznini aldığınızdan emin olmak için ek yönergelere uymanı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 çifti depolama

PGS profili olmayan kullanıcı bir oyunu açar

  1. PGS profili olmayan bir kullanıcı, profilsiz geri çağırma özelliğinin etkin olduğu bir oyunu açar.
  2. Games SDK'sı otomatik oturum açma işlemini tetikler. Bu işlem, kullanıcının PGS profili olmadığı için başarısız olur.
  3. Games SDK'sı, kullanıcıya oyunun Google ile entegrasyona sahip olduğunu bildiren bir bilgi çubuğu gösterir. Bu bilgi çubuğunda işlem yapılabilir. Kullanıcı, profil oluşturulana kadar hatırlatmayı devre dışı bırakabilir.
  4. Oyun, geri çağırma erişimi istiyor. PGS, cihazda PGS profili olduğunda veya cihazda Google Hesabı olmadığında geri çağırma erişim isteklerini reddeder. Bu durumda oyun, PGS kullanılmadan devam eder.
  5. Kullanıcı oyun içi 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 eşlemeyi Google'da saklar. Kullanıcı oyun içi diğer hesaplara giriş yaparsa oyun daha sonra daha fazla jeton saklayabilir.

Yeni bir cihazda oyun başlatma

  1. PGS profili olmayan bir kullanıcı, cihazda profilsiz geri çağırma özelliğinin etkin olduğu bir oyunu açar.
  2. Oyun, Jeton ve karakter çifti 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'sı profil oluşturmayı tetikler. Kullanıcı, daha önce depolanan geri çağırma jetonlarını inceleyip reddedebilir. Kullanıcı bu sırada bir PGS profili oluşturur.
  5. PGS'de otomatik oturum açma işlemi tamamlanır ve oyun kimliği doğrulanmış olarak kabul edilir.
  6. Oyun, kullanıcı için geri çağırma jetonlarını her zamanki gibi alır.

Sonraki adımlar

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