質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

551閲覧

Firebaseでイベント発火の順番が入れ替わってしまう

Udomomo

総合スコア1524

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2017/10/26 03:33

編集2017/10/26 03:34

Firebaseでアプリの計測をしようとしています。
ある画面で、以下のようにコードを書きました。setScreenName関数で新しいスクリーン名を定義しています。

Swift

1import UIKit 2import Firebase 3 4class Section1121: UIViewController { 5 6 override func loadView() { 7 super.loadView() 8 Analytics.setScreenName("ケース1.1.2.1", screenClass: "Section1121") 9 } 10 11 override func viewDidAppear(_ animated: Bool) { 12 super.viewDidAppear(true) 13 14 // Do any additional setup after loading the view. 15 Analytics.logEvent(AnalyticsEventAddToCart, parameters: nil) 16 } 17 18 override func didReceiveMemoryWarning() { 19 super.didReceiveMemoryWarning() 20 // Dispose of any resources that can be recreated. 21 }

想定していたイベント発火の順番は以下です。

1: この画面に遷移すると、まずFirebaseがデフォルトで計測しているscreen_viewイベントが記録される。新しいスクリーン名はまだ反映されていない。
2: setScreenName関数が発火し、新しいスクリーン名が記録される。
3: logEvent関数が発火し、add_to_cartイベントが新しいスクリーン名で記録される。

しかし、DebugViewを見てみると、順番が1->3->2になることがあります。このとき、2が最後になってしまうので、3で発火したadd_to_cartイベントには新しいスクリーン名がひも付かず困っています。

コードではsetScreeNameの発火タイミングが前になるようにしているのですが、なぜ順番が入れ替わってしまうのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

どうやらFirebase上のデバッグビューで順番が入れ替わってしまっていただけのようです。Xcode上のコンソールで見ると、正しい順番で発火していました。add_to_cartにもスクリーン名は紐付いていました。

投稿2017/10/27 00:34

Udomomo

総合スコア1524

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問