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.
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();
}
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
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é.