שילוב של Recall של Play Games Services באפליקציה

להכניס משתמשים למשחק בצורה חלקה תוך המשך השימוש במערכת החשבונות שלכם. באמצעות ממשקי API של Play Games Services Recall, אתם יכולים לקשר חשבונות במשחק לחשבון ב-Google Play Games Services. כך, כשמשתמש משחק במשחק שלכם במכשירים שונים (או באותו מכשיר אחרי התקנה מחדש של המשחק), אתם שולחים שאילתה לחשבון המקושר במשחק ומפשטים את תהליך הכניסה.

אם כבר שילבתם את ממשקי ה-API של משיכות מוצרים ב-Android, ממשקי ה-API האלה של משיכות מוצרים אמורים להיות מוכרים לכם. אפשר לעשות שימוש חוזר בשילובים בצד השרת עם Recall של Play Games Services במשחקים למחשב, כי הם זהים ב-Android ובמחשב.

דרישות מוקדמות

שלב 1: מוסיפים את מזהה הפרויקט ב-Play Games Services למניפסט

אחרי שתסיימו את ההגדרה של Play Games Services ב-Play Console, למשחק יהיה מזהה פרויקט משויך ב-Play Games Services. משתמשים במזהה הפרויקט הזה, שנמצא בדף ההגדרות של שירותי המשחקים של Play ב-Play Console, כדי לעדכן את manifest.xml של המשחק.

תוכן לדוגמה של 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>

שלב 2: מבקשים גישה ל-Recall בזמן הכניסה לחשבון

כשהמשחק מטפל בתהליך כניסה, למשל הוספת חשבון במשחק, צריך לבקש גישה ל-Recall באמצעות GamesRecallClient::RequestRecallAccess().

הקריאה הזו מחזירה מזהה סשן שמשמש את הקצה העורפי כדי לבצע קריאות ל-Google בצד השרת לקישור ולביטול הקישור של החשבונות במשחק למשתמש ב-Play Games Services.

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
}

שלב 3: עיבוד מזהה הסשן של הקריאה החוזרת

אחרי שמזהה הסשן של הקריאה החוזרת מופיע במשחק ומועברים אותו לשרת המשחק בצד העורפי, אפשר להשתמש בממשקי ה-API ל-REST בצד השרת של Play Games כדי:

  • שליחת שאילתה לגבי חשבונות קיימים שמקושרים למשחק באמצעות recall.retrieveTokens
  • הוספה או עדכון של חשבונות מקושרים במשחק באמצעות recall.linkPersona
  • מחיקת חשבונות מקושרים במשחק באמצעות recall.unlinkPersona

למדריך מפורט יותר בנושא השילוב בצד השרת, אפשר לעיין במסמכי התיעוד בנושא שימוש ב-Recall API בשרת המשחק.