🪶
SwiftUIでアプリ起動時に、GoogleAnalyticsを使う
アプリ起動時にログを収集したい
前回の記事で、ボタンを押すと、GoogleAnalyticsを使用して、ユーザーがアプリを使用しているログを収集するのをやってみましたが、アプリ起動時にやって欲しいという場合があります。
その場合どうするのか?
このサイトを参考にする必要があった。
これを使う。
class AppDelegateの中で、overrideした、init()
メソッドの中に、FirebaseApp.configure()
を移動させて、func application()
メソッドの中に、今回の使用に合わせて作ったログを収集するコードを書くと、いい感じやってくれます。
init()メソッドはこんな感じ
override
init() {
super.init()
// ここに書く
FirebaseApp.configure()
}
func application()メソッドはこんな感じ
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
// ここに書く
Analytics
.logEvent(AnalyticsEventAppOpen, parameters: [AnalyticsParameterMethod: "launch"])
return true
}
全体のコードはこんな感じですね。この状態でビルドすればログを収集してくれるようですね。
import SwiftUI
import FirebaseCore
import FirebaseAnalytics
class AppDelegate: NSObject, UIApplicationDelegate {
override
init() {
super.init()
FirebaseApp.configure()
}
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
Analytics
.logEvent(AnalyticsEventAppOpen, parameters: [AnalyticsParameterMethod: "launch"])
return true
}
}
@main
struct FirebaseAnalyticsTutorialApp: App {
@UIApplicationDelegateAdaptor(AppDelegate.self) var delegate
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
ビルドした後に、時間がたつとログを収集してくれました。
まとめ
開発してるアプリで、アプリが起動したときだけ、GoogleAnalyticsを使用して、ログを収取して欲しい要望があったので、詳しい人に聞いてみてやってみたら、機能を実装できました。ライフサイクルへの理解がまだ足りないなと悩みができました💦
Discussion