I wrote to save the code to share the join code of Relay to each player using playFab's Cloud Script, but it is not saved. please tell me.
js: // joinコードの保存と取得(以下追記) handlers.saveJoinCodeWithMatchId = function (args, context) { var matchId = args.matchId; // マッチIDを引数から取得 var joinCode = args.joinCode;
// マッチIDをキーにしてjoinCodeを保存
var key = "JoinCode_Match_" + matchId;
server.SetTitleData({
Key: key,
Value: joinCode
});
// 成功のメッセージを返す前に、保存された値をログに記録
log.info("Join code saved: " + joinCode + " for matchId: " + matchId);
// 成功のメッセージを返す
return { message: "Join code saved successfully for matchId: " + matchId };
};
handlers.getJoinCodeWithMatchId = function (args, context) { var matchId = args.matchId; // マッチIDを引数から取得
// マッチIDをキーにしてjoinCodeを取得
var key = "JoinCode_Match_" + matchId;
var joinCodeResult = server.GetTitleData({
Keys: [key]
});
// joinCodeを返す前に、取得した値をログに記録
log.info("Join code retrieved: " + joinCodeResult.Data[key] + " for matchId: " + matchId);
// joinCodeが存在するか確認
if (joinCodeResult.Data && joinCodeResult.Data[key]) {
// joinCodeを返す
return { joinCode: joinCodeResult.Data[key] };
} else {
// joinCodeが見つからない場合のメッセージを返す
return { message: "Join code not found for matchId: " + matchId };
}
};
C#: public void SaveJoinCode(string joinCode, string matchId) { Debug.Log($" {matchId}"); var request = new ExecuteCloudScriptRequest { FunctionName = "saveJoinCodeWithMatchId", FunctionParameter = new { joinCode = joinCode, matchId = matchId }, GeneratePlayStreamEvent = true, }; PlayFabClientAPI.ExecuteCloudScript(request, OnCloudScriptSuccess, OnError); }
public void GetJoinCode(string matchId)
{
Debug.Log($" {matchId}");
var request = new ExecuteCloudScriptRequest
{
FunctionName = "getJoinCodeWithMatchId",
FunctionParameter = new { matchId = matchId },
GeneratePlayStreamEvent = true,
};
PlayFabClientAPI.ExecuteCloudScript(request, OnCloudScriptGetJoinCodeSuccess, OnError);
}