web-dev-qa-db-fra.com

Forcer l'envoi d'événement pour les sessions sans utilisateur connecté

Est-il possible d'utiliser l'API Google Analytics pour vérifier si la session est connectée ou non? J'ai un problème avec la page de destination (elle n'est pas définie) et je souhaite renvoyer l'événement lorsque la session n'est pas connectée.

1
Abdou Tahiri

Vous pouvez utiliser quelque chose comme ça

1) Configurez les crochets onBeforeAction pour vous connecter automatiquement à l'utilisateur (demande les informations d'identification si l'utilisateur n'est pas connecté au service externe)

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) Déconnectez l'utilisateur lorsqu'il quitte chaque page (avertissement: la connexion/déconnexion est appelée à chaque fois que l'utilisateur navigue dans l'application).

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

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

Vous pouvez forcer le démarrage d'une nouvelle session au cas où vous en auriez besoin en utilisant le sessionControl . Envoyer un hit comme:

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

Informations complémentaires https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#sessionControl

1
mario ruiz

Il devrait y avoir une demande à _utm.gif? à partir de la page. (Voir cet article de blog et ceci SO réponse .)

Malheureusement, je ne peux pas savoir si/comment il est possible de savoir si une demande a été faite à partir d'une page. Ce code est le meilleur que j'ai rapidement trouvé.

1
guaka