捕获调试日志是排除移动 SDK 和推送通知问题最有效的方法。本指南将帮助您为 iOS 和 Android 应用生成调试日志,并在需要时与我们的支持团队共享日志。
要捕获调试日志,请确保您具有:
- 可以重现问题的设备
- 访问应用开发工具的权限
- OneSignal 移动 SDK 版本 5.0.0 或更高版本
分步说明
1. 启用详细日志记录
在初始化 OneSignal SDK 之前,在您的应用中添加 VERBOSE 日志级别调用。这确保为每个 OneSignal 操作捕获详细的诊断信息。
// LogLevel: NONE | FATAL | ERROR | WARN | INFO | DEBUG | VERBOSE
OneSignal.getDebug().setLogLevel(OneSignal.LOG_LEVEL.VERBOSE);
// LogLevel: .None | .Fatal | .Error | .Warn | .Info | .Debug | .Verbose
OneSignal.Debug.logLevel = LogLevel.Verbose
// LogLevel: ONE_S_LL_NONE | ONE_S_LL_FATAL | ONE_S_LL_ERROR | ONE_S_LL_WARN | ONE_S_LL_INFO | ONE_S_LL_DEBUG | ONE_S_LL_VERBOSE
[OneSignal.Debug setLogLevel:ONE_S_LL_VERBOSE];
OneSignal.Debug.setLogLevel(.LL_VERBOSE)
// LogLevel: None | Fatal | Error | Warn | Info | Debug | Verbose
OneSignal.Debug.LogLevel = LogLevel.Verbose;
OneSignal.Debug.setLogLevel(6);
OneSignal.Debug.setLogLevel(OSLogLevel.verbose);
// 0 = None, 1 = Fatal, 2 = Errors, 3 = Warnings, 4 = Info, 5 = Debug, 6 = Verbose
window.plugins.OneSignal.Debug.setLogLevel(6);
Set the log level before calling OneSignal.init to ensure all SDK activity
is logged.
2. Reproduce the issue
启用详细日志记录后,在连接到 Android Studio 或 Xcode 的物理设备或模拟器上重现问题。
3. Capture and Share the Logs
一旦重现了问题,请查看日志以了解是否有助于诊断问题。
如果您需要帮助,请复制粘贴从开始到结束的整个日志,并以 .txt 文件形式发送给 OneSignal 支持。
包括所有相关的重现步骤、截图和其他详情。
特定平台说明
Android Studio
- 在底部面板中打开运行选项卡。(如果不可见,请转到 视图 > 工具窗口 > 运行)
- 在连接的设备或模拟器上运行应用。
- 重现问题。
- 选择所有日志输出(
Ctrl + A 或 Cmd + A)并复制。
- 将其粘贴到
.txt 文件中。
- 将文件与重现步骤一起发送给 OneSignal 支持。
📎 示例日志(Google Drive)Xcode
重要提示: 崩溃必须在设备未连接到您的 Mac 时发生。在重现崩溃后再插入设备。
- 在 Xcode 中打开窗口 > 设备和模拟器。
- 选择您的设备并点击打开控制台。
- 在下拉菜单中按所有消息筛选。
- 重现问题。
- 选择所有输出(
Cmd + A)并复制(Cmd + C)。
- 粘贴到
.txt 文件中。
- 将文件与重现步骤一起发送给 OneSignal 支持。