本文件使用下列術語 (即 RFC 2119):
- 必須且不得,這些是所有遊戲都必須符合的硬性規定;
- 不應和不應,這些建議並非必要,但在決定如何排名或篩選向使用者顯示的遊戲時,可能會派上用場。舉例來說,如果使用者的螢幕為橫向 GameSnacks,則可選擇只推薦支援這個顯示比例的遊戲。
- 可:這些是非必要的建議,不會用於篩選遊戲,除非使用者明確要求。舉例來說,日後的新功能可讓使用者查看支援遊戲手把輸入功能的遊戲清單。
下列規定適用於您的遊戲及其資產:
遊戲結構
遊戲會上傳成檔案組合,其中包含遊戲本身的程式碼和執行階段資源、在 GameSnacks 目錄中顯示該遊戲的行銷資產,以及儲存遊戲中繼資料並列舉套件中所有資源的 game.json
檔案。
game.json
包含遊戲中繼資料的設定檔。
- 遊戲必須包含一個
game.json
檔案,且該檔案包含所有必填欄位。 - 這個檔案必須放在遊戲的根目錄中。
HTML 進入點
載入遊戲的 HTML 文件。
- 您的進入點必須是有效的 HTML 檔案。
這個檔案「必須」最多包含一個
head
元素和一個body
元素。- 這兩個元素 (如有) 都必須同時含有起始標記和結束標記。
系統會忽略這些元素外的內容和這些元素的屬性。
您可以使用以下方式,而不必直接在
body
元素上設定屬性:onload
:Window
的載入事件style
:CSS 樣式
Files
套件中的所有個別檔案 (包括遊戲及其相關行銷資產) 都必須符合下列規定:
- 每個檔案都必須小於 10 MiB。
- 檔案必須只能使用相對路徑參照。
- 路徑必須僅使用
/
做為目錄分隔符。 - 檔案名稱必須僅使用未保留的字元 (RFC 3986)。
- 檔案名稱和所有路徑都必須是小寫。
遊戲大小
遊戲大小是指下載到使用者裝置的所有程式碼和資源總大小。
技術相關規定
遊戲必須符合下列技術規定。
GameSnacks SDK
- 您的遊戲必須與 GameSnacks Developer SDK 整合,包括所有必要介面。
- 您的遊戲不得直接載入任何廣告 API (例如插入 adsbygoogle.js 等廣告代碼)。
- GameSnacks 會為您載入所有必要的廣告服務。
- 如要進一步瞭解如何在遊戲中支援廣告,請參閱「營利規定」。
瀏覽器相容性
- 您的遊戲必須使用 Canvas API 或 WebGL 進行算繪。
- 您的遊戲必須在下列瀏覽器的兩個最新主要版本中正確執行:
- Android、iOS、Windows 和 macOS 上的 Chrome
- iOS 和 macOS 上的 Safari
- Android 與 Windows 版的 Firefox
- Windows 邊緣
- 您的遊戲必須在 Android 和 iOS 最近兩個主要版本的最新版網路檢視畫面中正確執行:
- Android 版 WebView
- WKWebView (iOS)
- 請盡可能在各種獨立和內嵌式網路轉譯器的情況下,測試您的遊戲。
最低裝置功能
遊戲在低階裝置上必須能正常執行。相關指引說明 GameSnacks 遊戲所需的最低裝置功能。
遊戲在具備以下規格或更高規格的裝置上,都必須以 30 fps 或更高影格執行:
- CPU:Qualcomm 215、Samsung Exynos 7570、Mediatek MT6737 或類似版本
- RAM:2 GiB
- GPU:ARM Mali-T720 MP1、Qualcomm Adreno 308 或類似元件
符合此規格的手機範例包括 JioPhone Next、Nokia 1.4、LG K22、Samsung J2 Core 和 Motorola Moto E4
初始下載大小
初始下載大小是指用戶端啟動遊戲時,會下載的資料量。
- 初始下載的大小必須小於 15 MiB。
- 初始下載項目應小於 5 MiB。
功能需求
遊戲必須符合下列功能規定。
載入時間
載入時間是指初次執行程式碼和啟動遊戲所需的時間。
- 您的遊戲必須顯示載入畫面,或需在 1 秒內以至少 10 Mbps 的連線方式顯示。
- 您的遊戲必須在 15 秒內 (只要任何連線至少 10 Mbps) 進行播放。
當機
- 您的遊戲不得導致持續重現的當機問題。
- 在嵌入該遊戲的應用程式或網站中,您的遊戲不得持續重現當機問題。
顯示比例
GameSnacks 會為遊戲建立影格。這個影格的大小和顯示比例會因發布介面、裝置和遊戲周圍是否出現廣告而異。舉例來說,當使用者調整瀏覽器視窗大小時,這個頁框可能會改變大小。
- 您的遊戲應使用影格中的所有可用區域,顯示互動式內容,且不應有額外的邊框間距或補白器。
- 您的遊戲必須支援 9:16 的直向顯示比例。
- 您的遊戲應支援 16:9 的橫向顯示比例。
- 您的遊戲應支援 1:1 的正方形顯示比例。
- 在理想情況下,您的遊戲應採用回應式設計,並支援各種直向、橫向和正方形顯示比例。
- 當影格大小變更時,遊戲必須立即調整大小以遵守這些規定。
- 您的遊戲應該流暢地轉換至新的大小。
- 您的遊戲不得鎖定瀏覽器方向。
遊戲互動
- 您的遊戲必須可以使用觸控輸入完整播放。
- 您的遊戲必須可以使用滑鼠輸入功能完整遊玩。
- 您的遊戲應該可以使用鍵盤輸入功能完整遊玩。
- 您的遊戲「可以」使用遊戲手把輸入裝置完整遊玩。
- 在遊戲中顯示的所有 UI 元素必須實作並正常運作。
- 遊戲「不得」包含已停用的控制項,如果無法使用這項功能,您必須從 UI 中完全移除該功能。
- 這包含獎勵提示;只有在呼叫該廣告插播的
beforeReward
回呼時,才會顯示獎勵提示。
- 這包含獎勵提示;只有在呼叫該廣告插播的
- 您的遊戲不得顯示遊戲內分享提示。
- 您的遊戲不得顯示會將使用者導向外部遊戲、網站或其他內容的 UI 或遊戲內連結。
- 當使用者完成上個關卡或完成遊戲後,遊戲就「必須」明確告知使用者。
- 您的遊戲不得使用可能會與 GameSnacks 遊戲不支援的應用程式內購功能混淆的字詞,例如「購買」或「購買」。
- 如果遊戲提供觸覺回饋,使用者必須能夠關閉該功能。
遊戲啟動
遊戲必須在啟動時正確與 GameSnacks 執行階段協調。GameSnacks Game
介面提供發出遊戲載入狀態信號的函式,包括:您準備首次在螢幕上繪圖時呼叫 firstFrameReady
,以及使用者開始與遊戲互動時 ready
。
- 當遊戲的第一個影格準備好轉譯時,您的遊戲必須呼叫
firstFrameReady
。 - 遊戲可供使用者互動時,遊戲必須呼叫
ready
。 - 如果有顯示的非互動式元素 (例如啟動畫面或載入畫面),遊戲就不得呼叫
ready
。
關閉控制項和音效處理功能
遊戲必須遵循 GameSnacks 平台音效控制選項的規定。
- 您的遊戲不應顯示整體靜音按鈕,而應改用 GameSnacks 平台靜音控制項。
- 您的遊戲必須整合音訊介面,且必須遵循
audio.isEnabled
方法。 - 您的遊戲「可能」有個別的精細音訊控制項 (例如背景音樂或音效),但遊戲「必須」符合這些規定。
暫停及繼續
遊戲必須支援暫停和恢復功能。
- 您的遊戲必須與遊戲介面
onPause
和onResume
方法整合,以便暫停及繼續遊戲過程。 - 您的遊戲不得使用 Page Visibility API 或類似的網路 API。
- 如果您的遊戲暫停,就「必須」讓使用者清楚知道該遊戲。
- 遊戲在暫停時應儲存使用者進度。
資料處理
「只」使用 GameSnacks 儲存空間 API 處理資料,
- 您的遊戲必須只使用儲存空間介面儲存遊戲資料。
- 您的遊戲不得使用任何其他形式的儲存空間,包括 Cookie、
localStorage
、sessionStorage
和IndexedDB
。 - 您的遊戲不得收集任何使用者資料。
- 您的遊戲不得使用任何通訊協定,向任何伺服器發出任何外部呼叫或資料要求。
- 您的遊戲不得顯示任何額外的使用者協議、隱私權政策,或其他資料收集或監管訊息。
正在儲存進度
儲存使用者的進度,並可在使用者返回遊戲時還原進度。
- 當使用者完成具體進度 (例如過關) 時,遊戲必須使用儲存空間介面儲存進度。
- 遊戲進度存檔總大小必須小於 3 MiB,且應小於 500 KiB。
- 遊戲必須還原所有已儲存的進度。
- 您的遊戲必須能夠還原先前版本的遊戲進度存檔。
最高分
儲存使用者最高分,或使用不同指標追蹤進度。
- 如果您的遊戲有分數,遊戲必須使用 Score 介面介面追蹤分數。
- 如果遊戲沒有分數,則應追蹤替代進度指標,例如已完成的關卡數量。
遊戲內容
下列規定適用於遊戲內容:
遊戲 UI
- 遊戲必須在各種螢幕解析度之間清楚顯示。舉例來說,UI 元素不得模糊不清、像素化或延展。
- 您的遊戲不應使用在針對大螢幕縮放時模糊的低解析度光柵化素材資源。
- 您的遊戲不得使用容易與 GameSnacks 動作列中的圖示混淆的圖示。
- 您的遊戲不得含有遊戲內退出或退出按鈕。這會由嵌入遊戲的應用程式或網站處理。
本地化和無障礙設計
- 您的遊戲必須支援英文。
- 您的遊戲應該力求完美無缺。建議您根據《網頁內容無障礙指南》(WCAG) 等級 AA 執行。
- 遊戲中的文字必須在各種裝置和螢幕大小上都能清晰易讀。 請參閱 WCAG 2.2 §1.4.3。
兒童導向內容
- 您的遊戲不得特別以兒童為目標對象。如需更多資訊,請參閱判斷您的內容是否屬於「兒童專屬」。
權利與取得授權
- 您的遊戲必須完全取得第三方智慧財產權。
- 您的遊戲不得侵犯任何第三方商標或商業洋裝。
- 您的遊戲必須具備所有必要的音樂權利。
- 您的遊戲「必須」具備所有必要人格權利,包括姓名和外觀。
我的遊戲會顯示在哪裡?
我們會在 Google 產品和 GameSnacks 合作夥伴網站和應用程式的一系列介面上發布 GameSnacks 遊戲,行動裝置和電腦都適用。舉例來說,我們發布 GameSnacks 遊戲的範例包括 Google Play 遊戲應用程式、Android 裝置和 gamesnacks.com 網站。這正是我們目前大部分的流量來自何處不過,我們發布遊戲的地區不斷在演進,所以我們一直致力擴大 GameSnacks 遊戲的目標對象。日後我們可能會新增 Google 途徑或發布合作夥伴。我們也會不時執行實驗,同時拓展新的發行途徑。
營利
GameSnacks 會依據 GameSnacks 開發人員授權協議規定,從你的遊戲賺取收益,並將收益分給遊戲。
GameSnacks 可在自然的遊戲活動中自動刊登廣告,例如片頭廣告、下一關和結束的活動。您也可以使用 GameSnacks 開發人員 SDK 的 廣告介面,在遊戲中加入其他廣告插播時間點 (包括插頁式廣告和獎勵)。
如果遊戲的營利商機過少,或是營利機會不理想,可能就會降低曝光頻率,或是未獲準發行。原則是確保每分鐘至少有一次廣告商機。這包括您刊登的插頁式廣告和獎勵廣告,以及 GameSnacks 自動設定的廣告插播時間點。
不過,這不代表系統會一定會顯示廣告。GameSnacks 會審慎在廣告載入量、參與度和使用者體驗之間取得平衡。您應該在遊戲適合的任何位置 (例如每分鐘超過一次) 建立廣告插播,讓 GameSnacks 調整廣告放送的最終速率。
營利規定:
您的遊戲應提供可持續、不中斷且不中斷的核心遊戲體驗,並提供適當機會顯示插頁式廣告和獎勵廣告,而這些需求必須使用廣告介面設定。
您不得加入任何其他形式的宣傳或營利機會。這包括遊戲內廣告、付款、贊助和置入性行銷內容、社群媒體提示,以及將使用者帶往外部遊戲、網站或其他內容的連結。
您「必須」確保遊戲提供足夠的廣告顯示機會,讓您與 GameSnacks 發行合作夥伴都能產生永續收益。可能是因正常遊戲事件 (例如下一關) 而自然產生,或是在遊戲的其他適當時刻使用廣告介面方法明確造成的。
使用廣告介面方法在遊戲中刊登廣告時,您必須遵循所有相關的插頁式廣告和獎勵行為政策。此外,您也可以參閱這組最佳做法,進一步瞭解如何設定遊戲內廣告。
如果您在遊戲中刊登插頁式廣告,必須確保這類廣告會在遊戲過程的自然中斷點顯示。廣告必須符合遊戲流程。您「不得」只在連續的遊戲期間觸發插頁式廣告。
如果您的遊戲機制支援這項功能,就應該刊登獎勵廣告。這些獎勵商機必須為選填,必須清楚描述,且不得鼓勵使用者點擊廣告。請參閱行為政策瞭解完整需求。