Skip to content

祈願システムとエクスポートの原理

Gacha System and Principal

胡桃の祈願システムは、Snap Genshinと比較して、アーキテクチャ全体が再設計されています。

この記事では、原神の祈願履歴のメカニズムと、Snap Hutaoの祈願エクスポート機能の技術的な原理について説明します。


祈願の取得

祈願履歴を取得するには、miHoYoのAPIをリクエストする必要があります。

このAPIには、以下の注意事項があります。

  • miHoYoサーバーのAPIを通じて、過去1年間の祈願履歴のみを照会できます。
    • これは、原神クライアントでの祈願履歴のソースでもあります。
  • APIにはリクエストレート制限があり、リクエストが速すぎると、後続のリクエストが失敗し、正常にデータを取得できなくなります。

APIリクエストのキーパラメーター

このAPIをリクエストするには、次の4つのキーパラメーターが必要です。

  1. ガチャの種類
  2. 抽出アイテム
  3. 時間
  4. 抽出履歴ID
  • 現在、これらのパラメーターを取得する方法として、以下のものが知られています。
    1. Unityのログファイルを調べて、ユーザーが開いた祈願履歴のURLを検索します。
    2. 本機のトラフィックをプロキシし、祈願履歴のURLをフィルタリングします。
    3. CefBrowserのブラウザキャッシュを調べて、祈願履歴のURLを見つけます。
    4. STokenを含むCookieを使用してgenAuthKey APIを呼び出し、パラメーターを取得します。
    5. 上級ユーザーに関連URLを手動で入力してもらいます。

データ連結と完全な履歴の生成

APIをリクエストした後、バラバラの祈願履歴を取得できます。これらの履歴を連結することで、完全な祈願履歴リストを生成できます。


祈願の保存

完全な祈願履歴リストは、取得後にローカルデータベースにシリアル化されて保存され、必要に応じて逆シリアル化されてユーザーに表示されます。

  • 後続のリクエストでは、Snap Hutaoはデータベース内のデータと照合して、追加された部分のデータのみを取得します。
  • この方法により、ユーザーはアカウントの完全な祈願履歴を長期にわたって保存できます。

UIGF形式

統一可交換祈願記録標準 Uniformed Interchangeable GachaLog Format Standard

UIGFは、私たちが他の祈願履歴アプリケーションと共同で提唱、導入し、長期的にメンテナンスしている統一された祈願履歴データ交換規格です。

標準化されたデータ形式により、ユーザーは異なるツール間で自由にデータを転送し、各ツールの特徴的な機能を使用できます。

祈願のインポート

UIGFデータ形式を使用すると、他のアプリケーションに保存されている祈願履歴データをインポートできます。

  • Snap Hutaoはデータをインポートする際に、ローカルストレージの最も古いインデックス(ID)と比較し、より古い履歴のみをインポートします。
  • 新しいデータは常にmiHoYoサーバーから取得でき、元のデータの精度が高くなります。

祈願のエクスポート

Snap Hutaoは、祈願履歴をUIGFデータ形式でファイルとして保存し、ユーザーが指定したフォルダに出力することをサポートしています。

ユーザーは、エクスポートされたファイルを介して、UIGF形式をサポートする他のツールで祈願履歴を引き続き使用できます。

これは Google Gemini モデルによって作成された翻訳であり、PRによる修正を歓迎します。

使用 VitePress 构建 | 以开源社区力量为原神 PC 端玩家提供极致的游戏体验