Skip to content

Commit 2717c4b

Browse files
committed
Use stored session and email for restarting white label login session
1 parent e6fc475 commit 2717c4b

File tree

2 files changed

+36
-7
lines changed

2 files changed

+36
-7
lines changed

Runtime/Game/LootLockerSDKManager.cs

Lines changed: 34 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -206,9 +206,6 @@ public static void CheckWhiteLabelSession(Action<bool> onComplete)
206206
return;
207207
}
208208

209-
//PlayerPrefs.SetString("LootLockerWhiteLabelSessionToken", response.player_identifier);
210-
//PlayerPrefs.Save();
211-
212209
string existingSessionToken = PlayerPrefs.GetString("LootLockerWhiteLabelSessionToken", "");
213210
if (existingSessionToken == "")
214211
{
@@ -307,6 +304,33 @@ public static void StartWhiteLabelSession(LootLockerWhiteLabelSessionRequest inp
307304
LootLockerAPIManager.WhiteLabelSession(sessionRequest, onComplete);
308305
}
309306

307+
public static void StartWhiteLabelSession(Action<LootLockerSessionResponse> onComplete)
308+
{
309+
if (!CheckInitialized())
310+
{
311+
onComplete?.Invoke(LootLockerResponseFactory.SDKNotInitializedError<LootLockerSessionResponse>());
312+
return;
313+
}
314+
315+
string existingSessionToken = PlayerPrefs.GetString("LootLockerWhiteLabelSessionToken", "");
316+
if (existingSessionToken == "")
317+
{
318+
onComplete(LootLockerResponseFactory.Error<LootLockerSessionResponse>("no session token found"));
319+
return;
320+
}
321+
322+
string existingSessionEmail = PlayerPrefs.GetString("LootLockerWhiteLabelSessionEmail", "");
323+
if (existingSessionEmail == "")
324+
{
325+
onComplete(LootLockerResponseFactory.Error<LootLockerSessionResponse>("no session email found"));
326+
return;
327+
}
328+
329+
LootLockerWhiteLabelSessionRequest sessionRequest = new LootLockerWhiteLabelSessionRequest(existingSessionEmail);
330+
sessionRequest.token = existingSessionToken;
331+
LootLockerAPIManager.WhiteLabelSession(sessionRequest, onComplete);
332+
}
333+
310334
public static void EndSession(string deviceId, Action<LootLockerSessionResponse> onComplete)
311335
{
312336
if (!CheckInitialized())
@@ -363,7 +387,13 @@ public static void WhiteLabelLogin(string email, string password, bool remember,
363387
remember = remember
364388
};
365389

366-
LootLockerAPIManager.WhiteLabelLogin(input, onComplete);
390+
LootLockerAPIManager.WhiteLabelLogin(input, response => {
391+
PlayerPrefs.SetString("LootLockerWhiteLabelSessionToken", response.SessionToken);
392+
PlayerPrefs.SetString("LootLockerWhiteLabelSessionEmail", email);
393+
PlayerPrefs.Save();
394+
395+
onComplete(response);
396+
});
367397
}
368398

369399
/// <summary>

Runtime/Game/Requests/LootLockerSessionRequest.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ public LootLockerWhiteLabelSessionRequest(string email)
5151
[System.Serializable]
5252
public class LootLockerSessionResponse : LootLockerResponse
5353
{
54-
5554
public string session_token { get; set; }
5655
public int player_id { get; set; }
5756
public bool seen_before { get; set; }
@@ -135,7 +134,7 @@ public static void WhiteLabelSession(LootLockerGetRequest data, Action<LootLocke
135134
if (string.IsNullOrEmpty(serverResponse.Error))
136135
{
137136
response = JsonConvert.DeserializeObject<LootLockerSessionResponse>(serverResponse.text);
138-
LootLockerConfig.current.UpdateToken(response.session_token, (data as LootLockerSessionRequest)?.player_identifier);
137+
LootLockerConfig.current.UpdateToken(response.session_token, "");
139138
}
140139

141140
response.text = serverResponse.text;
@@ -214,7 +213,7 @@ public static void EndSession(LootLockerGetRequest data, Action<LootLockerSessio
214213
LootLockerSessionResponse response = new LootLockerSessionResponse();
215214
if (string.IsNullOrEmpty(serverResponse.Error))
216215
response = JsonConvert.DeserializeObject<LootLockerSessionResponse>(serverResponse.text);
217-
216+
218217
//LootLockerSDKManager.DebugMessage(serverResponse.text, !string.IsNullOrEmpty(serverResponse.Error));
219218
response.text = serverResponse.text;
220219
response.success = serverResponse.success;

0 commit comments

Comments
 (0)