1// Copyright 2020 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15syntax = "proto3"; 16 17package google.maps.playablelocations.v3; 18 19import "google/api/field_behavior.proto"; 20 21option csharp_namespace = "Google.Maps.PlayableLocations.V3"; 22option go_package = "cloud.google.com/go/maps/playablelocations/apiv3/playablelocationspb;playablelocationspb"; 23option java_multiple_files = true; 24option java_outer_classname = "ResourcesProto"; 25option java_package = "com.google.maps.playablelocations.v3"; 26option php_namespace = "Google\\Maps\\PlayableLocations\\V3"; 27option objc_class_prefix = "GMPL"; 28 29// A report submitted by a player about a playable location that is considered 30// inappropriate for use in the game. 31message PlayerReport { 32 // The reason why the playable location is considered bad. 33 enum BadLocationReason { 34 // Unspecified reason. Do not use. 35 BAD_LOCATION_REASON_UNSPECIFIED = 0; 36 37 // The reason isn't one of the reasons in this enumeration. 38 OTHER = 1; 39 40 // The playable location isn't accessible to pedestrians. For example, if 41 // it's in the middle of a highway. 42 NOT_PEDESTRIAN_ACCESSIBLE = 2; 43 44 // The playable location isn't open to the public. For example, a private 45 // office building. 46 NOT_OPEN_TO_PUBLIC = 4; 47 48 // The playable location is permanently closed. For example, when a business 49 // has been shut down. 50 PERMANENTLY_CLOSED = 5; 51 52 // The playable location is temporarily inaccessible. For example, when a 53 // business has closed for renovations. 54 TEMPORARILY_INACCESSIBLE = 6; 55 } 56 57 // Required. The name of the playable location. 58 string location_name = 1 [(google.api.field_behavior) = REQUIRED]; 59 60 // Required. One or more reasons why this playable location is considered bad. 61 repeated BadLocationReason reasons = 2 62 [(google.api.field_behavior) = REQUIRED]; 63 64 // Required. A free-form description detailing why the playable location is 65 // considered bad. 66 string reason_details = 3 [(google.api.field_behavior) = REQUIRED]; 67 68 // Language code (in BCP-47 format) indicating the language of the freeform 69 // description provided in `reason_details`. Examples are "en", "en-US" or 70 // "ja-Latn". For more information, see 71 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 72 string language_code = 4; 73} 74 75// Encapsulates impression event details. 76message Impression { 77 // The type of impression event. 78 enum ImpressionType { 79 // Unspecified type. Do not use. 80 IMPRESSION_TYPE_UNSPECIFIED = 0; 81 82 // The playable location was presented to a player. 83 PRESENTED = 1; 84 85 // A player interacted with the playable location. 86 INTERACTED = 2; 87 } 88 89 // Required. The name of the playable location. 90 string location_name = 1 [(google.api.field_behavior) = REQUIRED]; 91 92 // Required. The type of impression event. 93 ImpressionType impression_type = 2 [(google.api.field_behavior) = REQUIRED]; 94 95 // An arbitrary, developer-defined type identifier for each type of game 96 // object used in your game. 97 // 98 // Since players interact with differ types of game objects in different ways, 99 // this field allows you to segregate impression data by type for analysis. 100 // 101 // You should assign a unique `game_object_type` ID to represent a distinct 102 // type of game object in your game. 103 // 104 // For example, 1=monster location, 2=powerup location. 105 int32 game_object_type = 4; 106} 107