summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xStoneIsland/www/index.html3
-rwxr-xr-xStoneIsland/www/js/index.js6
-rwxr-xr-xStoneIsland/www/js/lib/_router.js2
-rwxr-xr-xStoneIsland/www/js/lib/blogs/HubView.js2
-rw-r--r--StoneIsland/www/js/lib/etc/analytics.js49
-rwxr-xr-xStoneIsland/www/js/lib/etc/push.js2
-rwxr-xr-xStoneIsland/www/js/lib/products/CollectionView.js3
7 files changed, 64 insertions, 3 deletions
diff --git a/StoneIsland/www/index.html b/StoneIsland/www/index.html
index 2e4e50b6..28fd1467 100755
--- a/StoneIsland/www/index.html
+++ b/StoneIsland/www/index.html
@@ -12,7 +12,7 @@
-->
-<meta http-equiv="Content-Security-Policy" content="default-src * gap: 'unsafe-inline' 'unsafe-eval'; script-src * 'unsafe-inline' 'unsafe-eval'; object-src * 'unsafe-inline' 'unsafe-eval'; style-src * 'unsafe-inline' 'unsafe-eval'; img-src * 'unsafe-inline' 'unsafe-eval'; media-src * 'unsafe-inline' 'unsafe-eval'; frame-src * gap: 'unsafe-inline' 'unsafe-eval'; font-src * 'unsafe-inline' 'unsafe-eval'; connect-src * 'unsafe-inline' 'unsafe-eval'">
+<meta http-equiv="Content-Security-Policy" content="default-src * gap: 'unsafe-inline' 'unsafe-eval' https://ssl.gstatic.com https://www.google-analytics.com; script-src * 'unsafe-inline' 'unsafe-eval'; object-src * 'unsafe-inline' 'unsafe-eval' https://ssl.gstatic.com https://www.google-analytics.com; style-src * 'unsafe-inline' 'unsafe-eval'; img-src * 'unsafe-inline' 'unsafe-eval'; media-src * 'unsafe-inline' 'unsafe-eval'; frame-src * gap: 'unsafe-inline' 'unsafe-eval' https://ssl.gstatic.com https://www.google-analytics.com; font-src * 'unsafe-inline' 'unsafe-eval'; connect-src * 'unsafe-inline' 'unsafe-eval'">
<meta name="format-detection" content="telephone=no">
<meta name="msapplication-tap-highlight" content="no">
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height">
@@ -1334,6 +1334,7 @@
<script src="js/sdk/product.js"></script>
<script src="js/sdk/shipping.js"></script>
+<script src="js/lib/etc/analytics.js"></script>
<script src="js/lib/etc/push.js"></script>
<script src="js/lib/etc/deeplink.js"></script>
<script src="js/lib/etc/geo.js"></script>
diff --git a/StoneIsland/www/js/index.js b/StoneIsland/www/js/index.js
index 8574372d..9bc77c38 100755
--- a/StoneIsland/www/js/index.js
+++ b/StoneIsland/www/js/index.js
@@ -89,6 +89,7 @@ var app = (function(){
document.addEventListener('offline', app.offline, false)
cordova.plugins.Keyboard.disableScroll(true)
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(false)
+ analytics.init()
geo.fetch()
sim.fetch(app.api_ready)
var image = new Image
@@ -117,8 +118,11 @@ var app = (function(){
if (navigator.onLine) {
app.account.connect(window.deepLinkRoute || '/intro')
app.blog.fetch(function(){
- console.log("navigating to deep link route after fetch")
+ console.log("blog fetched, launching router")
app.router.initial_route = window.deepLinkRoute || null
+ if (app.router.initial_route) {
+ analytics.send('push/' + app.router.initial_route)
+ }
app.router.launch()
})
}
diff --git a/StoneIsland/www/js/lib/_router.js b/StoneIsland/www/js/lib/_router.js
index 75f598e9..9feb262a 100755
--- a/StoneIsland/www/js/lib/_router.js
+++ b/StoneIsland/www/js/lib/_router.js
@@ -101,6 +101,7 @@ var SiteRouter = Router.extend({
}
// window.FirebasePlugin && window.FirebasePlugin.setScreenName(name)
+ analytics.send(name)
console.log("view >>", app.view)
app.header.set_back( !! app.view.back )
app.view.show()
@@ -128,6 +129,7 @@ var SiteRouter = Router.extend({
if (app.view && app.view.hide) {
app.view.hide()
}
+ analytics.send('store/' + code)
app.view = app.product
app.header.set_back( true )
app.product.load(code)
diff --git a/StoneIsland/www/js/lib/blogs/HubView.js b/StoneIsland/www/js/lib/blogs/HubView.js
index 30339948..7a6f17d9 100755
--- a/StoneIsland/www/js/lib/blogs/HubView.js
+++ b/StoneIsland/www/js/lib/blogs/HubView.js
@@ -95,7 +95,7 @@ var HubView = ScrollableView.extend({
app.fullscreenViewer.show(url, url, stonewash(row.title))
})
gallery.on('settle', function(e){
- console.log(".gallery-target-" + row.id)
+ // console.log(".gallery-target-" + row.id)
var currentImage = gallery.selectedElement
var title = $(currentImage).get(0).getAttribute('aria-label') || default_title
$(".gallery-" + row.id).attr('aria-label', title)
diff --git a/StoneIsland/www/js/lib/etc/analytics.js b/StoneIsland/www/js/lib/etc/analytics.js
new file mode 100644
index 00000000..0d026f2f
--- /dev/null
+++ b/StoneIsland/www/js/lib/etc/analytics.js
@@ -0,0 +1,49 @@
+var analytics = (function() {
+ var analytics = {}
+
+ analytics.fields = {
+ trackingId: 'UA-XXXXXXXX-Y',
+ clientId: localStorage.getItem('ga:clientId'),
+ storage: 'none',
+ }
+
+ analytics.init = function() {
+ console.log("Analytics init")
+ analytics.build()
+ analytics.send('/')
+ }
+
+ analytics.build = function() {
+ ;( function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','https://www.google-analytics.com/analytics.js','ga' );
+
+ analytics.ga = window.ga
+ analytics.ga('create', analytics.fields)
+ // prevent tasks that would abort tracking
+ analytics.ga('set', {
+ // don't abort if the protocol is not http(s)
+ checkProtocolTask: null,
+ // don't expect cookies to be enabled
+ checkStorageTask: null,
+ })
+ // a callback function to get the clientId and store it ourselves
+ analytics.ga(function(tracker){
+ localStorage.setItem('ga:clientId', tracker.get('clientId'));
+ })
+ }
+
+ analytics.send = function(path) {
+ console.log("/a\\ send", path)
+ if (!analytics.ga) return
+ analytics.ga('send', {
+ // these are the three required properties, check GA's doc for the optional ones
+ hitType: 'screenview',
+ screenName: path,
+ appName: 'StoneIsland'
+ })
+ }
+
+ return analytics
+})()
diff --git a/StoneIsland/www/js/lib/etc/push.js b/StoneIsland/www/js/lib/etc/push.js
index 74aaf7b5..e09204d3 100755
--- a/StoneIsland/www/js/lib/etc/push.js
+++ b/StoneIsland/www/js/lib/etc/push.js
@@ -141,9 +141,11 @@ var push = (function(){
}
}
else if (is_hub) {
+ analytics.send("push/open/hub")
app.router.go("hub")
}
else {
+ analytics.send("push/open/store")
app.router.go("intro")
}
}
diff --git a/StoneIsland/www/js/lib/products/CollectionView.js b/StoneIsland/www/js/lib/products/CollectionView.js
index 70bb22b4..507c51d7 100755
--- a/StoneIsland/www/js/lib/products/CollectionView.js
+++ b/StoneIsland/www/js/lib/products/CollectionView.js
@@ -84,6 +84,9 @@ var CollectionView = ScrollableView.extend({
return
}
this.$loader.show()
+ if (!app.department_id) {
+ console.log("no department ID, store is closed")
+ }
console.log("fetching", app.department_id)
sdk.product.collection({
department_id: app.department_id,