npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

ember-metrics-simple-analytics

v1.0.0

Published

ember-metrics adapter for Simple Analytics.

Downloads

141

Readme

ember-metrics-simple-analytics

CI npm version

ember-metrics adapter for Simple Analytics

Compatibility

  • Ember.js v3.28 or above
  • Embroider or ember-auto-import v2
  • ember-metrics v2

Installation

ember install ember-metrics-simple-analytics

Configuration

To setup, you should first configure the service through config/environemnt:

module.exports = function (environment) {
  var ENV = {
    metricsAdapters: [
      {
        name: 'SimpleAnalytics',
        environments: ['production'],
      }
    ]
  }
}

See the Simple Analytics Docs for more details about the configuration options.

module.exports = function (environment) {
  var ENV = {
    metricsAdapters: [
      {
        name: 'SimpleAnalytics',
        environments: ['production'],
        config: {
          autoCollect: 'true',
          allowParams: 'product-id',
          collectDnt: false,
          hostname: 'picturewham.com',
          ignoreMetrices: ['scrolled', 'timeonpage'],
          ignorePages: ['/search/contact', '/vouchers/*'],
          mode: 'hash',
          nonUniqueHostnames: 'checkout.stripe.com',
          pathOverwriter: 'myPathOverwriter',
          src: 'my-custom-script.example.org/latest.js',
        }
      }
    ]
  }
}

Usage

This adapter by default sets Simple Analytics auto collect to false. You must explicitly call trackPage when you transition into a route and you need to register SimpleAnalytics as a metrics-adapter, for example:

// app/routes/application.js
import Route from '@ember/routing/route';
import { getOwner } from '@ember/application';
import { service } from '@ember/service';
import SimpleAnalytics from 'ember-metrics-simple-analytics';

export default class ApplicationRoute extends Route {
  @service metrics;
  @service router;

  constructor() {
    super(...arguments);

    getOwner(this).register(
      'metrics-adapter:simple-analytics',
      SimpleAnalytics
    );

    this.router.on('routeDidChange', () => {
      const page = this.router.currentURL;
      const title = this.router.currentRouteName || 'unknown';

      this.metrics.trackPage({ page, title });
    });
  }
}

To send custom events use:

this.metrics.trackEvent({ name: 'myCustomeEvent', someotherkey: 'brilliant' });

Deviations from plain Simple Analytics

Auto Collect

If you've used Simple Analytics before without ember-metrics then you'll notice that auto page view collection is usually enabled for Simple Analytics without this adapter.

Disabling Simple Analytics auto collect page views in this adapter allows for better integration with ember-metrics; it works well with multiple other adapters and is the expected behaviour of ember-metric adapters.

Metadata or Context

Simple Analytics provides numerous mechanisms to collect additional data for events and page views. The ember-metrics context should be used instead of the Simple Analytics specific metadata mechanisms.

Warning Do not include personal data in your metadata like email addresses, identifiers, or any other type of personal data. Simple Analytics don’t allow it and your account might be suspended.

this.metrics.context = {
  plan: 'starter'
};

Contributing

See the Contributing guide for details.

License

This project is licensed under the MIT License.