telemetrydeck / docs Goto Github PK
View Code? Open in Web Editor NEWPublic Documentation for TelemetryDeck
Home Page: https://telemetrydeck.com/docs
Public Documentation for TelemetryDeck
Home Page: https://telemetrydeck.com/docs
Is your feedback related to a problem? Please describe.
The Swift Setup Guide ends with:
You’re all set!
You can now send signals! …
But there's a critical missing step. Before you can actually ship an iOS app that uses TelemetryDeck, you have to answer Apple's app privacy questions.
Describe the solution you'd like or the information you're missing
from Mail:
Our SDKs optionally accept a custom user identifier such as an email address or an internal identifier. If you don’t supply that identifier, we generate a random one for you, or — depending on the platform — ask the operating system for one, such as the iOS „identifierForVendor“.
We salt and hash that identifier on device. You can optionally provide a salt string for that as well using the configuration object.
when a signal arrives on the server, we add our own salt to its user identifiers and hash it again. This way neither TelemetryDeck nor you can reconstruct the original identifier, preserving privacy.
if you use the same (custom) salt and provide the same original ID you’ll recognize the same user from different platforms.
There is no identifierForVendor on Mac apps, so you'll have to create a UUID yourself and store it in userdefaults. Here is how.
Insights need an update because of UI and feature changes
Reason:
Tags:
Steps:
Typo in code snippet
In first code snipped under "Advanced usage as a Package for applications that use a bundler (like Webpack, Rollup, …)"
const queuedEvents = [
["app", YOUR_APP_ID],
["user", YOUR_USER_IDENTIFIER],
["signal"],
["signal", { route: "some/page/path" }],
];
td.ingest(qeuedEvents); // <--
The variable queuedEvents
is misspelled.
Reason:
Tags:
Steps:
The article seems to be missing an image:
The options I see we have:
There is an additional situation some may be inquiring about with this question.
They could be asking "how do I change the configuration I setup for this package dependency".
If they do either or both of the items listed in your answer and don't get what they need, it's likely the way they've configured it. They could have said "only use version 1.2.3" or "user 1.2.3 up to the Next Minor release", this will not allow them to update to 2.0.0.
If they need to update their specification of the dependency, that is described here.
Please consider adding that to your answer.
Your SEO is very good, and it would be nice to get the complete answer.
Update existing articles to new format and add searchEngineTitle and searchEngineDescription
Internal titles, which are not meta-titles/searchEngineTitles, should better reflect the neutrality of a documentation. This will make it easier for viewers/visitors to find what they are looking for. Therefore, each article should have both titles.
Last section has a dead link leading to https://telemetrydeck.com/quickstart.html
Reasoning
Tags
How to create a new group
How to add insights to a group
How to share a group: if someone is a member of your organization, you can send them a link
How to delete insights from a group
How to Rename a group
How to delete a group
The floatValue
property in signals is pretty undocumented because I seem to have told almost no one about it. This is a ticket to write an article about it.
Goal: Tell people the floatValue
property exists and give a few examples on how to use it
TOC
Basically this but with a bit more content: TelemetryDeck/Issues#233 (comment)
Some older articles don't use SEO best practices, for example optimal usage of headings, etc.
Bot could: 456624
Some previously created docs with multiple tags don't use the new notation
!Important: Use images instead of text to show where features are located, this makes it easier to edit in the future, and it visualizes it for the website visitors.
Articles that need to be edited:
Custom dashboards with insights groups
Track the number of daily active users in your app
Find out which operating system your users are using
Detect if users update to the latest app version
Screenshot was taken with a browser window where the width was larger then the element. Text probably needs a wrapping to the next line.
The documentation that is seen in the screenshot: https://telemetrydeck.com/docs/articles/check-if-users-upgrade-to-latest-app-version/
TelemetryDeck can work great with open source projects, but they need to know a few things:
(note to @voidedmain: App Overview is the screen you first see when clicking on the app. It currently has the users/signals/sessions chart, the "users in the last hour" chart, system versions chart and an app versions chart. Let me know if you want a different name for that screen)
you can use a custom insight to show app version distribution:
{}
@voidedmain here's an example insight: https://dashboard.telemetrydeck.com/apps/B97579B6-FFB8-4AC5-AAA7-DA5796CC5DCE/groups/699B49E7-51C8-4243-801B-0C0907360E90/insights/75125D04-7275-40EC-963E-E893DF2248D6/edit
isTestMode
parameter that can either be true
or false
isTestMode
parameter as best as they can, for example if a DEBUG
parameter is present in your development environment, that is used as the value for isTestMode
isTestMode
parameter just as you would add any other payload parameter to a signal"true"
or "false"
// An example variable to manually set test mode.
// Set this to `true` or `false` depending on your app's configuration
// or environment or state
let customTestModeParameter = true
TelemetryManager.send(
"pizzaModeActivated",
for: "myUserIdentifier",
with: ["isTestMode": customTestModeParameter ? "true" : "false"]
)
// Example initialisation of TelemetryDeck SDK
td = new TelemetryDeck({
app: ENV.APP.telemetryAppID,
user: this.user.current?.email ?? 'anonymous',
});
// In our example, the app has a `send` function wrapping the TelemetryDeck SDK
send(payload) {
// ENV.APP.telemetryIsDebug is an example variable that represents your app's
// configuration or environment. Replace it with an implementation that fits your
// app's needs.
if (ENV.APP.telemetryIsDebug) {
this.td.signal({...payload, isTestMode: "true"})
return;
}
this.td.signal(payload);
}
On-going work
Record of what has been done:
If you add this snippet, you can extract things like URL and utm source:
const params = new URLSearchParams(window.location.search);
td.push([
'signal',
{
route: window.location.pathname,
source: params.get('utm_source'),
},
]);
and then filter by pages like so
{ "url": "https://www.fline.dev/remafox-beta1/" }
Insight - An Insight is one of the primary building blocks of TelemetryDeck. In essence, you can think of an insight as one of the little cards with data in an insight group. They have a title, a Query, and a Display Mode. The query is used to retrieve data from the TelemetryDeck API, and the display mode is used to determine how the data is displayed, e.g. as a bar chart, or a line chart.
Todos:
api/insights-reference.md
to articles/
The Documentation for the JavaScript SDK needs a bit more love
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.