| // Copyright 2020 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "src/lib/analytics/cpp/google_analytics/event.h" |
| |
| namespace { |
| |
| constexpr char kHitTypeKey[] = "t"; |
| constexpr char kHitType[] = "event"; |
| constexpr char kCategoryKey[] = "ec"; |
| constexpr char kActionKey[] = "ea"; |
| constexpr char kLabelKey[] = "el"; |
| constexpr char kValueKey[] = "ev"; |
| |
| } // namespace |
| |
| namespace analytics::google_analytics { |
| |
| Event::Event(std::string_view category, std::string_view action, |
| const std::optional<std::string_view>& label, const std::optional<int64_t>& value) { |
| parameters_[kHitTypeKey] = kHitType; |
| parameters_[kCategoryKey] = category; |
| parameters_[kActionKey] = action; |
| if (label.has_value()) |
| parameters_[kLabelKey] = label.value(); |
| if (value.has_value()) |
| parameters_[kValueKey] = std::to_string(value.value()); |
| } |
| |
| void Event::AddGeneralParameters(const GeneralParameters& general_parameters) { |
| const auto& parameters = general_parameters.parameters(); |
| parameters_.insert(parameters.begin(), parameters.end()); |
| } |
| |
| } // namespace analytics::google_analytics |