@@ -62,6 +62,12 @@ service ActivityService {
6262 rpc TrackPerformanceEvent (TrackPerformanceEventRequest ) returns (TrackPerformanceEventResponse );
6363 rpc GetPerformanceAnalytics (GetPerformanceAnalyticsRequest ) returns (GetPerformanceAnalyticsResponse );
6464
65+ // Advanced analytics
66+ rpc GetTrendingBlogs (GetTrendingBlogsRequest ) returns (GetTrendingBlogsResponse );
67+ rpc GetActiveUsers (GetActiveUsersRequest ) returns (GetActiveUsersResponse );
68+ rpc GetAccountActivities (GetAccountActivitiesRequest ) returns (GetAccountActivitiesResponse );
69+ rpc GetAdvancedAnalytics (GetAdvancedAnalyticsRequest ) returns (GetAdvancedAnalyticsResponse );
70+
6571 // Health check
6672 rpc HealthCheck (HealthCheckRequest ) returns (HealthCheckResponse );
6773}
@@ -1063,6 +1069,93 @@ message GetPerformanceAnalyticsResponse {
10631069 Error error = 5 ;
10641070}
10651071
1072+ // Get Trending Blogs
1073+ message GetTrendingBlogsRequest {
1074+ string account_id = 1 ;
1075+ string time_range = 2 ; // "24h", "7d", etc.
1076+ int32 limit = 3 ;
1077+ }
1078+
1079+ message TrendingBlog {
1080+ string blog_id = 1 ;
1081+ int64 views = 2 ;
1082+ int64 likes = 3 ;
1083+ double score = 4 ;
1084+ }
1085+
1086+ message GetTrendingBlogsResponse {
1087+ int32 status_code = 1 ;
1088+ repeated TrendingBlog blogs = 2 ;
1089+ Error error = 3 ;
1090+ }
1091+
1092+ // Get Active Users
1093+ message GetActiveUsersRequest {
1094+ string account_id = 1 ;
1095+ string time_range = 2 ;
1096+ }
1097+
1098+ message ActiveUser {
1099+ string user_id = 1 ;
1100+ google.protobuf.Timestamp last_active = 2 ;
1101+ }
1102+
1103+ message GetActiveUsersResponse {
1104+ int32 status_code = 1 ;
1105+ int64 active_users = 2 ;
1106+ Error error = 3 ;
1107+ repeated ActiveUser user_list = 4 ;
1108+ }
1109+
1110+ // Get Account Activities
1111+ message GetAccountActivitiesRequest {
1112+ string account_id = 1 ;
1113+ ActivityCategory category = 2 ;
1114+ string action = 3 ;
1115+ google.protobuf.Timestamp start_time = 4 ;
1116+ google.protobuf.Timestamp end_time = 5 ;
1117+ int32 limit = 6 ;
1118+ int32 offset = 7 ;
1119+ }
1120+
1121+ message GetAccountActivitiesResponse {
1122+ int32 status_code = 1 ;
1123+ repeated ActivityEvent activities = 2 ;
1124+ int64 total_count = 3 ;
1125+ Error error = 4 ;
1126+ }
1127+
1128+ // Advanced Analytics (The 5-point suite)
1129+ message GetAdvancedAnalyticsRequest {
1130+ string account_id = 1 ;
1131+ string time_range = 2 ;
1132+ }
1133+
1134+ message AdvancedAnalytics {
1135+ // 1. User Retention
1136+ double retention_rate = 1 ;
1137+ int64 new_users = 2 ;
1138+ int64 returning_users = 3 ;
1139+
1140+ // 2. Conversion Funnel
1141+ google.protobuf.Struct conversion_funnel = 4 ;
1142+
1143+ // 3. Geographic Hotspots
1144+ map <string , int64 > geographic_hotspots = 5 ;
1145+
1146+ // 4. Peak Reading Times
1147+ map <string , int64 > peak_reading_times = 6 ;
1148+
1149+ // 5. Platform Bias
1150+ map <string , int64 > platform_bias = 7 ;
1151+ }
1152+
1153+ message GetAdvancedAnalyticsResponse {
1154+ int32 status_code = 1 ;
1155+ AdvancedAnalytics analytics = 2 ;
1156+ Error error = 3 ;
1157+ }
1158+
10661159// Health Check
10671160message HealthCheckRequest {
10681161}
@@ -1080,4 +1173,4 @@ message Error {
10801173 int32 status = 1 ;
10811174 string error = 2 ;
10821175 string message = 3 ;
1083- }
1176+ }
0 commit comments