allow for custom parameters when sending a screenView
diff --git a/lib/src/usage_impl.dart b/lib/src/usage_impl.dart
index cb92972..563f14e 100644
--- a/lib/src/usage_impl.dart
+++ b/lib/src/usage_impl.dart
@@ -123,8 +123,11 @@
     properties['enabled'] = value;
   }
 
-  Future sendScreenView(String viewName) {
+  Future sendScreenView(String viewName, { Map<String, String> parameters }) {
     Map<String, dynamic> args = {'cd': viewName};
+    if (parameters != null) {
+      args.addAll(parameters);
+    }
     return _sendPayload('screenview', args);
   }
 
diff --git a/lib/usage.dart b/lib/usage.dart
index dfdc54b..8e5a808 100644
--- a/lib/usage.dart
+++ b/lib/usage.dart
@@ -77,8 +77,11 @@
 
   /**
    * Sends a screen view hit to Google Analytics.
+   * 
+   * [parameters] can be any analytics key/value pair. Useful
+   * for custom dimensions, etc.
    */
-  Future sendScreenView(String viewName);
+  Future sendScreenView(String viewName, { Map<String, String> parameters });
 
   /**
    * Sends an Event hit to Google Analytics. [label] specifies the event label.
@@ -236,8 +239,13 @@
   @override
   String get clientId => '00000000-0000-4000-0000-000000000000';
 
-  Future sendScreenView(String viewName) =>
-      _log('screenView', {'viewName': viewName});
+  Future sendScreenView(String viewName, { Map<String, String> parameters }) {
+    if (parameters == null) {
+      parameters = <String, String>{};
+    }
+    parameters['viewName'] = viewName;
+    _log('screenView', parameters);
+  }
 
   Future sendEvent(String category, String action, {String label, int value}) {
     return _log('event', {
diff --git a/test/usage_test.dart b/test/usage_test.dart
index 8c4cedb..6137a29 100644
--- a/test/usage_test.dart
+++ b/test/usage_test.dart
@@ -14,6 +14,7 @@
     test('simple', () {
       AnalyticsMock mock = new AnalyticsMock();
       mock.sendScreenView('main');
+      mock.sendScreenView('withParameters', parameters: {'cd1': 'custom'});
       mock.sendEvent('files', 'save');
       mock.sendSocial('g+', 'plus', 'userid');
       mock.sendTiming('compile', 123);