第一条反馈

目标读者:需要从 Godot 验证第一条玩家主动反馈 payload 的开发者。

SDK 会冻结一次提交动作;启用本地队列时,先原子保存载荷,再发送请求,分别保存报告与附件回执,并用原内容和幂等键恢复未确认请求。feedback_payload_ready 仍只表示准备状态,feedback_delivery_changed 表示已确认或未确认的投递结果。部分成功、项目隔离和本地 7 天期限见可靠本地投递

此诊断只记录准备状态和字段数量。feedback_payload_ready 不证明已送达。不要打印完整载荷、队列 JSON、玩家正文、联系方式、日志或凭证;提交 consent 不代表允许将玩家数据复制到诊断日志。

最小示例

func _ready() -> void:
  EchoNebulaFeedback.feedback_payload_ready.connect(func(payload: Dictionary) -> void:
    print("feedback_payload_ready; field_count=", payload.size())
  )

  EchoNebulaFeedback.configure({
    "project_key": "enb_pk_demo_local_replace_me",
    "public_api_base_url": "http://localhost:4000",
    "environment": "local",
    "release": "0.1.0",
    "build_id": "dev-build-001",
    "locale": "auto"
  })

func _on_feedback_pressed() -> void:
  EchoNebulaFeedback.open_feedback_panel({ "trigger_source": "button", "category": "bug" })

玩家必须填写描述并确认隐私勾选框。截图和最近日志默认不勾选。

在正确项目确认并处理

在 Console 同一项目概览刷新,确认显示实际已收到反馈。进入项目反馈列表、设置筛选并打开报告;详情保留已核验的项目上下文,返回入口恢复筛选列表。核对描述、consent snapshot 与实际存在的附件。

Owner/Admin 可以分派给符合条件的成员;Developer/QA 按现有权限自领或释放。保存状态/优先级、添加评论后刷新,确认结果已持久化。状态保持 new / reviewing / resolved / ignored / archived,archived 不等于删除。Viewer 只读,服务端不返回玩家联系方式。

报告已收到但附件缺失时,查看 SDK 投递结果与可靠本地投递;不能把 consent 当附件回执,也不要仅为补附件重建报告。

常见错误

下一步

选择支持的 触发点