77 lines
3.0 KiB
Protocol Buffer
77 lines
3.0 KiB
Protocol Buffer
import "common_base.proto";
|
|
import "common.proto";
|
|
|
|
message CStoreAppSimilarity_IdentifyClustersFromPlaytime_Request {
|
|
optional fixed64 steamid = 1;
|
|
optional int32 sort = 2 [default = 1, (.description) = "enum"];
|
|
optional int32 clusters_to_return = 3;
|
|
optional int32 cluster_index = 4;
|
|
optional .StoreBrowseContext context = 10;
|
|
optional .StoreBrowseItemDataRequest data_request = 11;
|
|
}
|
|
|
|
message CStoreAppSimilarity_IdentifyClustersFromPlaytime_Response {
|
|
repeated .CStoreAppSimilarity_IdentifyClustersFromPlaytime_Response_Cluster clusters = 1;
|
|
}
|
|
|
|
message CStoreAppSimilarity_IdentifyClustersFromPlaytime_Response_Cluster {
|
|
optional int32 cluster_id = 1;
|
|
optional int32 playtime_forever = 2;
|
|
optional int32 playtime_2weeks = 3;
|
|
optional uint32 last_played = 4;
|
|
repeated int32 played_appids = 5;
|
|
repeated int32 similar_items_appids = 6;
|
|
repeated .StoreItem similar_items = 7;
|
|
optional double similar_item_popularity_score = 8;
|
|
}
|
|
|
|
message CStoreAppSimilarity_PrioritizeAppsForUser_Request {
|
|
optional fixed64 steamid = 1;
|
|
optional string country_code = 2;
|
|
repeated .StoreItemID ids = 3;
|
|
optional .StoreAppSimilarityPriorityOptions options = 4;
|
|
optional bool debug = 5;
|
|
optional bool include_owned_games = 6;
|
|
}
|
|
|
|
message CStoreAppSimilarity_PrioritizeAppsForUser_Response {
|
|
repeated .CStoreAppSimilarity_PrioritizeAppsForUser_Response_ResultItem items = 1;
|
|
}
|
|
|
|
message CStoreAppSimilarity_PrioritizeAppsForUser_Response_ResultItem {
|
|
optional .StoreItemID id = 1;
|
|
optional bool already_owned = 2;
|
|
optional double weight = 3;
|
|
optional double weight_before_dedupe = 4;
|
|
repeated .CStoreAppSimilarity_PrioritizeAppsForUser_Response_ResultItem_MatchDebugInfo debug_matches = 50;
|
|
optional .CStoreAppSimilarity_PrioritizeAppsForUser_Response_ResultItem_PopularityDebugInfo debug_popularity = 51;
|
|
}
|
|
|
|
message CStoreAppSimilarity_PrioritizeAppsForUser_Response_ResultItem_MatchDebugInfo {
|
|
optional int32 source_app = 1;
|
|
optional double weight = 2;
|
|
optional double similarity = 3;
|
|
}
|
|
|
|
message CStoreAppSimilarity_PrioritizeAppsForUser_Response_ResultItem_PopularityDebugInfo {
|
|
optional uint32 rank = 1;
|
|
optional double popularity_factor = 2;
|
|
optional double weight_before_popularity = 3;
|
|
}
|
|
|
|
message StoreAppSimilarityPriorityOptions {
|
|
optional double tag_score_factor = 1 [default = 1];
|
|
optional int32 playtime_max_seconds = 10 [default = 360000];
|
|
optional int32 playtime_max_games = 11 [default = 3];
|
|
optional double playtime_score_factor = 12 [default = 0.9];
|
|
optional int32 popularity_factor = 20 [default = 5, (.description) = "enum"];
|
|
optional int32 popularity_reciprocal = 21 [default = 10000];
|
|
optional int64 popularity_base_score = 22 [default = 5000000];
|
|
}
|
|
|
|
service StoreAppSimilarity {
|
|
rpc IdentifyClustersFromPlaytime (.CStoreAppSimilarity_IdentifyClustersFromPlaytime_Request) returns (.CStoreAppSimilarity_IdentifyClustersFromPlaytime_Response);
|
|
rpc PrioritizeAppsForUser (.CStoreAppSimilarity_PrioritizeAppsForUser_Request) returns (.CStoreAppSimilarity_PrioritizeAppsForUser_Response);
|
|
}
|
|
|