第一条反馈
目标读者:需要从 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 当附件回执,也不要仅为补附件重建报告。
常见错误
- 不要把空描述当作有效反馈。
consents.recent_logs_upload为false时应避免加入recent_logs;如果仍发送,服务端会丢弃内嵌日志并记录recent_logs_dropped: true。- 玩家未勾选截图时,不要上传截图附件。
下一步
选择支持的 触发点。