跳到正文
cccskills
免费在 GitHub 公开

mobile-crash-sdk

Use when an "enable observability" card asks for crash reporting on a mobile (iOS, Android, React Native, Flutter) or desktop app - adding Sentry or Firebase Crashlytics with release and environment tags, symbol upload, and session tracking so crash-free users can be read

中文简介正在准备中。当前显示原文说明。

集成工具FirebaseSentry
查看安装方法

包含的文件(1)

  • SKILL.md3.1 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Mobile crash reporting

The mobile golden signal is crash-free users per release. It needs three things from the app: a crash SDK, the release (version + build) and environment on every event, and session tracking — without sessions a tool knows how many crashes there were but not out of how many users.

Sentry

  • iOS (sentry-cocoa, Swift Package Manager): SentrySDK.start { o in o.dsn = …; o.releaseName = "\(bundleId)@\(version)+\(build)"; o.environment = "production"; o.enableAutoSessionTracking = true } at app launch. Upload dSYMs in the release build (sentry-cli debug-files upload or the Fastlane sentry_debug_files_upload action) or crashes arrive unsymbolicated.
  • Android (io.sentry:sentry-android + the io.sentry.android.gradle plugin): DSN, release and environment in the manifest <meta-data> or SentryAndroid.init; the Gradle plugin uploads the R8/ProGuard mapping per build.
  • React Native: @sentry/react-native (its wizard wires both native projects and source maps). Flutter: sentry_flutter with SentryFlutter.init, and --split-debug-info symbols uploaded.
  • The DSN is not a secret, but the sentry-cli auth token used for uploads is: a CI secret, never in the repository.

Firebase Crashlytics

  • iOS: FirebaseCrashlytics via SPM, FirebaseApp.configure(), and the upload-symbols run script phase for dSYMs.
  • Android: com.google.firebase:firebase-crashlytics and the com.google.firebase.crashlytics Gradle plugin (mapping upload on release builds).
  • Crashlytics takes the version from the app itself; set the environment as a custom key (Crashlytics.crashlytics().setCustomValue("staging", forKey: "environment")) and keep debug builds out (setCrashlyticsCollectionEnabled(false) there).
  • Crash-free users is reported by the Firebase console; Google Play's Android vitals (and App Store Connect's metrics) give the store-side view a store data source reads.

Desktop (Electron)

@sentry/electron in both the main and renderer processes, release from app.getVersion(), native crash minidumps enabled.

In the task

  • One SDK, initialised before anything else at launch; no personal data in breadcrumbs (strip request bodies, emails, tokens).
  • Acceptance criteria: "Given a build of this release crashes on a test device, then the crash appears in <Sentry|Crashlytics> symbolicated, tagged with this version and environment"; "Given the app is opened, then a session is recorded for this release."
  • A store build has to ship before any of this is visible: say so, and tell the person which data source (Sentry, Google Play vitals, App Store metrics) to add so mobile.crash_free_users can be bound.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Use when writing acceptance criteria for a task - express each as an observable Given/When/Then that QA can execute, including negative cases

中文简介正在准备中。当前显示原文说明。

makifbaysal/tasktrooper1172026年10月18日 更新

Use when the diff adds or changes an endpoint, resolver, RPC, job or query that takes an object id, a role check, a request binding or a tenant filter - BOLA/IDOR, function-level authorization, mass assignment and tenant scoping

中文简介正在准备中。当前显示原文说明。

makifbaysal/tasktrooper1172026年10月18日 更新

Use on every UI change - semantic HTML, labels for controls, keyboard-navigable dialogs/menus, visible focus, and never color as the only signal

中文简介正在准备中。当前显示原文说明。

makifbaysal/tasktrooper1172026年10月18日 更新

Use when a task changes any screen, form, dialog, menu or control - Lighthouse/axe scan of the changed screens, a keyboard walk, and the thresholds that fail a task

中文简介正在准备中。当前显示原文说明。

makifbaysal/tasktrooper1172026年10月18日 更新

How to work a task returned with review, QA or UAT findings. Use when a task is in need_revision or PR review comments are in your context.

中文简介正在准备中。当前显示原文说明。

makifbaysal/tasktrooper1172026年10月18日 更新

Use when the repository keeps its alerting in code, or a person asks for alerts outside TaskTrooper - PrometheusRule YAML, a Cloud Monitoring alert policy in Terraform, a Datadog monitor, each routed to TaskTrooper's alert ingest URL so it opens an incident here

中文简介正在准备中。当前显示原文说明。

makifbaysal/tasktrooper1172026年10月18日 更新

查看 makifbaysal 的全部技能

报告此技能的问题