Files
MaaAssistantArknights/docs/ja-jp/protocol/callback-schema.md
2026-07-08 13:18:59 +08:00

17 KiB

order, icon
order icon
2 material-symbols:u-turn-left

コールバック図式

::: info 注意 This document is outdated due to the rapid update of the interface. Since the developers are not good at foreign languages, it is recommended that you refer to the Chinese or English documentation for the latest content :::

::: info 注意 コールバックメッセージがバージョンとともに更新される高速反復では、本書は古くなる可能性があります。最新のコンテンツを入手するには、C#統合ソースコード を参照してください。 :::

Prototype

typedef void(ASST_CALL* AsstCallback)(int msg, const char* details, void* custom_arg);

概要

  • int msg
    The message type

    enum class AsstMsg
    {
        /* Global Info */
        InternalError     = 0,      // 内部エラー
        InitFailed        = 1,      // 初期化に失敗しました
        ConnectionInfo    = 2,      // 接続情報
        AllTasksCompleted = 3,      // すべてのタスクが完了したかどうか
        AsyncCallInfo     = 4,      // 外部非同期呼び出し情報
    
        /* TaskChain Info */
        TaskChainError     = 10000, // 一連のタスク 実行/認識のエラー
        TaskChainStart     = 10001, // 一連のタスク 開始
        TaskChainCompleted = 10002, // 一連のタスク 完了
        TaskChainExtraInfo = 10003, // 一連のタスクの追加情報
        TaskChainStopped   = 10004, // 一連のタスク 手動停止
    
        /* SubTask Info */
        SubTaskError     = 20000,   // サブタスク 実行/認識におけるエラー
        SubTaskStart     = 20001,   // サブタスク 実行
        SubTaskCompleted = 20002,   // サブタスク 完了
        SubTaskExtraInfo = 20003,   // サブタスクの追加情報
        SubTaskStopped   = 20004,   // サブタスク 手動停止
    
        /* Web Request */
        ReportRequest    = 30000,   // レポートリクエスト
    };
    
  • const char* details
    メッセージの詳細, JSON. 詳細: Field Description

  • void* custom_arg
    呼び出し元のカスタム引数には、 AsstCreateEx インターフェースの custom_arg 引数が渡される。C ライクな言語では、this ポインタを一緒に渡すことができる。

Field Description

InternalError

Todo

InitFailed

{
    "what": string,     // Error タイプ
    "why": string,      // Error 理由
    "details": object   // Error 詳細
}

ConnectionInfo

{
    "what": string,     // Info タイプ
    "why": string,      // Info 理由
    "uuid": string,     // UUID (接続に失敗した場合は空白)
    "details": {
        "adb": string,     // AsstConnect インターフェースの adb_path 引数
        "address": string, // AsstConnect インターフェースの address 引数
        "config": string   // AsstConnect インターフェースの config 引数
    }
}

多用される What フィルドの値

  • ConnectFailed
    接続失敗

  • Connected
    接続成功。現段階では uuid フィールドが空であることに注意してください (次のステップで取得されます)

  • UuidGot
    UUID の取得

  • UnsupportedResolution
    この解像度はサポートされていません

  • ResolutionError
    解像度を取得できない

  • Reconnecting
    接続切断 (adb/emulator クラッシュ), 再接続開始

  • Reconnected
    接続切断 (adb/emulator クラッシュ), 再接続成功

  • Disconnect
    接続切断 (adb/emulator クラッシュ), 再接続失敗

  • ScreencapFailed
    画面取得失敗 (adb/emulator クラッシュ), 再接続失敗

  • TouchModeNotAvailable
    サポートされていないタッチモード

  • ResolutionGot
    解像度を取得しました

  • FastestWayToScreencap
    最速のスクリーンショット方式が見つかりました、details 構造:

    • method (string, required): 最速のスクリーンショット方式。
    • cost (number, required): 所要時間(ミリ秒)。
    • alternatives (array