// niantic_platform_analytics_maps.proto // Reconstructed from com.nianticlabs.pokemongo 0.431.0 (versionCode 2026092402, arm64-v8a). // Field numbers were recovered from the compiled parsers; names come from the C# types, // so some may differ from Niantic's originals. Study material, not an official API. syntax = "proto3"; package niantic.platform.analytics.maps; message ClientTelemetryClientSettingsProto { bool is_upload_enabled = 1; int64 max_upload_size_in_bytes = 2; int64 update_interval_in_sec = 3; int64 settings_update_interval_in_sec = 4; int64 max_envelope_queue_size = 5; double sampling_probability = 6; bool use_player_based_sampling = 7; double player_hash = 8; string player_external_omni_id = 9; bool disable_omni_sending = 10; map special_sampling_probability_map = 11; string player_external_ua_id = 12; string player_external_in_app_survey_id = 13; bool enable_experimental_features = 14; string player_external_ardk_id = 15; } message ClientTelemetryCommonFilterProto { string application_identifier = 1; string operating_system_name = 2; string device_model = 3; string locale_country_code = 4; string locale_language_code = 5; double sampling_probability = 6; string quality_level = 7; string network_connectivity_type = 8; string game_context = 9; string language_code = 10; string timezone = 11; string ip_country_code = 12; string client_version = 14; string graphics_device_vendor = 17; string graphics_device_name = 18; string graphics_device_type = 19; string graphics_shader_level = 20; } message ClientTelemetryRecordResult { string record_id = 1; Status status = 2; string telemetry_type_name = 3; enum Status { STATUS_UNSET = 0; STATUS_SUCCESS = 20; STATUS_ERROR_FAMILY_UNSET = 21; STATUS_ERROR_FAMILY_INVALID = 22; STATUS_ERROR_ENCODING_INVALID = 23; STATUS_ERROR_UNSET_METRIC_ID = 24; STATUS_ERROR_EVENT_TELEMETRY_UNDEFINED = 25; } } message ClientTelemetryResponseProto { Status status = 1; int32 rows_written = 2; int32 nonretryable_failures = 3; repeated ClientTelemetryRecordResult retryable_failures = 4; enum Status { STATUS_UNSET = 0; STATUS_SUCCESS = 1; STATUS_FAILURE = 2; STATUS_PARTIAL_FAILURE = 3; STATUS_INVALID_REQUEST = 4; } } message PlatformPlayerInfo { string identity_provider = 1; int64 profile_creation_timestamp_ms = 2; int32 player_level = 3; int32 team_id = 4; double lifetime_km_walked = 5; int64 lifetime_steps_walked = 6; } message TelemetryAttribute { TelemetryField field = 1; TelemetryValue value = 2; int64 timestamp = 3; repeated Label labels = 4; message Label { TelemetryField field = 1; repeated TelemetryValue values = 2; } } message TelemetryAttributeRecordProto { TelemetryAttribute attribute = 2; TelemetryAttributeV2 attribute_v2 = 4; oneof metadata { TelemetryMetadataProto common = 1; bytes compressed_common = 3; } } message TelemetryAttributeV2 { string attribute_name = 1; TelemetryValue value = 2; } message TelemetryBatchProto { string environment_id = 1; repeated TelemetryEventRecordProto events = 2; repeated TelemetryMetricRecordProto metrics = 3; repeated TelemetryAttributeRecordProto attributes = 4; } message TelemetryEventRecordProto { string event_name = 2; string facet_detail_name = 4; oneof metadata { TelemetryMetadataProto common = 1; bytes compressed_common = 6; } oneof message { bytes encoded_message = 3; bytes compressed_message = 5; } } message TelemetryField { string entity_name = 1; string field_path = 2; repeated TelemetryKey keys = 3; } message TelemetryKey { string key_name = 1; TelemetryValue value = 2; } message TelemetryMetadataProto { string user_id = 1; int64 session_id = 2; repeated int64 experiment_ids = 3; string record_id = 4; TelemetryScopeId telemetry_scope_id = 5; bool is_queryable = 6; string keyvalue_column = 7; uint32 processing_attempts_count = 8; string pub_sub_message_id = 9; repeated string population_group_ids = 10; int64 source_published_timestamp_millis = 11; int64 anfe_published_timestamp_millis = 12; PlatformPlayerInfo platform_player_info = 13; ClientTelemetryCommonFilterProto device_info = 14; enum TelemetryScopeId { TELEMETRY_SCOPE_ID_UNSET = 0; TELEMETRY_SCOPE_ID_PLATFORM_SERVER = 1; TELEMETRY_SCOPE_ID_PLATFORM_CLIENT = 2; TELEMETRY_SCOPE_ID_GAME_SERVER = 3; TELEMETRY_SCOPE_ID_GAME_CLIENT = 4; } } message TelemetryMetricRecordProto { string metric_id = 2; Kind kind = 6; oneof metadata { TelemetryMetadataProto common = 1; bytes compressed_common = 7; } oneof value { int64 long = 3; double double = 4; bool boolean = 5; } enum Kind { KIND_UNSPECIFIED = 0; KIND_GAUGE = 1; KIND_DELTA = 2; KIND_CUMULATIVE = 3; } } message TelemetryRequestProto { string api_version = 1; string message_version = 2; bytes telemetry_batch = 3; } message TelemetryValue { oneof value { int64 int_value = 1; double double_value = 2; string string_value = 3; bool bool_value = 4; } }