Package google.maps.playablelocations.v3

索引

PlayableLocations

第 3 版的 Playable Locations API。

LogImpressions

rpc LogImpressions(LogImpressionsRequest) returns (LogImpressionsResponse)

在可播放位置顯示,以及使用者與這些位置互動時,記錄新事件。

系統不會儲存部分曝光;只儲存所有曝光並成功儲存請求,或者沒有儲存任何曝光,因此這個請求會失敗。

LogPlayerReports

rpc LogPlayerReports(LogPlayerReportsRequest) returns (LogPlayerReportsResponse)

記錄玩家提交的可播放位置報告錯誤。

由於系統並未儲存部分報表,因此只儲存了所有報表並成功儲存報表,否則此請求就會失敗。

SamplePlayableLocations

rpc SamplePlayableLocations(SamplePlayableLocationsRequest) returns (SamplePlayableLocationsResponse)

傳回位於指定區域內的可播放位置組合,這些地點符合選用的篩選條件。

注意:相同的 SamplePlayableLocations 要求可能會隨著世界狀態隨時間而傳回不同的結果。

曝光

封裝曝光事件詳細資料。

欄位
location_name

string

必要欄位。可播放位置的名稱。

impression_type

ImpressionType

必要欄位。曝光事件的類型。

game_object_type

int32

遊戲中所用遊戲物件類型的任意開發人員定義的類型 ID。

由於玩家會與不同類型的遊戲物件互動,因此這個欄位可讓您依類型區隔曝光資料以供分析。

您必須指派專屬的 game_object_type ID 來代表遊戲中不同類型的遊戲物件。

例如,1=怪物位置,2=強化位置。

ImpressionType

曝光事件的類型。

列舉
IMPRESSION_TYPE_UNSPECIFIED 未指定的類型。請勿使用。
PRESENTED 系統向玩家顯示可播放的位置。
INTERACTED 玩家與可播放的位置互動。

LogImpressionsRequest

記錄曝光的要求。

欄位
impressions[]

Impression

必要欄位。曝光事件詳細資料。您一次最多可記錄 50 次曝光報表。

request_id

string

必要欄位。專門識別記錄曝光請求的字串。這可讓您偵測重複的要求。建議您使用 UUID。值不得超過 50 個半形字元。

只有在重試要求失敗時,才應重複使用 request_id。在這種情況下,要求必須與失敗的網址相同。

client_info

ClientInfo

必要欄位。用戶端裝置的相關資訊。例如裝置型號和作業系統。

LogImpressionsResponse

LogImpressions 方法的回應。這個方法在成功時不會傳回任何資料。

LogPlayerReportsRequest

要求記錄玩家的損壞位置回報。

欄位
player_reports[]

PlayerReport

必要欄位。玩家報表。一次最多可記錄 50 名玩家報告。

request_id

string

必要欄位。專門識別記錄播放器報告要求的字串。這可讓您偵測重複的要求。建議您使用 UUID。值不得超過 50 個半形字元。

只有在失敗時重新提出要求時,才應重複使用 request_id。在這種情況下,要求必須與失敗的要求相同。

client_info

ClientInfo

必要欄位。用戶端裝置的相關資訊 (例如裝置型號和作業系統)。

LogPlayerReportsResponse

LogPlayerReports 方法的回應。

這個方法在成功時不會傳回任何資料。

PlayerReport

玩家提交的可玩地點報告,視為遊戲不適合用於遊戲的位置。

欄位
location_name

string

必要欄位。可播放位置的名稱。

reasons[]

BadLocationReason

必要欄位。這個可播放位置經判定為不佳的一或多個原因。

reason_details

string

必要欄位。任意形式的說明,詳細說明可播放位置被判定為不良的原因。

language_code

string

語言代碼 (採用 BCP-47 格式),指出 reason_details 中提供的任意形式說明的語言。例如「en」、「en-US」或「ja-Latn」。詳情請參閱 http://www.unicode.org/reports/tr35/#Unicode_locale_identifier

BadLocationReason

可播放位置被判定為不良的原因。

列舉
BAD_LOCATION_REASON_UNSPECIFIED 原因不明。請勿使用。
OTHER 原因並非列舉中的一個原因。
NOT_PEDESTRIAN_ACCESSIBLE 行人無法存取這個可玩的地點。舉例來說,如果地點在高速公路中間。
NOT_OPEN_TO_PUBLIC 可播放位置未對外公開。例如私人辦公大樓。
PERMANENTLY_CLOSED 可播放的地點已永久關閉。例如商家停業的時間。
TEMPORARILY_INACCESSIBLE 可播放的位置暫時無法使用。例如商家停業休息時。

SamplePlayableLocationsRequest

查詢的生命週期:

  • 當遊戲在新位置開始時,遊戲伺服器就會發出 SamplePlayableLocations 要求。要求會指定 S2 儲存格,且包含一或多個用於篩選的「條件」:

  • 條件 0:i 長期存在的基地或等級 0 怪物,或者...

  • 條件 1:存活在短期基地的 j 地點或第 1 級怪物...
  • 條件 2:隨機物件的 k 位置。
  • 等 (最多可指定 5 個條件)。

PlayableLocationList 將包含符合每項條件的 PlayableLocation 物件,且可互斥。這就好比是現實生活地點的集合,再與遊戲狀態建立關聯。

注意:這些點在本質上並不適用,例如,公園可以停靠,也可以移除地點。

回應會指定可播放位置預計會持續多久時間。物件到期後,您必須再次查詢 samplePlayableLocations API,以取得現實世界的全新檢視畫面。

欄位
area_filter

AreaFilter

必要欄位。指定要在可播放的位置搜尋的區域。

criteria[]

Criterion

必要欄位。指定一或多個 (最多 5) 個條件,用來篩選傳回的可播放位置。

SamplePlayableLocationsResponse

SamplePlayableLocations 方法的回應。

欄位
locations_per_game_object_type

map<int32, PlayableLocationList>

每個 PlayableLocation 物件都會對應到要求中指定的 game_object_type。

ttl

Duration

必要欄位。指定一組可播放位置的「存留時間」。您可以利用這個值決定快取可播放位置組合的時間長度。這段時間過後,您的後端遊戲伺服器應發出新的 SamplePlayableLocations 要求,以取得一組新的可玩地點 (例如,這些地點可能已移除、公園可能當天已停業,而商家可能就永久停業)。