GithubHelp home page GithubHelp logo

hsanet / qt-google-analytics Goto Github PK

View Code? Open in Web Editor NEW
54.0 12.0 27.0 65 KB

Qt5 classes for providing Google analytics usage in a Qt/QtQuick application

License: Other

C++ 99.25% QMake 0.75%
google-analytics qtquick qt5 qt-google-analytics c-plus-plus

qt-google-analytics's Introduction

qt-google-analytics

Qt5 classes for providing google analytics usage in a Qt/QML application.

Building

Include qt-google-analytics.pri in your .pro file.

Using

Please make sure you have set your application information using QApplication::setApplicationName and QApplication::setApplicationVersion.

In C++:

GAnalytics tracker("UA-my-id");
tracker.sendScreenView("Main Screen");

In QtQuick:

Register the class on the C++ side using qmlRegisterType<GAnalytics>("analytics", 0, 1, "Tracker");

Tracker {
  id: tracker
  trackingID: "UA-my-id"
}

[...]
tracker.sendScreenView("Main Screen")

There is also an example application in the examples folder.

License

Copyright (c) 2014-2019, University of Applied Sciences Augsburg. All rights reserved. Distributed under the terms and conditions of the BSD License. See separate LICENSE.txt.

qt-google-analytics's People

Contributors

everettjf avatar hdeldar avatar kri-7-q avatar mkv21 avatar pflanzgurke avatar rggjan avatar theoriginalgri avatar tim-depthkit avatar wadealer avatar xdr-kzh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

qt-google-analytics's Issues

OS Detection warning in QT 5.11.1

The new QT 5.11.1 produces a warning for line 208 of ganalytics.cpp

QSysInfo::MacVersion version = QSysInfo::macVersion();
'MacVersion' is deprecated: Use QOperatingSystemVersion

Setup on GA

Hello,

Excellent example and thank you. However I do have issues testing this. I tried to run your example and as well as within my product.
Change the GA ID and ran the executable. I unfortunately am not sure how to verify the data that is being sent.
I do get a http 200 so the connection is made I think. So most of the work now is to see how the settings has to be made in GA.

image

Any help or suggestion would be greatly appreciated. Because the only options on GA is for web or for mobile app. I am working on a desktop application.

Fork, and some general improvements

I included your code here:
https://github.com/MultiMC/MultiMC5/tree/develop/libraries/ganalytics

Some changes I made include:

  • Refactoring into more parts.
  • Replacement of the Qt OS detection with something that works when you use an old Qt version (I did not care about iOS or Android, so they are not included).
  • User agent strings the library generated did not work with GA at all - there was no OS version. So I just ripped that part out and started using custom dimensions... This is probably related to #6
  • CMake build system.
  • Support for IP anonymization (&aip=1)
  • Application is responsible for generation and storage of client IDs
  • Elimination of QSettings (My application is not using QSettings, I think it's bad form to force its use)

I can turn these into pull requests, but I'd rather ask first which of those changes would be interesting to you.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.