ゲーム内で報酬を表示する
Last updated on February 4, 2026
注釈:本資料はAI技術を用いて翻訳されています。
概要
AccelByte Gaming Services(AGS)報酬サービスを使用すると、さまざまな方法でユーザーに報酬を表示できます。ゲーム内で報酬を表示することで、プレイヤーに目指すべき明確な目標を提供できます。このガイドでは、ゲーム内で報酬を表示する方法を学習します。
目標
- 設定された構成に基づいて利用可能な報酬を表示するためにAccelByte SDKを使用する方法を説明する。
前提条件
- AGS管理ポータルへのアクセス。
- AccelByte UnrealまたはUnity SDK(以下の権限を含む):
- クライアントID
- クライアントシークレット
- AccelByteプラットフォームサービスAPIドキュメントへのアクセス。
- 関連するネームスペースに報酬設定が存在する必要があります。
報酬を表示する
報酬設定が完了したら、ゲームUIに単一の報酬または報酬のリストを表示することを選択できます。
単一の報酬を表示する
報酬IDまたはコードを使用して、表示したい報酬情報を取得できます。これは、特定の報酬情報のみをプレイヤーに表示したい場合に適しています。報酬情報を取得するには、以下の関数に従ってください:
報酬IDで取得する
- Unreal Engine
- Unity
Unreal Engine
FString RewardId = TEXT("YourRewardId");
auto ApiClient = AccelByteOnlineSubsystemPtr->GetApiClient();
auto RewardApi = ApiClient->GetRewardApi().Pin();
RewardApi->GetRewardByRewardId(RewardId,
THandler<FAccelByteModelsRewardInfo>::CreateLambda([&](const FAccelByteModelsRewardInfo& Result)
{
// 成功時の処理
}),
FErrorHandler::CreateLambda([](int32 ErrorCode, FString ErrorMessage)
{
// 失敗時の処理
})
);
Unity
var reward = AccelByteSDK.GetClientRegistry().GetApi().GetReward();
string rewardId = "YourRewardId";
reward.GetRewardByRewardId(rewardId, result =>
{
if (result.IsError)
{
// 失敗時の処理
Debug.Log($"Error {result.Error.Code}: {result.Error.Message}");
return;
}
// 成功時の処理
});
報酬コードで取得する
- Unreal Engine
- Unity
Unreal Engine
FString RewardCode = TEXT("YourRewardCode");
auto ApiClient = AccelByteOnlineSubsystemPtr->GetApiClient();
auto RewardApi = ApiClient->GetRewardApi().Pin();
RewardApi->GetRewardByRewardCode(RewardId,
THandler<FAccelByteModelsRewardInfo>::CreateLambda([&](const FAccelByteModelsRewardInfo& Result)
{
// 成功時の処理
}),
FErrorHandler::CreateLambda([](int32 ErrorCode, FString ErrorMessage)
{
// 失敗時の処理
})
);
Unity
var reward = AccelByteSDK.GetClientRegistry().GetApi().GetReward();
string rewardCode = "YourRewardCode";
reward.GetRewardByRewardCode(rewardCode, result =>
{
if (result.IsError)
{
// 失敗時の処理
Debug.Log($"Error {result.Error.Code}: {result.Error.Message}")
return;
}
// 成功時の処理
});
報酬のリストを表示する
ネームスペース内の利用可能な報酬のリストを取得してフィルタリングすることもできます。これは、ゲーム内で利用可能なすべての報酬をプレイヤーに知らせたい場合に適しています。報酬のリストを取得するには、以下の関数に従ってください:
- Unreal Engine
- Unity
Unreal Engine
FString EventTopic = TEXT("YourEventTopic");
int32 Offset = 0;
int32 Limit = 1000;
EAccelByteRewardListSortBy SortBy = EAccelByteRewardListSortBy::REWARDCODE_ASC;
auto ApiClient = AccelByteOnlineSubsystemPtr->GetApiClient();
auto RewardApi = ApiClient->GetRewardApi().Pin();
RewardApi->QueryRewards(EventTopic, Offset, Limit, SortBy,
THandler<FAccelByteModelsQueryReward>::CreateLambda([&](const FAccelByteModelsQueryReward& Result)
{
// 成功時の処理
}),
FErrorHandler::CreateLambda([](int32 ErrorCode, FString ErrorMessage)
{
// 失敗時の処理
})
);
Unity
var reward = AccelByteSDK.GetClientRegistry().GetApi().GetReward();
string eventTopic = "YourEventTopic";
RewardSortBy sortBy = RewardSortBy.REWARDCODE_ASC;
reward.QueryRewards(eventTopic, sortBy, result =>
{
if (result.IsError)
{
// 失敗時の処理
Debug.Log($"Error {result.Error.Code}: {result.Error.Message}")
return;
}
// 成功時の処理
});