fix: Rebase tags
Some checks failed
gitea-openium/resgen.swift/pipeline/head There was a failure building this commit

This commit is contained in:
2023-12-08 11:29:48 +01:00
parent 3fc2fd9bac
commit ca763cd5d0
13 changed files with 396 additions and 133 deletions

View File

@ -1,125 +1,20 @@
// Generated by ResgenSwift.Tags 1.2
// Generated by ResgenSwift.Strings.Tags 1.2
import UIKit
import MatomoTracker
import Firebase
// MARK: - Protocol
protocol AnalyticsManagerProtocol {
func logScreen(name: String, path: String)
func logEvent(name: String)
}
// MARK: - Matomo
class MatomoAnalyticsManager: AnalyticsManagerProtocol {
// MARK: - Properties
private var tracker: MatomoTracker
// MARK: - Init
init(siteId: String, url: String) {
debugPrint("[Matomo service] Server URL: \(url)")
debugPrint("[Matomo service] Site ID: \(siteId)")
tracker = MatomoTracker(siteId: siteId, baseURL: URL(string: url)!)
#if DEBUG
tracker.dispatchInterval = 5
#endif
#if DEBUG
tracker.logger = DefaultLogger(minLevel: .verbose)
#endif
debugPrint("[Matomo service] Configured with content base: \(tracker.contentBase?.absoluteString ?? "-")")
debugPrint("[Matomo service] Opt out: \(tracker.isOptedOut)")
}
// MARK: - Methods
func logScreen(name: String, path: String) {
guard !tracker.isOptedOut else { return }
guard let trackerUrl = tracker.contentBase?.absoluteString else { return }
let urlString = URL(string: "\(trackerUrl)" + "/" + "\(path)" + "iOS")
tracker.track(
view: [name],
url: urlString
)
}
func logEvent(name: String) {
guard !tracker.isOptedOut else { return }
tracker.track(
eventWithCategory: "category",
action: "action",
name: name,
number: nil,
url: nil
)
}
}
// MARK: - Firebase
class FirebaseAnalyticsManager: AnalyticsManagerProtocol {
func logScreen(name: String, path: String) {
Analytics.logEvent(AnalyticsEventScreenView, parameters: [AnalyticsParameterScreenName: name])
}
func logEvent(name: String) {
var parameters = [
AnalyticsParameterValue: name
]
Analytics.logEvent(AnalyticsEventSelectContent, parameters: parameters)
}
}
// MARK: - Manager
class AnalyticsManager {
static var shared = AnalyticsManager()
// MARK: - Properties
var managers: [AnalyticsManagerProtocol] = []
private var isEnabled: Bool = true
// MARK: - Methods
func setAnalyticsEnabled(_ enable: Bool) { isEnabled = enable }
func configure(sideId: String, url: String) {
managers.append(MatomoAnalyticsManager(siteId: sideId, url: url))
managers.append(FirebaseAnalyticsManager())
}
private func logScreen(name: String, path: String) {
guard isEnabled else { return }
managers.forEach { manager in
manager.logScreen(name: name, path: path)
}
}
private func logEvent(name: String) {
guard isEnabled else { return }
managers.forEach { manager in
manager.logEvent(name: name)
}
}
extension Tags {
// MARK: - ScreenTag
func logScreenEcranUn() {
logScreen(name: "Ecran un", path: "ecran_un/")
/// Translation in ium :
/// Ecran un
var screen_one: String {
"Ecran un"
}
func logEventEcranDeux() {
logEvent(name: "Ecran deux")
/// Translation in ium :
/// Ecran deux
var screen_two: String {
"Ecran deux"
}
}

View File

@ -1,13 +1,7 @@
[[ScreenTag]]
[screen_one]
path = ecran_un/
name = Ecran un
type = screen
ium = Ecran un
tags = droid,ios
comments =
[screen_two]
path = ecran_deux/
name = Ecran deux
type = event
ium = Ecran deux
tags = droid,ios
comments =

View File

@ -45,10 +45,19 @@ echo "\n-------------------------\n"
## Tags
swift run -c release ResgenSwift strings tags $FORCE_FLAG "./Tags/sampleTags.txt" \
--target "matomo firebase" \
--lang "ium" \
--extension-output-path "./Tags/Generated" \
--extension-name "Tags" \
--extension-suffix "GenAllScript"
#
#echo "\n-------------------------\n"
## Analytics
#swift run -c release ResgenSwift analytics $FORCE_FLAG "./Tags/sampleTags.yml" \
# --target "matomo firebase" \
# --extension-output-path "./Tags/Generated" \
# --extension-name "Analytics" \
# --extension-suffix "GenAllScript"
echo "\n-------------------------\n"
#

View File

@ -70,14 +70,26 @@ colors:
# Tags
#
tags:
-
-
inputFile: ./Tags/sampleTags.txt
target: "matomo firebase"
lang: ium
extensionOutputPath: ./Tags/Generated
extensionName: Tags
extensionSuffix: GenAllScript
#
# Analytics
#
analytics:
-
inputFile: ./Tags/sampleTags.yml
target: "matomo firebase"
extensionOutputPath: ./Tags/Generated
extensionName: Analytics
extensionSuffix: GenAllScript
#
# Fonts
#