Achievements インターフェース

ユーザー ベースの Epic Online Services アチーブメントを確認およびロック解除するためのインターフェースです。

このページ中

Achievements インターフェース は、プレイヤーのアチーブメント関するデータを取得したり、そのプレイヤーの Epic Online Services アチーブメントをロック解除したり、アプリケーションに属するすべての Epic Online Services アチーブメントに関するデータを取得したりする方法をデベロッパーに提供します。

EOS SDK バージョン 1.8 以降、アチーブメント アイコンの処理方法が更新されました。1.7 から 1.8 に移行した場合は中断は発生しないはずですが、一部のアイコンがデフォルトの状態に戻る可能性があります。そのような表示になった場合は、アカウント担当者にサポート依頼をしてください。

Achievements インターフェースにアクセスする

Achievements インターフェースにアクセスするには、EOS_Platform_GetAchievementsInterface 関数を呼び出して EOS_HAchievements ハンドルを取得する必要があります。他のすべてのインターフェースと同様に、リクエストが完了したときに適切なコールバックが確実にトリガーされるように、EOS_HPlatform ハンドルが動作していることが重要となります。

Epic Online Services アチーブメントの定義

Epic Online Services アチーブメントに関するデータを取得したり、手動でロックを解除したりするには、まず Developer Portal (デベロッパーポータル) で Epic Online Services アチーブメントを定義する必要があります。

Epic Online Services アチーブメント定義において LATEST 集約タイプはサポートしなくなりました。以下の影響があります。

  • 集約タイプ LATEST を使ったスタッツを作成することはできます。

  • ただし、集約タイプ LATEST を使ったスタッツを参照する Epic Online Services アチーブメントを作成することはできません。

  • 集約タイプ LATEST を使ったスタッツを参照する Epic Online Services アチーブメントがすでにある場合、編集はまだ行うことができます。

Epic Online Services アチーブメントの定義データを取得すると、次のパラメータを持つ構造体 EOS_Achievements_DefinitionV2 に含まれます。

EOS_Achievements_DefinitionV2

パラメータ

説明

ApiVersion

EOS_ACHIEVEMENTS_DEFINITIONV2_API_LATEST

AchievementId

アチーブメントを一意に識別するために使用できるアチーブメント ID。

UnlockedDisplayName

ロック解除されたときのローカライズされたアチーブメントの表示名。

UnlockedDescription

ロック解除されたときのローカライズされたアチーブメントの説明。

LockedDisplayName

ロックされているときのローカライズされたアチーブメントの表示名。

LockedDescription

ロックされているときのローカライズされたアチーブメントの説明。

FlavorText

ゲームが任意の方法で使用できるローカライズされたフレーバー テキスト。Developer Portal でデータが設定されていない場合、これは null になる可能性があります。

UnlockedIconURL

ロック解除されたときにアチーブメントに表示するアイコンの URL。Developer Portal でデータが設定されていない場合、この値は null になり、ソーシャル オーバーレイ はデフォルト画像を使用します。

LockedIconURL

ロックされているか非表示になっているときにアチーブメントに表示するアイコンの URL。Developer Portal でデータが設定されていない場合、この値は null になり、ソーシャル オーバーレイ はデフォルト画像を使用します。

bIsHidden

アチーブメントが非表示の場合は EOS_TRUE、それ以外の場合は EOS_FALSEEOS_TRUE に設定する場合、ソーシャル オーバーレイ はアチーブメントがロックされている間は表示名に "Hidden Achievement" および説明に空の文字列を使用します。しかしながら、この構造体内の LockedDisplayNameLockedDescription の値は変わりません。

StatThresholdsCount

このアチーブメントに対する進行状況を監視するために使用されるスタッツしきい値の数。

StatThresholds

この Epic Online Services アチーブメントのロックを解除するために満たす必要がある EOS_Achievements_StatThresholds の配列。名前としきい値で構成されています。

Epic Online Services アチーブメント定義をクエリする

関数 EOS_Achievements_QueryDefinitions を使用して、アプリケーションの Developer Portal で作成したすべての Epic Online Services アチーブメント定義の配列を取得できます。

Epic Online Services アチーブメントに関するデータを取得したり、手動でロックを解除したりするには、まず Developer Portal (デベロッパーポータル) で Epic Online Services アチーブメントを定義する必要があります。

クエリが完了すると、Epic Online Services アチーブメントの定義は関数から返されるのではなく、ローカルにキャッシュされます。そして、EOS_Achievements_CopyAchievementDefinitionV2ByIndex または EOS_Achievements_CopyAchievementDefinitionV2ByAchievementId を使用してキャッシュにアクセスし、EOS_Achievements_DefinitionV2 のコピーを取得できます。その際、これらのコピーされた定義を保存するには、EOS_Achievements_DefinitionV2_Release を使用してメモリを解放する必要があります。 Epic Online Services アチーブメントのコピーの詳細については、以下の「キャッシュされたアチーブメント定義をコピーする」セクションを参照してください。

EOS_Achievements_QueryDefinitions は次のパラメータを取ります。

EOS_Achievements_QueryDefinitions

パラメータ

説明

Handle

有効な EOS_HAchievements ハンドル。

Options

ローカライズされたテキストの取得に関連するデータと、返されるデータの種類に関する EOS_Achievements_QueryDefinitionsOptions オプションを含む構造体。

ClientData

CompletionDelegate で返される任意のデータ。

CompletionDelegate

EOS_Achievements_OnQueryDefinitionsCompleteCallback と一致するシグネチャを使用した操作の完了時に呼び出される関数。

EOS_Achievements_QueryDefinitionsOptions

ApiVersion

EOS_ACHIEVEMENTS_QUERYDEFINITIONS_API_LATEST に設定します。

LocalUserId

定義をクエリするユーザーの製品ユーザー ID。

EpicUserId

非推奨です。null に設定する必要があります。

HiddenAchievementIds

非推奨。null に設定する必要があります。

HiddenAchievementsCount

非推奨。ゼロに設定する必要があります。

クエリが成功した場合、この関数は EOS_SuccessEOS_EResult 値を返します。その他の結果の場合は、エラーまたは不正なパラメータであることを示します。

クエリは LocalUserId を使用してユーザーの ロケール を決定します。これは、ユーザーがリンクされた Epic Online Services アカウント ID を持っている場合にローカライズされたテキストを返すために使用されます。 また、 EOS_Platform_SetOverrideLocaleCode を呼び出して、選択したロケールを使用して Epic Online Services アチーブメント情報を取得するようシステムに強制することもできます。

クエリ定義の完全なコールバック

コールバック関数 EOS_Achievements_OnQueryDefinitionsCompleteCallback は、クエリを定義する操作が完了し、EOS_Achievements_OnQueryDefinitionsCompleteCallbackInfo 構造体を返すときに呼び出されます。コールバック情報には、ResultCode と、ClientData パラメータを使用して EOS_Achievements_QueryDefinitionsOptions で設定されたクライアント データが含まれます。

キャッシュされた Epic Online Services アチーブメント定義をコピーする

EOS_Achievements_QueryDefinitions 操作が完了すると、 Epic Online Services アチーブメントの定義はローカルにキャッシュされます。そして、EOS_Achievements_CopyAchievementDefinitionV2ByIndex または EOS_Achievements_CopyAchievementDefinitionV2ByAchievementId を使用して、EOS_Achievements_DefinitionV2 のコピーを取得できます。

キャッシュされた Epic Online Services アチーブメントの数を取得する

GetAchievementDefinitionCount 関数を使用して、キャッシュされた利用可能な Epic Online Services アチーブメントの数を取得できます。この関数は、カウントを整数として返し、EOS_Achievements_GetAchievementDefinitionCountOptions 構造体をパラメータとして受け取ります。

EOS_Achievements_GetAchievementDefinitionCountOptions 構造体自体は ApiVersion パラメータのみを受け取ります。これは EOS_ACHIEVEMENTS_GETACHIEVEMENTDEFINITIONCOUNT_API_LATEST の値に設定する必要があります。

インデックスで Epic Online Services アチーブメントの定義をコピーする

関数 EOS_Achievements_CopyAchievementDefinitionV2ByIndex は、キャッシュされた Epic Online Services アチーブメント リスト内のインデックス値を使用して EOS_Achievements_DefinitionV2 のコピーを取得し、そのコピーを出力パラメータ OutDefinition を介して出力します。この関数が取るパラメータを以下に示します。

EOS_Achievements_CopyAchievementDefinitionV2ByIndex

パラメータ

説明

Handle

有効な EOS_HAchievements ハンドル。

Options

キャッシュからコピーするためにリクエストされたインデックスを含む EOS_Achievements_CopyAchievementDefinitionV2ByIndexOptions 構造体。

OutDefinition

リクエストされた EOS_Achievements_DefinitionV2 のコピーを含む出力パラメータ。OutDefinition に有効なデータが含まれている場合は、このデータで EOS_Achievements_DefinitionV2_Release を呼び出してメモリから解放する必要があります。

EOS_Achievements_CopyAchievementDefinitionV2ByIndexOptions

ApiVersion

EOS_ACHIEVEMENTS_COPYDEFINITIONV2BYINDEX_API_LATEST

AchievementIndex

キャッシュから取得するアチーブメント定義のインデックス。

この関数は、情報が利用可能で OutDefinition に渡された場合、EOS_Success の値を持つ EOS_EResult を返します。出力パラメータに null ポインタを渡すと、EOS_InvalidParameters が返されます。リクエストされたアチーブメント定義が見つからない場合は、EOS_NotFound を返します。

ID でアチーブメント定義をコピーする

関数 EOS_Achievements_CopyAchievementDefinitionV2ByAchievementId は、アチーブメントのキャッシュで指定された AchievementId と一致するアチーブメントを検索し、そのデータのコピーを出力パラメータ OutDefinition を介して出力します。この関数が取るパラメータを以下に示します。

EOS_Achievements_CopyAchievementDefinitionV2ByAchievementId

パラメータ

説明

Handle

有効な EOS_HAchievements ハンドル。

Options

キャッシュを検索するアチーブメント ID を含む EOS_Achievements_CopyAchievementDefinitionV2ByAchievementIdOptions 構造体。

OutDefinition

リクエストされた EOS_Achievements_DefinitionV2 のコピーを含む出力パラメータ。OutDefinition に有効なデータが含まれている場合は、このデータで EOS_Achievements_DefinitionV2_Release を呼び出してメモリから解放する必要があります。

CopyAchievementDefinitionV2ByAchievementIdOptions

ApiVersion

EOS_ACHIEVEMENTS_COPYDEFINITIONV2BYACHIEVEMENTID_API_LATEST に設定します。

AchievementId

キャッシュからアチーブメントをコピーするときに検索するアチーブメント ID。

この関数は、情報が利用可能で OutDefinition に渡された場合、EOS_Success の値を持つ EOS_EResult を返します。出力パラメータに null ポインタを渡すと、EOS_InvalidParameters が返されます。リクエストされたアチーブメント定義が見つからない場合は、EOS_NotFound を返します。

コピーしたアチーブメント定義からメモリを解放する

EOS_Achievements_CopyAchievementDefinitionV2ByIndex または EOS_Achievements_CopyAchievementDefinitionV2ByAchievementIdOutDefinition でコピーされた情報は、関数 EOS_Achievements_DefinitionV2_Release を使用してメモリから解放する必要があります。この関数は、AchievementDefinition と呼ばれる単一の EOS_Achievements_DefinitionV2 へのポインタを受け取ります。

プレイヤーのアチーブメント進行状況データ

プレイヤーのアチーブメント進行状況データは、EOS_Achievements_PlayerAchievement と呼ばれる構造体に含まれています。EOS_Achievements_AchievementDefinition はバックエンドの Epic Online Services アチーブメントに関する一般情報が含む一方で、EOS_Achievements_PlayerAchievement は、特定のプレイヤーの Epic Online Services アチーブメントのロック解除に向けた進行状況、(すでにロック解除されている場合は) ロックが解除された時間、およびロック解除に関連するスタッツを追跡します。EOS_Achievements_PlayerAchievement のパラメータは次のとおりです。

EOS_Achievements_PlayerAchievement

パラメータ

説明

ApiVersion

EOS_ACHIEVEMENTS_PLAYERACHIEVEMENT_API_LATEST に設定します。

AchievementId

アチーブメントを識別するために使用される一意の識別子。

Progress

このアチーブメント達成に対するパーセンテージで表した進行状況。

UnlockTime

アチーブメントがロック解除された POSIX タイムスタンプ。アチーブメントがロック解除されていない場合、この値は EOS_ACHIEVEMENTS_ACHIEVEMENT_UNLOCKTIME_UNDEFINED になります。

StatInfoCount

このアチーブメントに関連付けられているプレイヤー スタッツ エントリの数。

StatInfo

アチーブメントのロックを解除するために使用されるスタッツしきい値と、それらスタッツに対するプレイヤーの現在の値に関する情報を含む EOS_Achievements_PlayerStatInfo 構造体の配列。

DisplayName

EOS_Achievements_QueryPlayerAchievements

Description

EOS_Achievements_QueryPlayerAchievements

IconURL

EOS_Achievements_QueryPlayerAchievements

FlavorText

ゲームが任意の方法で使用できるローカライズされたフレーバー テキスト。Developer Portal でデータが設定されていない場合、これは null になる可能性があります。

EOS_Achievements_PlayerStatInfo

ApiVersion

EOS_ACHIEVEMENTS_PLAYERSTATINFO_API_LATEST に設定します。

Name

スタッツの名前。

CurrentValue

スタッツの現在の値。

ThresholdValue

スタッツのしきい値。

プレイヤースタッツの詳細については「Stats Interface」のページを参照してください。

プレイヤーのアチーブメント進行状況をクエリする

アチーブメントに関するデータを取得したり、手動でロックを解除したりするには、まず Developer Portal (デベロッパーポータル) で Epic Online Services アチーブメントを定義する必要があります。

非同期関数 EOS_Achievements_QueryPlayerAchievements を使用して、プレイヤーのアチーブメント進行状況データを取得できます。クエリが完了すると、リクエストされたデータがローカルにキャッシュされるリストに格納されます。次に、EOS_Achievements_CopyPlayerAchievementByIndex または EOS_Achievements_CopyPlayerAchievementByAchievementId を使用してそれらにアクセスし、目的のデータのコピーを取得できます。これが完了したら、EOS_Achievements_PlayerAchievement_Release を呼び出してメモリからコピーした情報を解放する必要があります。

EOS_Achievements_QueryPlayerAchievements のパラメータは次のとおりです。

EOS_Achievements_QueryPlayerAchievements

パラメータ

説明

Handle

有効な EOS_HAchievements ハンドル。

Options

情報をクエリするプレイヤーの UserId を含む EOS_Achievements_QueryPlayerAchievementsOptions 構造体。

ClientData

CompletionDelegate で返される任意のデータ。

CompletionDelegate

EOS_Achievements_OnQueryPlayerAchievementsCompleteCallback と一致するシグネチャを使用した操作の完了時に呼び出される関数。

EOS_Achievements_QueryPlayerAchievementsOptions

ApiVersion

EOS_ACHIEVEMENTS_QUERYPLAYERACHIEVEMENTS_API_LATEST に設定します。

UserId

取得しているアチーブメント進行状況データを保持しているユーザーのアカウント ID。

クエリしたプレイヤーのアチーブメント完了コールバック

コールバック関数 EOS_Achievements_OnQueryPlayerAchievementsCompleteCallback は、プレイヤーのアチーブメント進行状況のクエリが完了したときに呼び出され、EOS_Achievements_OnQueryPlayerAchievementsCompleteCallbackInfo 構造体を返します。コールバック情報には、ResultCode と、EOS_Achievements_QueryDefinitionsOptions で設定されたクライアント データ、およびデータを所有するプレイヤーのユーザー ID が含まれます。

プレイヤーのアチーブメント進行状況をコピーする

プレイヤーのアチーブメント データはローカルにキャッシュされます。EOS_Achievements_GetPlayerAchievementCount を使用して、キャッシュされている Epic Online Services アチーブメントの数を取得できます。

関数 EOS_Achievements_CopyPlayerAchievementByIndexEOS_Achievements_CopyPlayerAchievementByAchievementId は、EOS_Achievements_PlayerAchievement のコピーを取得するために使用できます。EOS_Achievements_PlayerAchievement_Release を使用して、このコピーされたデータに関連付けられているメモリを解放する必要があります。

インデックスでプレイヤーのアチーブメントをコピーする

関数 EOS_Achievements_CopyPlayerAchievementByIndex は、キャッシュされたアチーブメント リスト内のインデックス値を使用してローカル キャッシュから EOS_Achievements_PlayerAchievement 構造体のコピーを取得し、そのコピーを出力パラメータ OutAchievement を通じて出力します。この関数が取るパラメータを以下に示します。

EOS_Achievements_CopyPlayerAchievementByIndex

パラメータ

説明

Handle

有効な EOS_HAchievements ハンドル。

Options

キャッシュからコピーするためにリクエストされたインデックスを含む EOS_Achievements_CopyPlayerAchievementByIndexOptions 構造体。

OutAchievement

リクエストされた EOS_Achievements_PlayerAchievement のコピーを含む出力パラメータ。OutAchievement に有効なデータが含まれている場合は、このデータで EOS_Achievements_PlayerAchievement_Release を呼び出してメモリから解放する必要があります。

EOS_Achievements_CopyPlayerAchievementByIndexOptions

ApiVersion

EOS_ACHIEVEMENTS_COPYPLAYERACHIEVEMENTBYINDEX_API_LATEST に設定します。

UserId

アチーブメントをコピーしているユーザーのアカウント ID を表す有効な EOS_ProductUserId

AchievementIndex

キャッシュから取得するプレイヤーのアチーブメント データのインデックス。

この関数は、情報が利用可能で OutAchievement に渡された場合、EOS_Success の値を持つ EOS_EResult を返します。出力パラメータを介して null ポインタを渡すと、EOS_InvalidParameters が返されます。リクエストされたプレイヤーのアチーブメントが見つからない場合は、EOS_NotFound を返します。

ID でプレイヤーのアチーブメントをコピーする

EOS_Achievements_CopyPlayerAchievementByAchievementId 関数は、アチーブメントのキャッシュで指定された AchievementId と一致するアチーブメントを検索し、そのデータのコピーを出力パラメータ OutAchievement を介して出力します。この関数が取るパラメータを以下に示します。

EOS_Achievements_CopyPlayerAchievementByAchievementId

パラメータ

説明

Handle

有効な EOS_HAchievements ハンドル。

Options

キャッシュを検索するアチーブメント ID を含む EOS_Achievements_CopyPlayerAchievementByAchievementIdOptions 構造体。

OutAchievement

リクエストされた EOS_Achievements_PlayerAchievement のコピーを含む出力パラメータ。OutAchievement に有効なデータが含まれている場合は、このデータで EOS_Achievements_PlayerAchievement_Release を呼び出してメモリから解放する必要があります。

EOS_Achievements_CopyPlayerAchievementByAchievementIdOptions

ApiVersion

EOS_ACHIEVEMENTS_COPYPLAYERACHIEVEMENTBYACHIEVEMENTID_API_LATEST に設定します。

UserId

アチーブメントをコピーしているユーザーのアカウント ID を表す有効な EOS_ProductUserId

AchievementId

キャッシュからアチーブメントをコピーするときに検索するアチーブメント ID。

この関数は、情報が利用可能で OutAchievement に渡された場合、EOS_Success の値を持つ EOS_EResult を返します。出力パラメータを介して null ポインタを渡すと、EOS_InvalidParameters が返されます。リクエストされたプレイヤーのアチーブメントが見つからない場合は、EOS_NotFound を返します。

コピーしたプレイヤーのアチーブメントからメモリを解放する

EOS_Achievements_CopyPlayerAchievementByIndex または EOS_Achievements_CopyPlayerAchievementByAchievementIdOutAchievement でコピーされた情報は、EOS_Achievements_PlayerAchievement_Release 関数を使用してメモリから解放する必要があります。この関数は、Achievement と呼ばれる単一の EOS_Achievements_PlayerAchievement へのポインタを受け取ります。

Epic Online Services アチーブメントのロックを解除する

Epic Online Services アチーブメントは、 Epic Online Services アチーブメントにリンクされた スタッツ が取り込まれたときに自動的にロック解除されるようにするか、EOS_Achievements_UnlockAchievements 関数を呼び出して手動でロック解除することができます。

スタッツを介して Epic Online Services アチーブメントのロックを解除する

Epic Online Services アチーブメントは、スタッツしきい値のセットで定義されます。これは、スタッツの名前と Epic Online Services アチーブメントをロック解除するためのスタッツ量で構成されています。必要なしきい値がすべて満たされると、アチーブメントのロックが解除され、Progress (進行状況) が「1.0」に設定されます。

スタッツの取り込み 操作でスタッツを更新する方法の詳細については、「Stats Interface」のページを参照してください。

Epic Online Services アチーブメントを手動でロック解除する

EOS_Achievements_UnlockAchievements 関数で、ユーザーの 1 つ以上の Epic Online Services アチーブメントのロックを解除できます。この関数のパラメータは次のとおりです。

EOS_Achievements_UnlockAchievements

パラメータ

説明

Handle

有効な EOS_HAchievements ハンドル。

Options

Epic Online Services アチーブメントのロックを解除するプレイヤーに関する情報と、ロックを解除する Epic Online Services アチーブメントの情報を含む EOS_Achievements_UnlockAchievementsOptions 構造体。

ClientData

CompletionDelegate で返される任意のデータ。

CompletionDelegate

EOS_Achievements_OnUnlockAchievementsCompleteCallback と一致するシグネチャを使用した操作の完了時に呼び出される関数。

EOS_Achievements_UnlockAchievementsOptions

ApiVersion

EOS_ACHIEVEMENTS_UNLOCKACHIEVEMENTS_API_LATEST に設定します。

UserId

ロックを解除するアチーブメントを持つユーザーのアカウント ID を表す EOS_ProductUserId

AchievementIds

ロックを解除するアチーブメント ID のリスト。

AchievementsCount

ロックを解除したいアチーブメントの数。

EOS_Achievements_UnlockAchievements 操作が完了すると、コールバック関数 EOS_Achievements_OnUnlockAchievementsCompleteCallback が実行されます。このコールバック関数は、その操作からデータを受け取る必要があります。このパラメータは次のとおりです。

EOS_Achievements_OnUnlockAchievementsCompleteCallback

パラメータ

説明

ResultCode

操作のステータスを示す EOS_EResult。結果が EOS_Success の場合、操作が正常に完了したことを意味します。その他の結果はエラーを示します。

ClientData

EOS_Achievements_UnlockAchievements に渡されたコンテキスト。

UserId

このリクエストを開始したユーザーのアカウント ID を表す EOS_ProductUserId

AchievementsCount

ロックを解除するアチーブメントの数。

SDK は、アチーブメント ステータスをローカルまたはオフラインで保存しないことに注意してください。サービス停止中にスタッツ サービスにバッキングされていない Epic Online Services アチーブメントをアンロックする問題を減らすためにには、以下を検討してください。

  1. ログイン時に常にユーザーのアチーブメント ステータスをダウンロードします。

  2. アンロック状態をバッキングスタッツ / データと比較し、条件が満たされた場合はアチーブメントをアンロックします。

このプロセスは、アップデートで導入された新しい Epic Online Services アチーブメントを完了した可能性のあるユーザーも対象としています。

EOS_Achievements_UnlockAchievements は、適切な再試行率を尊重し、完了ステータスが返されるのを待ってから試行する限り、起動ごとに複数回呼び出すこともできます。

Epic Online Services アチーブメントを通知する

Epic Online Services アチーブメントのロックが解除されたときに 通知 を受け取ることができます。アチーブメントの通知は、スタッツの取り込みまたは手動でのアチーブメントのロック解除のいずれかからトリガーできます。

関数 EOS_Achievements_AddNotifyAchievementsUnlockedV2 は、 Epic Online Services アチーブメントが正常にロック解除されたときに通知をサブスクライブできます。これは、構造体 EOS_Achievements_AddNotifyAchievementsUnlockedV2Options を使用して Options パラメータを受け取り、シグネチャが EOS_Achievements_OnAchievementsUnlockedCallbackV2 と一致する関数への参照を受け取ります。このコールバック関数は、アチーブメントがロック解除されるたびに呼び出されます。ClientData は、発生時に任意のコンテキスト データをそのコールバックに渡すために使用できます。

構造体 EOS_Achievements_AddNotifyAchievementsUnlockedV2Options には ApiVersion が含まれており、これは EOS_ACHIEVEMENTS_ADDNOTIFYACHIEVEMENTSUNLOCKEDV2_API_LATEST に設定する必要があります。

コールバック関数 EOS_Achievements_OnAchievementsUnlockedCallbackV2EOS_Achievements_OnAchievementsUnlockedCallbackV2Info 構造体を返します。コールバック情報には、ロックが解除されたアチーブメントの UnlockTimeAchievementId が含まれます。また、EOS_Achievements_AddNotifyAchievementsUnlockedV2 を介して渡された ClientData、および Epic Online Services アチーブメントが属するユーザーの UserId も含まれます。

RemoveNotifyAchievementsUnlocked は通知のサブスクライブ解除に使用できます。

使用上の制限事項

Achievements (アチーブメント) インターフェース は、プレイヤーの Epic Online Services アチーブメント関するデータを取得したり、そのプレイヤーの Epic Online Services アチーブメントをロック解除したり、アプリケーションに属するすべての Epic Online Services アチーブメントに関するデータを取得したりする方法をデベロッパーに提供します。スロットリング、使用クォータ、ベストプラクティスの一般情報については、「使用上の制限事項」を参照してください。

以下の制限事項は Epic Online Services アチーブメントのデプロイメントの使用全体に適用されます。

機能

制限事項

アチーブメントの総数

1000

アチーブメントあたりの統計情報

3

アチーブメント ID の長さ

256 文字

アチーブメントあたりのローカライズ テキスト バリエーション

19

ローカライズ テキストの長さ

256 文字

アチーブメント アイコンのファイル サイズ

1.02 MB

アチーブメント アイコンの解像度

1024x1024 pixels

アチーブメント アイコンのファイル タイプ

PNG、JPG、BMP、GIF (アニメートなし)

Epic Online Services アチーブメントを定義するときは、EOS_Achievements_DefinitionV2AchievementId パラメーターで次の記号を使用しないでください。

, { ^ } % ` ] > [ ~ < # | & $ @ = ; : + ? ! \ ( ) * /

これらのシンボルは、定義をインポートまたはエクスポートするときに問題を引き起こす可能性があります。

ユーザーごと、またはデプロイメントごとに適用される使用レート制限もあります。ユーザーごとの制限は、ゲームをプレイし既存のアチーブメントを操作する個々のユーザーに適用されます。デプロイメントごとの制限は、プレイヤーが見てアンロックすることができるアチーブメントを設定するコールに適用されます。

機能

ユーザーごとの制限

デプロイメントごとの制限

すべてのアチーブメント定義を取得

10 リクエスト / 分

1 つのアチーブメント定義を取得

100 リクエスト / 分

プレイヤーのアチーブメントを取得

100 リクエスト / 分

アチーブメントをアンロック

100 リクエスト / 分

アチーブメントを作成

100 リクエスト / 分

アチーブメントを削除

100 リクエスト / 分

Epic Online Services アチーブメントをテストする

テストサンドボックスの 1 つへ展開して、Epic Online Services アチーブメントをテストすることができます。これは、ライブ環境にデプロイする前に行う必要があります。これにより、アチーブメント定義のエラーをチェックし、プレイヤーが Epic Online Services アチーブメントのロックを正常に解除できることを確認できます。 プロダクトのテスト サンドボックスの作成に関する情報は、「製品、サンドボックス、およびデプロイメント ID」を参照してください。