Play Games Hizmetleri Geri Çağırması

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ı 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ı olduğu için PC oyunlarında yeniden kullanılabilir.

Ad alanı: PlayPcSdkManaged.Recall

İstemci sınıfı: RecallClient

Ön koşullar

Manifest dosyasına 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 Hizmetleri Yapılandırma sayfasında bulabileceğiniz bu proje kimliğini kullanarak oyununuzun manifest.xml dosyası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>

Not: Oyununuzun yürütülebilir dosyasını dijital olarak imzalamanıza veya Google Play Games'den başlatmanıza gerek kalmadan Unity Editor'da geliştirme yaparken PC SDK'sını kullanmak istiyorsanız. Ek manifest yapılandırma adımları için geliştirici modu kurulum kılavuzuna bakın.

İstemciyi oluşturma

RecallClient oluşturmak için her zaman fabrikayı kullanın. Bu, Unity'de güvenli geri çağırmaların otomatik olarak kaydedilmesini sağlar.

using UnityEngine;
using System;
using System.Threading.Tasks;
// Required SDK Namespaces
using PlayPcSdkManaged.Recall;
using PlayPcSdkManaged.Unity;

public class RecallManager : MonoBehaviour
{
    private RecallClient _recallClient;

    public void SetupRecall()
    {
        try
        {
            // Creates the client with the required UnityRecallCallbacksHandler
            _recallClient = PlayPcSdkFactory.CreateRecallClient();
            Debug.Log("Recall Client created successfully.");
        }
        catch (Exception ex)
        {
            Debug.LogError($"Failed to create Recall Client: {ex.Message}");
        }
    }

    private void OnDestroy()
    {
        // Always dispose of the client to clean up native C++ resources
        _recallClient?.Dispose();
    }
}

Recall erişimi isteğinde bulunma

Oyununuz bir oturum açma akışını işlerken (ör. oyuna hesap ekleme) RequestRecallAccessAsync kullanarak Recall erişimi isteyin.

Bu çağrı, arka ucunuz tarafından oyun içi hesaplarınızı Play Games Hizmetleri kullanıcısına bağlamak ve bu hesapların bağlantısını kaldırmak için Google'a sunucu tarafı çağrıları yapmak üzere kullanılan bir oturum kimliği döndürür.

public async Task RequestRecallAccessAsync()
{
    try
    {
        Debug.Log("Requesting Recall access...");

        // Async call to retrieve the session ID
        var result = await _recallClient.RequestRecallAccessAsync();

        if (result.IsOk)
        {
            // On success, access the RecallSessionId
            var sessionId = result.Value.RecallSessionId;
            Debug.Log($"Recall Access Granted! Session ID: {sessionId}");

            // Pass 'sessionId' to your backend server to process account linking
        }
        else
        {
            // Handle expected API errors (e.g., Error)
            Debug.LogError($"Request Failed: {result.Code} - {result.ErrorMessage}");
        }
    }
    catch (Exception ex)
    {
        Debug.LogException(ex);
    }
}

Recall oturum kimliğini işleme

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:

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.