订阅离子模式开放事件的通用方法

时间:2019-01-25 09:14:07

标签: angular typescript ionic-framework

我正在使用Google Analytics(分析)跟踪用户在我的应用中访问的视图。

启动GA跟踪器时,我订阅了app.viewDidEnter事件。因此,无论何时用户输入新视图,跟踪器都会捕获并注册。而且我不需要遍历代码,逐个查看,也不需要放置任何其他代码。这是一种通用方法。

public startTrackerWithId(trackerId: string) {
    return this.ga.startTrackerWithId(trackerId)
    .then(() => {
        this.log.d("Google Analytics tracker started");
        return this.ga.enableUncaughtExceptionReporting(true);
    }).then(() => {
        this.app.viewDidEnter.subscribe((enteredView: ViewController) => {
            if(enteredView.component){
                let viewName = enteredView.component.name;
                this.log.d("Tracking view", viewName);
                this.ga.trackView(viewName);
            }else{
                this.log.d("Not tracking view ", enteredView);
            }
        });
    }).catch(e => {
        this.log.w("Error starting GoogleAnalytics", e);
    });
}

但这不包括模式。如果用户打开任何模式,则跟踪器将不会跟踪任何内容。

我想知道是否存在一种通用方法来检测用户何时打开Modal。我可以订阅的活动,例如:modal.present().subscribe(...)

0 个答案:

没有答案