Skip to content
This repository was archived by the owner on Feb 17, 2022. It is now read-only.

Commit c49ae9a

Browse files
author
Robert Kummer
committed
updated interface code
1 parent fd3cdc0 commit c49ae9a

File tree

2 files changed

+71
-8
lines changed

2 files changed

+71
-8
lines changed

src/Ipunkt/LaravelAnalytics/Contracts/AnalyticsProviderInterface.php

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
/**
77
* Interface AnalyticsProviderInterface
8+
*
89
* @package Ipunkt\LaravelAnalytics\Contracts
910
*/
1011
interface AnalyticsProviderInterface
@@ -48,17 +49,31 @@ public function trackEvent($category, $action, $label, $value);
4849
*/
4950
public function trackCustom($customCode);
5051

52+
/**
53+
* enable display features
54+
*
55+
* @return AnalyticsProviderInterface
56+
*/
57+
public function enableDisplayFeatures();
58+
59+
/**
60+
* disable display features
61+
*
62+
* @return AnalyticsProviderInterface
63+
*/
64+
public function disableDisplayFeatures();
65+
5166
/**
5267
* enable auto tracking
5368
*
54-
* @return void
69+
* @return AnalyticsProviderInterface
5570
*/
5671
public function enableAutoTracking();
5772

5873
/**
5974
* disable auto tracking
6075
*
61-
* @return void
76+
* @return AnalyticsProviderInterface
6277
*/
6378
public function disableAutoTracking();
6479

@@ -77,4 +92,16 @@ public function disableAutoTracking();
7792
* @return string
7893
*/
7994
public function trackMeasurementUrl($metricName, $metricValue, Event $event, Campaign $campaign, $clientId = null, array $params = array());
95+
96+
/**
97+
* sets or gets nonInteraction
98+
*
99+
* setting: $this->nonInteraction(true)->render();
100+
* getting: if ($this->nonInteraction()) echo 'non-interaction set';
101+
*
102+
* @param boolean|null $value
103+
*
104+
* @return bool|AnalyticsProviderInterface
105+
*/
106+
public function nonInteraction($value = null);
80107
}

src/Ipunkt/LaravelAnalytics/Providers/NoAnalytics.php

Lines changed: 42 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
/**
88
* Class NoAnalytics
9+
*
910
* @package Ipunkt\LaravelAnalytics\Providers
1011
*/
1112
class NoAnalytics implements AnalyticsProviderInterface
@@ -31,7 +32,6 @@ public function render()
3132
*/
3233
public function trackPage($page, $title, $hittype)
3334
{
34-
3535
}
3636

3737
/**
@@ -46,7 +46,6 @@ public function trackPage($page, $title, $hittype)
4646
*/
4747
public function trackEvent($category, $action, $label, $value)
4848
{
49-
5049
}
5150

5251
/**
@@ -58,27 +57,46 @@ public function trackEvent($category, $action, $label, $value)
5857
*/
5958
public function trackCustom($customCode)
6059
{
60+
}
6161

62+
/**
63+
* enable display features
64+
*
65+
* @return NoAnalytics
66+
*/
67+
public function enableDisplayFeatures()
68+
{
69+
return $this;
70+
}
71+
72+
/**
73+
* disable display features
74+
*
75+
* @return NoAnalytics
76+
*/
77+
public function disableDisplayFeatures()
78+
{
79+
return $this;
6280
}
6381

6482
/**
6583
* enable auto tracking
6684
*
67-
* @return void
85+
* @return NoAnalytics
6886
*/
6987
public function enableAutoTracking()
7088
{
71-
89+
return $this;
7290
}
7391

7492
/**
7593
* disable auto tracking
7694
*
77-
* @return void
95+
* @return NoAnalytics
7896
*/
7997
public function disableAutoTracking()
8098
{
81-
99+
return $this;
82100
}
83101

84102
/**
@@ -99,4 +117,22 @@ public function trackMeasurementUrl($metricName, $metricValue, Event $event, Cam
99117
{
100118
return '';
101119
}
120+
121+
/**
122+
* sets or gets nonInteraction
123+
*
124+
* setting: $this->nonInteraction(true)->render();
125+
* getting: if ($this->nonInteraction()) echo 'non-interaction set';
126+
*
127+
* @param boolean|null $value
128+
*
129+
* @return bool|AnalyticsProviderInterface
130+
*/
131+
public function nonInteraction($value = null)
132+
{
133+
if (null === $value)
134+
return false;
135+
136+
return $this;
137+
}
102138
}

0 commit comments

Comments
 (0)