Penarikan Layanan game Play

Login pengguna ke game Anda dengan lancar sambil terus menggunakan sistem akun Anda sendiri. Dengan Recall API Layanan game Play, Anda dapat menautkan akun dalam game dengan akun Layanan game Google Play. Kemudian, saat pengguna memainkan game Anda di berbagai perangkat (atau perangkat yang sama setelah menginstal ulang game Anda), Anda akan mengkueri akun dalam game yang ditautkan dan menyederhanakan alur login.

Jika Anda telah melakukan integrasi dengan Android Recall API, Recall API ini akan terlihat familiar. Setiap integrasi sisi server dengan Panggilan Balik Layanan game Play dapat digunakan kembali oleh judul PC karena sama di Android dan PC.

Namespace: PlayPcSdkManaged.Recall

Class Klien: RecallClient

Prasyarat

Tambahkan ID project Layanan game Play di manifes

Setelah menyelesaikan penyiapan Layanan game Play di Konsol Play, game Anda kini memiliki ID project Layanan game Play terkait. Dengan menggunakan project ID ini, yang dapat ditemukan di dalam halaman Konfigurasi Layanan game Play di Konsol Play, perbarui manifest.xml game Anda.

Contoh konten manifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<?Manifest version="1">
   <?Application>
     <?PackageName>com.example.package<?/PackageName>
     <?PlayGamesServices>
          <?ProjectId>123456789<?/ProjectId>
     <?/PlayGamesServices>
   <?/Application>
<?/Manifest>

Catatan: Jika Anda ingin menggunakan PC SDK saat mengembangkan di Unity Editor tanpa perlu menandatangani secara digital file yang dapat dieksekusi game atau meluncurkannya dari Google Play Game. Untuk langkah-langkah konfigurasi manifes tambahan, lihat panduan penyiapan mode developer.

Buat klien

Selalu gunakan factory untuk membuat RecallClient. Hal ini memastikan bahwa callback yang kompatibel dengan Unity didaftarkan secara otomatis.

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();
    }
}

Meminta akses Recall

Saat game Anda menangani alur login, misalnya menambahkan akun dalam game, minta akses Ingatan menggunakan RequestRecallAccessAsync.

Panggilan ini menampilkan ID sesi yang digunakan oleh backend Anda untuk melakukan panggilan sisi server ke Google untuk menautkan dan membatalkan tautan akun dalam game Anda dengan pengguna Layanan game Play.

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);
    }
}

Memproses ID sesi Recall

Setelah game Anda memiliki ID sesi Recall dan telah meneruskannya ke server game backend, gunakan REST API sisi server Play Game untuk:

Untuk panduan yang lebih mendetail yang mencakup integrasi sisi server, lihat dokumentasi yang menjelaskan cara menggunakan Recall API di dalam server game Anda.