{"id":308,"date":"2020-03-25T17:08:57","date_gmt":"2020-03-25T09:08:57","guid":{"rendered":"https:\/\/badgameshow.com\/fly\/?p=308"},"modified":"2022-12-28T13:24:46","modified_gmt":"2022-12-28T05:24:46","slug":"firebase-crashlytics","status":"publish","type":"post","link":"https:\/\/badgameshow.com\/fly\/firebase-crashlytics\/","title":{"rendered":"\u3010Firebase\u3011Android Firebase Crashlytics \u5d29\u6f70\u5075\u6e2c \u7bc4\u4f8b"},"content":{"rendered":"<h1>\u3010Firebase\u3011Android Firebase Crashlytics \u5d29\u6f70\u5075\u6e2c \u7bc4\u4f8b<\/h1>\n<h4>Firebase Crashlytics \u662f\u7531 Google \u6240\u63a8\u51fa\u7684\u4e00\u6b3e\u57fa\u65bc\u4e8b\u4ef6\u9a45\u52d5\u7684\u79fb\u52d5\u53ca Web \u5d29\u6f70\u5075\u6e2c\u8207\u5206\u6790\u5de5\u5177\uff0c\u9019\u6b3e\u5de5\u5177\u6709\u52a9\u65bc\u6539\u5584\u79fb\u52d5\u61c9\u7528\u7a0b\u5f0f\u548c Web \u7684\u5d29\u6f70\u5831\u544a\uff0c\u4ee5\u53ca\u9069\u6642\u5730\u63d0\u4f9b\u6709\u95dc\u5d29\u6f70\u767c\u751f\u9ede\u7684\u8cc7\u8a0a\uff5e\u5b83\u80fd\u5920\u5354\u52a9\u958b\u767c\u8005\u5206\u6790\u79fb\u52d5\u61c9\u7528\u7684\u932f\u8aa4\uff0c\u5982\u6b64\u4fbf\u53ef\u4ee5\u66f4\u7cbe\u78ba\u3001\u66f4\u6709\u6548\u5730\u8ffd\u8e64\u53ca\u89e3\u6c7a\u554f\u984c\uff0c\u63d0\u9ad8\u958b\u767c\u8005\u5c0d\u7522\u54c1\u54c1\u8cea\u7684\u628a\u63e1\uff01<\/h4>\n<hr \/>\n<h4>\u6587\u7ae0\u76ee\u9304<\/h4>\n<ol>\n<li><a href=\"#a\">\u5c08\u6848\u8207 Firebase \u9023\u7dda<\/a><\/li>\n<li><a href=\"#b\">Firebase Crashlytics \u5c0e\u5165<\/a><\/li>\n<li><a href=\"#c\">\u5f37\u5236\u5d29\u6f70\u6e2c\u8a66<\/a><\/li>\n<li><a href=\"#d\">\u767b\u5165 Firebase \u67e5\u770b\u932f\u8aa4\u5831\u544a<\/a><\/li>\n<li><a href=\"#e\">Developer Documents Crashlytics<\/a><\/li>\n<\/ol>\n<hr \/>\n<p><a id=\"a\"><\/a><\/p>\n<h4>1.\u5c08\u6848\u8207 Firebase \u9023\u7dda<\/h4>\n<h5>Firebase Tool<\/h5>\n<p><a href=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2020\/03\/1-1.png\"><img decoding=\"async\" src=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2020\/03\/1-1.png\" width=\"80%\"\/><\/a><\/p>\n<h5>\u9078\u64c7\u5c08\u6848<\/h5>\n<p><a href=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2020\/03\/2.png\"><img decoding=\"async\" src=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2020\/03\/2.png\" width=\"50%\"\/><\/a><\/p>\n<h5>\u5275\u5efaFirebase<\/h5>\n<p><a href=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2020\/03\/3.png\"><img decoding=\"async\" src=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2020\/03\/3.png\" width=\"80%\"\/><\/a><\/p>\n<h5>\u6210\u529f\u5c0e\u5165<\/h5>\n<p><a href=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2020\/03\/5.png\"><img decoding=\"async\" src=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2020\/03\/5.png\" width=\"50%\"\/><\/a><\/p>\n<p><a id=\"b\"><\/a><\/p>\n<h4>2.Firebase Crashlytics \u5c0e\u5165<\/h4>\n<h5>build.gradle(Module)<\/h5>\n<pre><code class=\"language-groovy line-numbers\">plugins {\n    id 'com.google.firebase.crashlytics'\n}\n\ndependencies {\n    implementation platform('com.google.firebase:firebase-bom:31.1.1')\n    implementation 'com.google.firebase:firebase-crashlytics'\n    implementation 'com.google.firebase:firebase-analytics'\n}\n<\/code><\/pre>\n<h5>build.gradle(Project)<\/h5>\n<pre><code class=\"language-groovy line-numbers\">buildscript {\n    dependencies {\n        classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.2'\n    }\n}\n\nplugins {\n    id 'com.google.firebase.crashlytics' version '2.9.2' apply false\n}\n<\/code><\/pre>\n<p><a id=\"c\"><\/a><\/p>\n<h4>3.\u5f37\u5236\u5d29\u6f70\u6e2c\u8a66<\/h4>\n<h5>MainActivity.kt<\/h5>\n<pre><code class=\"language-kotlin line-numbers\">class MainActivity : AppCompatActivity() {\n\n    private lateinit var binding: ActivityMainBinding\n\n    override fun onCreate(savedInstanceState: Bundle?) {\n        super.onCreate(savedInstanceState)\n        binding = DataBindingUtil.setContentView(this, R.layout.activity_main)\n\n        val crashButton = Button(this)\n        crashButton.text = \"Test Crash\"\n        crashButton.setOnClickListener {\n            throw RuntimeException(\"Test Crash\") \/\/ Force a crash\n        }\n\n        addContentView(crashButton, ViewGroup.LayoutParams(\n            ViewGroup.LayoutParams.MATCH_PARENT,\n            ViewGroup.LayoutParams.WRAP_CONTENT))\n    }\n\n}\n<\/code><\/pre>\n<p><a id=\"d\"><\/a><\/p>\n<h4>4.\u767b\u5165Firebase\u67e5\u770b\u932f\u8aa4\u5831\u544a<\/h4>\n<h5>1.\u6253\u958bFirebase\u63a7\u5236\u53f0<\/h5>\n<p><a href=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2021\/09\/\u64f7\u53d6.png\"><img decoding=\"async\" src=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2021\/09\/\u64f7\u53d6.png\" width=\"50%\"\/><\/a><\/p>\n<h5>2.\u9078\u64c7\u61c9\u7528\u7684\u5c08\u6848<\/h5>\n<p><a href=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2021\/09\/\u64f7\u53d62.png\"><img decoding=\"async\" src=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2021\/09\/\u64f7\u53d62.png\" width=\"50%\"\/><\/a><\/p>\n<h5>3.\u5f9e\u5de6\u5074\u6b04\u4f4d\u4e2d\u9078\u64c7\u54c1\u8ceaCrashlytics<\/h5>\n<p><a href=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2021\/09\/\u64f7\u53d63.png\"><img decoding=\"async\" src=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2021\/09\/\u64f7\u53d63.png\" width=\"80%\"\/><\/a><\/p>\n<p><a id=\"e\"><\/a><\/p>\n<h4>5.Developer Documents Crashlytics<\/h4>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/firebase.google.com\/docs\/crashlytics\" title=\"Open in Documents Crashlytics\" target=\"_blank\" rel=\"noopener\">Open in Documents Crashlytics<\/a><\/p>\n\n<div style=\"font-size: 0px; height: 0px; line-height: 0px; margin: 0; padding: 0; clear: both;\"><\/div>","protected":false},"excerpt":{"rendered":"<p>\u3010Firebase\u3011Android Firebase Crashlytics \u5d29\u6f70\u5075\u6e2c \u7bc4\u4f8b Firebase &hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"pgc_sgb_lightbox_settings":"","footnotes":""},"categories":[34],"tags":[13,149,40],"class_list":["post-308","post","type-post","status-publish","format-standard","hentry","category-firebase","tag-android","tag-crashlytics","tag-firebase"],"_links":{"self":[{"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/posts\/308","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/comments?post=308"}],"version-history":[{"count":8,"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/posts\/308\/revisions"}],"predecessor-version":[{"id":1707,"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/posts\/308\/revisions\/1707"}],"wp:attachment":[{"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/media?parent=308"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/categories?post=308"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/tags?post=308"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}