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

Müşteri sınıfı: RecallClient

Ön koşullar

Manifest dosyasına Play Oyun Hizmetleri proje kimliğinizi ekleyin

Play Console'da Play Games Hizmetleri kurulumunu tamamladıktan sonra oyununuzla ilişkili bir Play Games Hizmetleri proje kimliği olur. Play Console'daki Play Games Hizmetleri Yapılandırma sayfasında bulabileceğiniz bu proje kimliğini kullanarak oyununuzun manifest.xml bölümü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: Unity Editor'da geliştirme yaparken oyununuzun yürütülebilir dosyasını dijital olarak imzalamanıza veya Google Play Games'den başlatmanıza gerek kalmadan 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. oyun içi 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);
    }
}

Geri Çağırma 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 konusunu ele alan dokümanlara bakın.