mirror of
https://github.com/GitJournal/GitJournal.git
synced 2025-07-15 07:56:11 +08:00

Also change type to 64 bit wherever needed. The cpuFreq value seems to be too high, discarding it for now.
185 lines
3.7 KiB
Protocol Buffer
185 lines
3.7 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package gitjournal;
|
|
|
|
option go_package = "github.com/gitjournal/analytics_backend";
|
|
|
|
service AnalyticsService {
|
|
rpc SendData(AnalyticsMessage) returns (AnalyticsReply) {}
|
|
}
|
|
|
|
message AnalyticsReply {}
|
|
|
|
message AnalyticsMessage {
|
|
string appId = 1;
|
|
repeated Event events = 2;
|
|
|
|
DeviceInfo deviceInfo = 3;
|
|
PackageInfo packageInfo = 4;
|
|
}
|
|
|
|
// message Any {
|
|
// oneof value {
|
|
// string stringValue = 1;
|
|
// int64 intValue = 2;
|
|
// double doubleValue = 3;
|
|
// bool boolValue = 4;
|
|
// }
|
|
// }
|
|
|
|
message Event {
|
|
string name = 1;
|
|
uint64 date = 2; // unix timestamp
|
|
map<string, string> params = 3;
|
|
|
|
string userId = 4;
|
|
string pseudoId = 5;
|
|
map<string, string> userProperties = 6;
|
|
|
|
string sessionID = 7;
|
|
uint64 userFirstTouchTimestamp = 8;
|
|
}
|
|
|
|
message DeviceInfo {
|
|
Platform platform = 1;
|
|
oneof deviceInfo {
|
|
AndroidDeviceInfo androidDeviceInfo = 11;
|
|
IosDeviceInfo iosDeviceInfo = 12;
|
|
LinuxDeviceInfo linuxDeviceInfo = 13;
|
|
MacOSDeviceInfo macOSDeviceInfo = 14;
|
|
WindowsDeviceInfo windowsDeviceInfo = 15;
|
|
WebBrowserInfo webBrowserInfo = 16;
|
|
}
|
|
}
|
|
|
|
message PackageInfo {
|
|
string appName = 1;
|
|
string packageName = 2;
|
|
string version = 3;
|
|
string buildNumber = 4;
|
|
string buildSignature = 5;
|
|
}
|
|
|
|
enum Platform {
|
|
android = 0;
|
|
ios = 1;
|
|
linux = 2;
|
|
macos = 3;
|
|
windows = 4;
|
|
web = 5;
|
|
}
|
|
|
|
message AndroidBuildVersion {
|
|
string baseOS = 1;
|
|
string codename = 2;
|
|
string incremental = 3;
|
|
uint32 previewSdkInt = 4;
|
|
string release = 5;
|
|
uint32 sdkInt = 6;
|
|
string securityPatch = 7;
|
|
}
|
|
|
|
message AndroidDeviceInfo {
|
|
AndroidBuildVersion version = 1;
|
|
string board = 2;
|
|
string bootloader = 3;
|
|
string brand = 4;
|
|
string device = 5;
|
|
string display = 6;
|
|
string fingerprint = 7;
|
|
string hardware = 8;
|
|
string host = 9;
|
|
string id = 10;
|
|
string manufacturer = 11;
|
|
string model = 12;
|
|
string product = 13;
|
|
repeated string supported32BitAbis = 14;
|
|
repeated string supported64BitAbis = 15;
|
|
repeated string supportedAbis = 16;
|
|
string tags = 17;
|
|
string type = 18;
|
|
bool isPhysicalDevice = 19;
|
|
string androidId = 20;
|
|
repeated string systemFeatures = 21;
|
|
}
|
|
|
|
message IosUtsname {
|
|
string sysname = 1;
|
|
string nodename = 2;
|
|
string release = 3;
|
|
string version = 4;
|
|
string machine = 5;
|
|
}
|
|
|
|
message IosDeviceInfo {
|
|
string name = 1;
|
|
string systemName = 2;
|
|
string systemVersion = 3;
|
|
string model = 4;
|
|
string localizedModel = 5;
|
|
string identifierForVendor = 6;
|
|
bool isPhysicalDevice = 7;
|
|
IosUtsname utsname = 8;
|
|
}
|
|
|
|
message LinuxDeviceInfo {
|
|
string name = 1;
|
|
string version = 2;
|
|
string id = 3;
|
|
repeated string idLike = 4;
|
|
string versionCodename = 5;
|
|
string versionId = 6;
|
|
string prettyName = 7;
|
|
string buildId = 8;
|
|
string variant = 9;
|
|
string variantId = 10;
|
|
string machineId = 11;
|
|
}
|
|
|
|
message MacOSDeviceInfo {
|
|
string computerName = 1;
|
|
string hostName = 2;
|
|
string arch = 3;
|
|
string model = 4;
|
|
string kernelVersion = 5;
|
|
string osRelease = 6;
|
|
uint32 activeCPUs = 7;
|
|
uint64 memorySize = 8;
|
|
uint64 cpuFrequency = 9;
|
|
}
|
|
|
|
message WindowsDeviceInfo {
|
|
string computerName = 1;
|
|
uint32 numberOfCores = 2;
|
|
uint32 systemMemoryInMegabytes = 3;
|
|
}
|
|
|
|
enum BrowserName {
|
|
unknown = 0;
|
|
firefox = 1;
|
|
samsungInternet = 2;
|
|
opera = 3;
|
|
msie = 4;
|
|
edge = 5;
|
|
chrome = 6;
|
|
safari = 7;
|
|
}
|
|
|
|
message WebBrowserInfo {
|
|
BrowserName browserName = 1;
|
|
string appCodeName = 2;
|
|
string appName = 3;
|
|
string appVersion = 4;
|
|
uint64 deviceMemory = 5;
|
|
string language = 6;
|
|
repeated string languages = 7;
|
|
string platform = 8;
|
|
string product = 9;
|
|
string productSub = 10;
|
|
string userAgent = 11;
|
|
string vendor = 12;
|
|
string vendorSub = 13;
|
|
uint32 hardwareConcurrency = 14;
|
|
uint32 maxTouchPoints = 15;
|
|
}
|