自分専用の「Apex Legends」トラッカーサイトを作ろう(前編)

2020-03-28

はじめに

プログラミングが全然理解できていない、ど素人が書いたコードです。
一応、意図通りに動いているので公開しますが不具合等ありましたら、すみません。

こんな人に最適

自分の統計を確認したいだけなら、大手トラッカーサイトへ訪れればいいのですが、今回紹介するものはAPIを利用して取得したデータを自分のサイトへ載せたり、そのデータを加工して違う情報として扱うことができます。
最終的には今日のキル数やダメージ数をリアルタイムで表示し、OBSなどの配信ツールでオーバーレイとして使用することを目的にしています。

事前準備

Apex Legends の公式ではAPIを提供していないので、大手トラッカーサイトである「Tracker Network」が提供しているAPIを利用します。

https://tracker.gg/apex

まずはこちらにてアカウントの作成と情報が取得できるよう、レジェンドの登録やゲーム内にてトラッカーの設定を済ませておいてください。

API Key の取得

「Tracker Network」 にログインした状態でこちらからアプリを作成してください。

https://tracker.gg/developers/docs/getting-started

Create an app をクリックし、適当でいいので(API Keyがほしいだけなので)必要な項目を埋めてください。

必須項目を書いたら、規約を理解した上で右下のCreate appをクリックしてアプリを作成します。
同じような画面に戻ると思いますが、API Key が表示されているはずです。
大切に保管してください。
※1か月に500万リクエストを越してしまうと API Key がブロックされてしまいますのでご注意ください。

PHPでユーザー情報の取得

今回は他の人も利用できるトラッカーサイトではなく、自分だけの専用トラッカーサイトを作るので、このようにユーザーを指定したコードになります。

CURLOPT_URL でユーザーを指定しています。
私の場合だと、obor0という名前で、PCにて遊んでいるので
https://public-api.tracker.gg/v2/apex/standard/profile/origin/obor0
このようになります。
プラットフォームには以下の3つがあります。

  • origin (PC)
  • xbl (xbox)
  • psn (PS4)

これだけで、ユーザー情報が取得できます。

ほしい情報の選択

取得できたデータは、全体的なものから各レジェンド別にかなりの量になります。
その中から自分がほしい情報だけを指定し、抜き出して利用するにはもう少しだけコードが必要になります。

例として、私の全データはこんな感じです。
(レジェンド情報は1つだけにトリミングしてあります。)

試しにこの中からトータルキル数を抜き出してみます。
キル数の7574はこのような入れ子になっています。
data > segments[0] > stats > kills > value
( segments[0] は data の中にたくさんある最初の segments という意味になります。)
コードにするとこのようになります。

頭のtkの部分は自分でわかりやすい名前に変更しても大丈夫です。
最後の値の部分はカンマ付きの displayValue も選べますが、今回はその値を再利用するので value を使用しています。

コードをまとめる

他に今回ほしい情報として、トータルダメージ数とシーズン4のトータル勝利数を指定し、ここまでのコードをまとめるとこのようになります。

サイトなどへ表示する分には、ここで完成となります。
echo number_format($tk);
などで組み込んでください。

この記事ではここまで

朧月夜:Stream Live Now !
朧月夜:Currently Offline