

GAのスクリーントラッキングコードを、各ビューごとではなく、ビューを表示すると必ず呼ばれる（たとえばUIVeiwController）場所に設置し、動的にクラス名が取得できるようにしたいと考えていますが、実際にはどこにコードを設置するのが正しいのでしょうか？

できればサンプルとなるようなコードを提示していただけると助かります。

よろしくお願いします。


CC BY-SA 3.0
2017-11-05T11:11:06.373
39309
2020-06-10T01:00:35.040
15654
question
swift ios
Swiftでトラッキングコードをどこからでも呼ばれる場所に設置したい


親クラスを一つ作って他はそれを継承させるという方法でいかがでしょうか

[code]

    class MYBaseViewController : UIViewController 
    {
        override func viewWillAppear(animated: Bool) 
        {
            super.viewWillAppear(animated)
    
            // GAのスクリーントラッキングコードをここに記述
        }
    }
    
[/code]

各クラスでは以下のようにします。

[code]

    class MYViewController : MYBaseViewController 
    {
        override func viewWillAppear(animated: Bool) 
        {
            super.viewWillAppear(animated)//これを忘れないこと。
    
            //通常通りのコードを記述
        }
    }
    
[/code]

extensionで実装すると、メソッドの追加という形になると思いますので、  
手動で呼び出さなければならないことには変わりないと思います。


CC BY-SA 3.0
2017-11-06T11:13:37.470
39338
2017-11-06T11:13:37.470
17014
39309
answer