iT邦幫忙

2021 iThome 鐵人賽

DAY 21
1
Software Development

JUCE 入門 @ 跨平台應用程式開發使用 C++系列 第 21

Day 20:非 GUI 類工具之 juce::Analytics

為簡化使用者行為採集,JUCE 提供了 juce::Analytics 以及相關介面,讓開發者依需求收集使用者行為,收集到的資料儲存於本機或者傳送到遠端伺服器。

JUCE 提供了 AnalyticsCollectionDemo 範例,示範如何利用 juce::ThreadedAnalyticsDestination 包裝 Google Analytics,將資料收集到指定的 Google Analytics 帳號。

JUCE 也提供了 juce::ButtonTracker 類別,簡化追蹤使用者操作 JUCE 應用程式的行為。實作不複雜,JUCE 內建的其他控制項可依樣畫葫蘆。

juce::Analytics 釋出時,官方討論串有一論戰。有人認為 JUCE 開發團隊不應該提供此類可能侵犯使用者隱私的功能。

JUCE 團隊認為,我也同意,工具是「中性」的,是否作惡取決於開發者的意圖,問題不在工具開發者。不過,該串有些論點也值得思考,對此議題有興趣的,可以看看

juce::AnalyticsDestination 提供統一的介面,用於包裝不同資料採集接收端。採集的資料格式則以 AnalyticsEvent 表示:

struct AnalyticsEvent
{
    String name;
    int eventType;
    uint32 timestamp;
    StringPairArray parameters;
    String userID;
    StringPairArray userProperties;
};

利用 StringPairArray 類別提供 Key/Value Pair 格式,有足夠彈性在介面不變的情況下,符合多數需求。

相關資源


上一篇
Day 19:非 GUI 類工具之 juce::String
下一篇
Day 21:非 GUI 類工具之三
系列文
JUCE 入門 @ 跨平台應用程式開發使用 C++29
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言