Login pengguna ke game dengan lancar sambil terus menggunakan sistem akun Anda sendiri. Dengan Play Games Services Recall API, Anda dapat menautkan akun dalam game dengan akun Layanan game Google Play, lalu saat pengguna memainkan game Anda di perangkat yang berbeda (atau perangkat yang sama setelah menginstal ulang game), Anda membuat kueri akun dalam game tertaut dan menyederhanakan alur login.
Jika Anda telah berintegrasi dengan Android Recall API, Recall API ini akan terlihat familier. Setiap integrasi sisi server dengan Recall Layanan game Play dapat digunakan kembali oleh judul PC karena sama di Android & PC.
Prasyarat
Selesaikan penyiapan SDK.
Baca ringkasan Play Games Services Recall API.
Selesaikan penyiapan Layanan game Google Play di Konsol Play.
Langkah 1: Tambahkan project ID Layanan game Play Anda dalam manifes
Setelah menyelesaikan penyiapan Layanan game Play di Konsol Play, game Anda
kini memiliki ID project Layanan game Play yang 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>
Langkah 2: Minta akses Recall saat login
Saat game Anda menangani alur login, misalnya menambahkan akun
dalam game, minta akses Recall menggunakan
GamesRecallClient::RequestRecallAccess()
.
Panggilan ini menampilkan ID sesi yang digunakan oleh backend Anda untuk melakukan panggilan sisi server ke Google guna menautkan & membatalkan tautan akun dalam game Anda dengan pengguna Layanan game Play.
auto promise = std::make_shared<std::promise<RecallAccessResult>>();
games_recall_client.RequestRecallAccess(params, [promise](RecallAccessResult result) {
promise->set_value(std::move(result));
});
auto recall_access_result = promise->get_future().get();
if (recall_access_result.ok()) {
auto recall_session_id = recall_access_result.value().recall_session_id;
// Pass the recall session ID to your backend game server so it can query
// for an existing linked in-game account.
// - If you discover an existing linked in-game account, continue to sign-in
// the in-game account. This provides a seamless cross-device sign-in
// experience.
// - If there is not an existing linked in-game account, when the user
// completes the sign-in using your in-game account system record the
// account linking with Play Games Services Recall. This helps to provide
// a seamless cross-device sign-in experience when the user returns on a
// different device or after re-installing your game on the same device.
} else {
// Handle the error
}
Langkah 3: 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:
- Membuat kueri untuk akun dalam game tertaut yang ada menggunakan
recall.retrieveTokens
- Menambahkan atau memperbarui akun dalam game tertaut menggunakan
recall.linkPersona
- Menghapus akun dalam game tertaut menggunakan
recall.unlinkPersona
Untuk panduan yang lebih mendetail yang membahas integrasi sisi server, lihat dokumentasi yang membahas cara menggunakan Recall API dalam server game Anda.