⚡️
【モバイル】Firebase Crashlyticsでテストクラッシュさせる方法 2020/09版
はじめに
Firebase Crashlytics から crash()
メソッドが無くなっており、公式のドキュメントからも試験的にクラッシュさせる方法を探すのが面倒(※)な感じになっているので、こちらに記事を置いておきます。
※目次からいくと日本語だと古いドキュメントに繋がってしまいます。他にもいろいろ日本語版は古い or Android版のドキュメントが無かったりするので、公式ドキュメントは言語設定を英語にして探るのをオススメします。
Crashlytics で Test Crash を実行する
マジでシンプルなんですが以下のように記述します。
iOS
@IBAction func crashButtonTapped(_ sender: AnyObject) {
fatalError()
}
Android
crashButton.setOnClickListener {
throw RuntimeException("Test Crash") // Force a crash
}
普通に標準で用意されているエラーメソッド(Exception)を投げるだけです。
crashButton はレイアウトから配置するか、公式ドキュメントみたいに以下のように追加すると良いかと思います。
iOS
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let button = UIButton(type: .roundedRect)
button.frame = CGRect(x: 20, y: 50, width: 100, height: 30)
button.setTitle("Crash", for: [])
button.addTarget(self, action: #selector(self.crashButtonTapped(_:)), for: .touchUpInside)
view.addSubview(button)
}
@IBAction func crashButtonTapped(_ sender: AnyObject) {
fatalError()
}
}
Android
val crashButton = Button(this)
crashButton.text = "Crash!"
crashButton.setOnClickListener {
throw RuntimeException("Test Crash") // Force a crash
}
addContentView(crashButton, ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT))
おわりに
最後に公式ドキュメントのリンクも貼っておきます。
Discussion