非公式のApex Legends マップ ローテーション アプリケーション。ユーザーは、マップ変更通知を購読するだけでなく、現在および次のマップを確認できるようになります。
Apex Legends Status は、マップ回転機能に沿った優れた Web サイトですが、通知がありません。したがって、どれが現在のマップであるかを知る必要があるたびに手動で確認する必要があります。
Apex Legends のマップ ローテーションは、どのマップが登場するかを知ることができるようにすることで、二度と自分で確認する必要がなくなるようにする取り組みから生まれました。
ようこそ、Apex Legends - マップローテーションにご協力いただきありがとうございます!
まず、GitHub からリポジトリのクローンを作成します。
# HTTPS
git clone https://github.com/lgaspari/apex-map-rotation.git && cd apex-map-rotation
# SSH
git clone [email protected]:lgaspari/apex-map-rotation.git && cd apex-map-rotation
次に、 npm
を使用して依存関係をインストールします。
npm install
.env
ファイルのコピーを.env.local
に作成します。次のように、空の環境変数に適切な値を入力します。
VITE_APEX_LEGENDS_API_SECRET_TOKEN
: 認証用の非公式 Apex Legends API シークレット トークンここで、ほとんどの場合、次のコマンドを使用してアプリケーションを実行します。
npm run start
それ以外の場合、実稼働コードを使用してアプリケーションを実行する場合は、代わりにこれを使用します。
npm run start:production
コード内の問題を見つけて修正するために ESLint を使用します。次のコマンドを実行して、ローカル コードを確認します。
npm run lint
さらに、エラーの検出とコード形式の修正に役立つ Visual Studio Code の ESLint および Prettier 拡張機能をインストールすることもできます。
アプリケーションのテスト フレームワークとして Vitest を使用します。次のコマンドを実行して、ローカル テストを確認します。
npm run test
さらに、Vitest 拡張機能を Visual Studio Code にインストールして、テストを迅速に実行することもできます。
継続的統合ワークフローは、 main
ブランチへのプッシュごとに実行されます。変更がLint
およびTest
ステップに合格しない場合、ワークフローは失敗します。別のコミットでこれらの問題を必ず修正してください。
現在、継続的な展開は構成されていません。このコマンドを手動で実行する必要があります。
npm run deploy
予告なく本番環境に導入することはご遠慮ください。
これは実験的な機能であり、いつでも無効になる可能性があります。
アプリケーションの実行と構築には Vite を使用します。したがって、プログレッシブ Web アプリケーションのセットアップには、構成をシームレスに行う Vite PWA プラグインを使用します。
必要な最小限の PWA アセットを生成するには、Vite PWA Assets Generator を使用します。以下のコマンドは、pwa-assets.config.ts の構成を使用して、ファイルpublic/logo.svg
に基づいてアセットを生成します。実行する前に、更新されていることを確認してください。
npm run generate-pwa-assets
PWA のインストールで問題が発生した場合は、開発ツールの Lighthouse を使用して、機能するために何が欠けているかを確認できます。
Chromium ベースのブラウザの手順は次のとおりです。
アプリケーションは、Service Worker に更新があるかどうかを確認するメッセージを表示する必要があります。ただし、作業を簡単にするために、リロード時に Service Worker を更新するオプションを Dev Tools からオンにすることができます。
CTRL+SHIFT+R
を使用してタブを再読み込みしますそれでも問題が解決しない場合は、[更新] ボタンを押して自分で Service Worker を更新できます。
PWA アセットを更新すると、ロードされた新しいアセットが表示されない場合があります。その場合は、必ずアプリケーションを再インストールしてください。
通知 API の通知インターフェイスを使用して、デスクトップ通知を構成し、ユーザーに表示します。通知 API の詳細については、MDN Web ドキュメントを参照してください。
'Notification' in window
を通じて API サポートを確認します。
プラットフォーム | 勇敢な | クロム | 角 | Firefox | サファリ | 観察 |
---|---|---|---|---|---|---|
macOS | はい | はい | はい | はい | はい | - - |
iOS | いいえ | いいえ | いいえ | いいえ | はい¹ | ¹実験的機能を有効にする必要があります。 |
アンドロイド | はい | はい | はい | はい | 該当なし | - - |
Promises
を使用して、Notification.requestPermission()
を通じて通知権限を要求します。
プラットフォーム | 勇敢な | クロム | 角 | Firefox | サファリ | 観察 |
---|---|---|---|---|---|---|
macOS | はい¹ | はい¹ | はい¹ | はい | はい | ¹ では、許可を与えるために追加の手動手順が必要になる場合があります。 |
iOS | 該当なし | 該当なし | 該当なし | 該当なし | はい¹ | ¹ PWA のみのサポート。 |
アンドロイド | はい | はい | はい¹ | はい ² | 該当なし | ¹ では、許可を与えるために追加の手動手順が必要になる場合があります。 ² では、自己署名証明書が原因で安全でないページが表示される場合があります。 |
new Notification(title, options);
プラットフォーム | 勇敢な | クロム | 角 | Firefox | サファリ | 観察 |
---|---|---|---|---|---|---|
macOS | はい | はい | はい | はい | はい | - - |
iOS | 該当なし | 該当なし | 該当なし | 該当なし | いいえ¹ | ¹ PWA からもです。 |
アンドロイド | いいえ | いいえ | いいえ | はい | 該当なし | - - |
Service Worker は基本的に、Web アプリケーション、ブラウザー、ネットワーク (利用可能な場合) の間に位置するプロキシ サーバーとして機能します。 Service Worker API の詳細については、MDN Web ドキュメントを参照してください。
プラットフォーム | 勇敢な | クロム | 角 | Firefox | サファリ | 観察 |
---|---|---|---|---|---|---|
macOS | はい | はい | はい | はい | はい | - - |
iOS | はい | はい | はい | はい | はい | - - |
アンドロイド | はい | はい | はい | はい | 該当なし | - - |
プログレッシブ Web アプリ (PWA) は、Web プラットフォーム テクノロジを使用して構築されたアプリですが、プラットフォーム固有のアプリのようなユーザー エクスペリエンスを提供します。プログレッシブ Web アプリの詳細については、MDN Web ドキュメントを参照してください。
プラットフォーム | 勇敢な | クロム | 角 | Firefox | サファリ | 観察 |
---|---|---|---|---|---|---|
macOS | はい¹ | はい¹ | はい¹ | いいえ | いいえ | ¹ は、アドレス バーの右側にあるInstall PWA ボタン、またはOptions > Install app ボタンからインストールできます。 |
iOS | いいえ | いいえ | いいえ | いいえ | はい¹ | ¹ はShare > Add to Home Screen ボタンからインストールできます。 |
アンドロイド | はい¹ | はい¹ | はい¹ | はい ² | 該当なし | ¹ は、 Add to Home Screen ポップアップまたはOptions > Install app ボタンからインストールできます。² は Options > Add to Home screen ボタンからインストールできます。 |
すべての画像、アイコン、商標はそれぞれの所有者に帰属します。 Apex LegendsはEAの登録商標です。ゲームのアセット、素材、アイコンはエレクトロニック アーツに帰属します。 EA と Respawn は、この Web サイトのコンテンツを承認したり、この Web サイトのコンテンツに対して責任を負ったりするものではないことに注意してください。