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

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

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

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

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

אחרי שמסיימים את ההגדרה של Play Games Services ב-Play Console, למשחק יש עכשיו מזהה פרויקט משויך של Play Games Services. בעזרת מזהה הפרויקט הזה, שאפשר למצוא בדף ההגדרות של Play Games Services ב-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: עיבוד של מזהה סשן Recall

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

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

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