web-dev-qa-db-ja.com

ログインしているユーザーなしでセッションのイベント送信を強制する

Google Analytics APIを使用して、セッションがログインしているかどうかを確認する可能性はありますか?宛先ページに問題がある(設定されていない)ため、セッションがログインしていないときにイベントを再送信したい.

1
Abdou Tahiri

このようなものを使用できます

1)onBeforeActionフックを設定して、ユーザーを自動的にログインさせます(ユーザーが外部サービスにログインしていない場合、資格情報を要求します)

var loginWithGoogle = function() {
  if (bla.isClient) {
    Session.set('loginError', undefined);
    bla.loginWithGoogle({
      loginStyle         : "redirect",
      requestPermissions : ['profile', 'email'],
      requestOfflineToken: true
    }, function (err) {
      if (err)
        Session.set('loginError', 'reason: ' + err.reason + ' message: ' + err.message || 'Unknown error');
    });
  }
}

var requireLogin = function() {
  if (! bla.user()) {
    if (bla.loggingIn()) {
      this.render(this.loadingTemplate); 
    } else {
      console.log('Some crazy stuff');
      loginWithGoogle();
    }
  } else {
    this.next();
  }
}

Router.onBeforeAction(requireLogin, {except: ['some-special-public-route']});

2)ユーザーがすべてのページから移動しているときにログアウトします(注意:ユーザーがアプリ内を移動するたびにログイン/ログアウトが呼び出されます)

bla.startup(function(){
    $(window).bind('beforeunload', function() {
        closingWindow();
    });
});

closingWindow = function(){
    console.log('You are leaving.');
    bla.logout();
}
2
Josip Ivic

sessionControlを使用して、必要な場合に新しいセッションを強制的に開始できます。次のようなヒットを送信します。

ga(‘send’, ‘pageview’, {‘sessionControl’: ‘start’}); 

詳細情報 https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#sessionControl

1
mario ruiz

ページから_utm.gif?へのリクエストがあるはずです。 ( このブログ投稿 およびこの SO回答 を参照してください。)

残念ながら、リクエストがページから行われたかどうかを知ることができるかどうか/どのように知ることができません。 このコード は、私がすぐに見つけた最高のものです。

1
guaka