Yapay zeka uygulamandan basit bir HTML oyunu yayınla
upload_game ile 10 MiB’a kadar tek bir HTML dosyası yayınla: neler uygun, mini katalog, görünürlük, güncellemeler ve ne zaman pakete geçmeli.
Basit yol, canvas tabanlı bir arcade oyunu ya da DOM bulmacası gibi standart bir HTML oyununu tek bir upload_game çağrısıyla yayınlar. PlayDrop SDK’sı, derleme klasörü ya da ek dosya gerektirmez ve herkesin telefonda veya bilgisayarda açabileceği bir bağlantı döndürür.
Basit yol ne zaman uygun
- Oyunun tamamı, betikleri, stilleri, görselleri ve sesleri satır içinde olan, en fazla 10 MiB (10.485.760 UTF-8 bayt) boyutunda tek bir HTML dosyasıdır.
- Sıradan bir tarayıcı oyunudur: PlayDrop SDK’sını çağırmaz; yani bulut kayıtları, liderlik tabloları, başarımlar, paylaşım, partiler, satın alımlar ya da reklamlar yoktur.
- Ayrı dosya gerektirmez: oyun sayfası görselleri ya da videoları ve oyun sunucusu yoktur.
Bunlardan herhangi biri doğru değilse bunun yerine bir paket kullan. Kullanıcının istediği özellikleri koru; bu yola sığdırmak için onları asla kaldırma ya da çok dosyalı bir oyunu tek dosyaya indirgeme. Yükleme SDK çağrılarını, sunucu kodunu ve yalnızca pakete özgü katalog alanlarını advanced_upload_required ile reddeder.
Oyunu gönder
upload_game aracını yeni bir requestId, eksiksiz HTML ve tek bir oyun için mini bir katalogla çağır:
{
"requestId": "moon-jump-first-upload",
"html": "<!doctype html><html><head><meta charset=\"utf-8\"><title>Moon Jump</title></head><body>…</body></html>",
"catalogue": {
"apps": [{
"name": "moon-jump",
"displayName": "Moon Jump",
"description": "Jump between lunar platforms and reach the flag.",
"controls": "Tap or press Space to jump.",
"tags": ["game-genre/casual"],
"types": ["solo"],
"controller": { "support": "off" },
"authMode": "NONE",
"primarySurface": "MOBILE_PORTRAIT"
}]
}
}name, oyunun kalıcı slug’ıdır: 1–100 küçük harf, rakam ya da tire.tags,game-genre/casualgibi bir tür içermelidir; bkz. türler ve etiketler.types, oyunun nasıl oynandığını bildirir; tek dosyalık bir oyun normalde["solo"]olur. Parti boyutları ve çevrimiçi oyun paketlere aittir.controller.support,offdahil gerçek kumanda desteğini belirtir.authModegirişi belirler:NONEveyaOPTIONALherkesin oynamasına izin verir; atlanırsa varsayılan değerREQUIREDolur. Her güncellemede ekle.primarySurface, oyunun tasarlandığı yönü belirtir; basit yüklemeler masaüstü, yatay ve dikey için listelenir.
Kabul edilen diğer alanlar subtitle, emoji, color, license, creation, releaseNotes, inspirationPrompt, makingOf, sourceRepository, sourceLocale, offlineSupported ve instant alanlarıdır. Sürüm numarasını PlayDrop atar.
Kimlerin oynayabileceğini seç
- Yeni bir oyunda yapımcının hesap ayarını izlemek için
visibilitydeğerini dışarıda bırak (Listelenmemiş ya da Özel seçmedikçe Herkese açık); bir güncelleme oyunun mevcut kitlesini korur. "private", test için yalnızca yapımcının açabileceği bir sürüm kaydeder. Bu sürümü daha sonrapublish_game_versionile olduğu gibi yayınla; tekrar yükleme."unlisted", oyunu listelemeden bağlantısı olan herkese yayınlar;"public"onu keşfedilmesi için yayınlar.
Kullanıcının istediğini izle ve bir oyunu asla onun istediğinden daha görünür yapma. Bkz. kimler oynayabilir.
Makbuzu oku
Makbuz gameId, slug, version, status, visibility ve sahibine yönelik belirli sürümün bağlantısı olan url değerlerini içerir. Herkese açık ve listelenmemiş oyunlar ayrıca oyunun kalıcı sayfası olan shareUrl değerini de alır; kullanıcına bunu ver. Özel bir sürüm için url değerini ver. instant ve instantReason, Instant uygunluğunu bildirir.
Oyunu güncelle
list_games çağır, oyunun gameId değerini geçir ve name değerini koru. Eksiksiz HTML’yi ve eksiksiz mini kataloğu tekrar gönder: her yükleme tam bir anlık görüntüdür ve atlanan alanlar yeni sürümde yer almaz. Bağlantı aynı kalır. İlk olarak paket halinde yüklenen bir oyun, dosyaları ve özellikleri kaybolmasın diye paket yolunu kullanmaya devam etmelidir.
Sonradan pakete geç
Bulut kayıtları, bir liderlik tablosu, oyun sayfası görselleri ya da bir sunucu eklemek oyunu bir pakete dönüştürür. Bu, aynı oyunun sıradan bir güncellemesidir: name değerini koru, oyunu prepare_catalogue_upload ile yükle ve expectedCurrentVersion değerini list_games içindeki güncel sürüme ayarla. Paketleme kılavuzunu oku.