Files
rr3-apk/unknown/gatewayprotocol/v1/native_configuration.proto
Daniel Elliott f3960ee359 Add Discord APKTool decompilation (Smali source for modding)
- Imported from https://github.com/supermegamestre/Project-Real-Resurrection-3
- APKTool decompilation (Smali bytecode) for modding and rebuilding APK
- Supports both 32-bit (armeabi-v7a) and 64-bit (arm64-v8a) architectures
- Includes full Smali source, resources, and native libraries
- Ready to rebuild APK after modifications with apktool b command
- Added comprehensive README-apktool.md with modding guide

This branch complements the JADX branches:
- Use JADX (main/discord-community) to UNDERSTAND code (readable Java)
- Use APKTool (this branch) to MODIFY and REBUILD APK (editable Smali)

Total: 44,417 files, 538.51 MB Smali source code
2026-02-18 16:13:44 -08:00

127 lines
5.1 KiB
Protocol Buffer

syntax = "proto3";
package gatewayprotocol.v1;
import "gatewayprotocol/v1/diagnostic_event_request.proto";
option swift_prefix = "Gateway";
// Message contains configuration for retry
message RequestRetryPolicy {
// Maximum total elapsed time (ms) for a request including for all retries -
// also provides TTL for local storage, if enabled. For example operative
// events could have a 7 day max duration, and adRequests might have only
// 2000ms (depending on mediator etc)
int32 max_duration = 1;
// The minimum time (ms) before retrying a request
int32 retry_wait_base = 2;
// The maximum time (ms) before retrying a request - any inter-request delay
// should not exceed this value (used on long max duration)
int32 retry_max_interval = 3;
// The jitter percentage (0.0-1.0) that should be applied to the overall delay
float retry_jitter_pct = 4;
// The retry scaling factor that should be used to create the time delay
// between the requests
float retry_scaling_factor = 5;
// Whether or not the native SDK should store the request to be retried at a
// later time (used on long max duration requests)
bool should_store_locally = 6;
// The formula for calculating the delay between retries is:
// interval = (retry_wait_base * retry_scaling_factor * retry_count) +
// (retry_wait_base * random(retry_jitter_pct))
// if interval > retry_max_interval then interval = retry_max_interval
// if elapsed_time + interval > max_duration then don't retry
// Note: A request must always be made at least once, retry_count does
// not need to be preserved between sessions, retry_count must start at 1
}
// Message contains configuration for timeouts on http requests
message RequestTimeoutPolicy {
// Specifies the maximum time allowed for establishing a connection with the
// server
int32 connect_timeout_ms = 1;
// Specifies the maximum time allowed for reading the response from the
// server
int32 read_timeout_ms = 2;
// Specifies the maximum time allowed for writing data to the server
int32 write_timeout_ms = 3;
// The overall timeout for a request - may be a combination of the above, may
// be longer / shorter depending on requirements
int32 overall_timeout_ms = 4;
}
message RequestPolicy {
RequestRetryPolicy retry_policy = 1;
RequestTimeoutPolicy timeout_policy = 2;
}
// Message contains configuration for diagnostic events
message DiagnosticEventsConfiguration {
// Whether or not the native SDK should send diagnostic events
bool enabled = 1;
// Batch size for diagnostic events
int32 max_batch_size = 2;
// Maximum time (ms) to wait before sending a batch of diagnostic events
// regardless of number of events in the batch
int32 max_batch_interval_ms = 3;
// iOS Specific. Whether or not URLSession task transaction metrics should be
// enabled
bool ttm_enabled = 4;
// Severity of diagnostics events which are allowed to send to the server
DiagnosticEventsSeverity severity = 5;
// Diagnostic events which are allowed to send to the server, ignores severity
repeated DiagnosticEventType allowed_events = 6;
// Diagnostic events which are blocked from sending to the server, ignores severity
repeated DiagnosticEventType blocked_events = 7;
}
// Message contains configuration for ad operations
message AdOperationsConfiguration {
// Specifies the maximum time allowed for load to complete
int32 load_timeout_ms = 1;
// Specifies the maximum time allowed for show to start
int32 show_timeout_ms = 2;
// Specifies the maximum time allowed for an asynchonous getToken call to return a token while initialization is in progress
int32 get_token_timeout_ms = 3;
}
// Message which contains all properties which can be consumed by the native
// side
message NativeConfiguration {
// Configuration for diagnostic events
DiagnosticEventsConfiguration diagnostic_events = 1;
// Policies for initialization requests
RequestPolicy init_policy = 2;
// Policies for ad requests (including refresh)
RequestPolicy ad_policy = 3;
// Policies for operative event requests
RequestPolicy operative_event_policy = 4;
// Policies for other requests
RequestPolicy other_policy = 5;
// Policies for ad operations
AdOperationsConfiguration ad_operations = 6;
// Feature flags for experimental features
FeatureFlags feature_flags = 7;
// If set, will enable collection of IAP data
bool enable_iap_event = 8;
// If set, will enable Open-Measurement-SDK
bool enable_om = 9;
// List of additional store package to be queried (later returned in static device info)
repeated string additional_store_packages = 10;
}
// Message which contains all current experimental features that can be enabled
message FeatureFlags {
// Whether or not the native Android SDK should try and use OpenGL to determine the installed GPU
bool opengl_gpu_enabled = 1;
// Validates the loaded campaign to see if opportunity id used in show and placement id provided correlates
bool opportunity_id_placement_validation = 2;
// Whether or not next session should be initialized with bold or legacy flow.
bool bold_sdk_next_session_enabled = 3;
}