APIの呼び出し回数制限

編集

呼び出し回数制限とは

一部のRPGアツマールのAPIには、RPGアツマールのサーバー負荷を抑える目的で 呼び出し回数制限 という仕組みが実装されています。 以下で述べる制限対象のAPIについて、1分間にAPIを呼び出せる回数が決まっており、決められた回数を超えた場合はエラーになります。 呼び出せる回数は、だいたい1プレイヤーあたり 5秒に1回程度 を目安にしてください。

この制限は、APIごとではなくプレイヤーに対して制限対象のAPI全体に定められています。例えば、あるゲームでプレイヤーが「シグナルAPI」を使いすぎて呼び出し回数制限状態になった場合、そのプレイヤーは他の「ユーザー情報取得API」なども利用できなくなります。ただし、対象外のAPIは制限状態でも通常通り利用が可能ですし、他のプレイヤーはこの影響を受けません。

制限の条件自体は、上記の 5秒に1回程度 よりも緩めに設定されているため、多少オーバーしても即座に制限されることはありませんが、ご注意ください。

制限された場合

呼び出し回数制限状態になったとき、対象のAPIは必ず API_CALL_LIMIT_EXCEEDED エラーを返します。

制限の解除

呼び出し回数制限は、直近1分間の呼び出し回数をもとに制限しているため、 最長でも 1分 待てば呼び出し回数はリセットされ、再びAPI呼び出しをできるようになります。

呼び出し回数制限の対象

現在、次のAPIが呼び出し制限の対象となっています。スコアボードAPIも対象ですが、この仕組みの導入前のAPIであったため、一定の期間後に制限対象となります。

API制限されないためには

「API呼び出し回数制限対象」のAPIを呼び出す場合は、以下のことに気をつけましょう。

  • 利用するAPIが、呼び出し回数制限の対象に当たるか 事前に確認 しましょう。
  • 対象のAPIを利用する際は、 多くても5秒に1回程度 を目安にAPIを利用しましょう。
    • もちろん、より少ないに越したことはありません。
    • データの取得系APIでは、頻繁に取得しても結果はあまり変わりません。以前取得したデータを上手く使いまわし、呼び出し回数を減らしましょう。
  • 失敗しては困る場合は エラーハンドリング をしましょう。
    • プレイヤーの行動に依存してAPIを呼び出す場合、ゲームで呼び出し回数をハンドリングしきれない可能性はあります。呼び出しが制限によって失敗しても問題ないようなゲーム構成にするか、きちんとリカバリーできるようにエラーのハンドリングを行いましょう。
    • エラーについては こちら も合わせてご覧ください。