Bu belgede, PC Üzerinde Google Play Games için SDK'lar ve yayınlama hakkında sık sorulan soruların yanıtları yer almaktadır.
VPN nasıl eklenir?
Oyunlarını PC Üzerinde Google Play Games'in desteklenmediği bölgelerde test etmesi gereken geliştiricilerin, desteklenen bir bölgeden IP adresi almak için VPN kullanmasını öneririz.
VPN'de TUN modunu etkinleştirdiğinizden emin olun. TUN modunu etkinleştirme ve güvenlik duvarını yapılandırma ile ilgili yönergeleri VPN sağlayıcının kullanım kılavuzunda bulabilirsiniz.
TUN modu etkinleştirildikten sonra, test amacıyla PC Üzerinde Google Play Games'i ve emülatörü yükleyin.
Satın alma sürecini arka uç sunucusu olmadan kullanabilir misiniz?
Güvenlik açısından, arka uç sunucusu olmadan işleme genellikle önerilmez.
Daha fazla bilgi için Arka uç sunucusu olmadan işleme başlıklı makaleyi inceleyin.
Unity veya UE Editor'da PC Üzerinde Google Play Games için geliştirmeye nasıl başlanır?
- Geliştirici modunu etkinleştirin ve test işlemine devam edin.
manifest.xmlve.dlldosyalarını ekleyin. Daha fazla bilgi için geliştirici dokümanına bakın.- Test amacıyla erken erişim iş ortağı GUID'si kaydedin.
Google Play Games uygulamasını kullanarak bir oyuna başladığınızda Google Hesabı ayrıntılarınız senkronize ediliyor mu?
Oyun, Google Play Games istemcisi üzerinden başlatıldıktan sonra hesap otomatik olarak senkronize edilir ve Google oturum açma işlemi üzerinden tekrar giriş yapılması gerekmez.
Üçüncü taraf başlatıcı kullanarak Windows Uygulama Paketi Grubu (WAB) gönderirken oyun paketinin incelenmesi gerekir mi?
Yalnızca yükleyicinizi göndermeniz yeterlidir. Oyun paketinizin tamamını göndermeniz gerekmez. İncelemeyi yapan kişi, yükleyiciyi kullanarak oyun paketinizi indirebilir.
Bir oyuncu Google Play istemcisi yerine üçüncü taraf başlatıcı kullanıyorsa Play Oyun Hizmetleri hesabı otomatik olarak senkronize edilir mi?
SDK işlevlerinin çalışması için oyunun doğrudan Google Play Games istemcisi üzerinden başlatılması gerekir. Oyunu yükleyici veya başlatıcı uygulama gibi başka bir işlem başlatırsa bu işlemin Google Play Games istemcisinden başlatılması gerekir. Oyun, istemciden alınan tüm parametreleri istemci işlemine iletmelidir.
SDK, birden fazla örnek veya hesap için Google Hesabı ile oturum açma işlemini nasıl ele alır?
Google Play Games'deki her oyun başlatma işlemi "oyun oturumu" olarak kabul edilir ve her "oyun oturumu" ile ilişkilendirilmiş bir hesap olabilir. Bunlar farklı olabilir. Bu nedenle, oyunu A hesabı ile başlatıp B hesabına geçerseniz her ikisi de aynı anda çalışabilir.
WAB (Windows Uygulama Paketi Grubu) dosya boyutuyla ilgili sınırlamalar var mı?
Bir WAB için 10 GB'a kadar dosya boyutu yükleyebilirsiniz.
PC Üzerinde Google Play Games SDK'sı entegre edildikten sonra mevcut API tabanlı ödeme sistemlerine izin verilir mi?
Tüm ödemeler, Google Play Faturalandırma kullanılarak PC Üzerinde Google Play Games SDK'sı tarafından işlenmelidir. Mevcut API tabanlı ödeme yönteminizi aynı oyunda kullanamazsınız.
Mobile benzer açık veya kapalı test ortamları var mı?
Şu anda özel bir uçtan uca sanal alan olmasa da geliştiricilerin üretime benzer bir test ortamına ihtiyacı olduğunun farkındayız. Yakında daha güçlü bir çözüm sunulacaktır.
Geliştirici modunda başlatılan satın alma işlemlerini doğru şekilde kullanamıyoruz.
Geliştirici modunda satın alma işleminin 3 dakika içinde tamamlanması gerekir. Aksi takdirde, satın alma işlemi için geri ödeme yapılmış olabilir.
API (eski) ile PC Üzerinde Google Play Games SDK'sı arasında fark var mı?
- Eski sürüm yalnızca faturalandırmaya odaklanıyordu
- SDK, Google Masaüstü Hizmeti'ni (GDS) ve tüm PC özelliklerini destekler.
- Geliştirici dostu SDK arayüzü
- Tarayıcı tabanlı Google ile oturum açma gerekmez
SDK'yı, PC Üzerinde Google Play Games'i kullanmadan doğrudan oyun başlatıcıyı kullanarak oyunu başlatarak ilk kullanıma hazırlamanın alternatif bir yolu var mı?
Oyun, PC Üzerinde Google Play Games istemcisi üzerinden başlatılmalıdır. Daha fazla bilgi için geliştirici dokümanına bakın.
Yinelenen ödemeler veya abonelikler desteklenmiyor. Bu özelliği kullanıma sunma planınız var mı?
Uygulama içi satın alma dışında bu satın alma seçeneklerini ekleme planımız yok. Belirli kullanım alanlarıyla ilgili geri bildirimlerinizi bekliyoruz.
billingerror, satın alma sürecinin başlatılmasından mı yoksa ödeme sonucundan mı kaynaklanıyor?
Bu, ödeme sonucunun yanıtıdır. LaunchPurchaseFlow, engelleme olmadan hemen geri döner ancak işlemin ne zaman tamamlandığını öğrenmek ve sonucu yakalamak için geri aramayı dinlemeniz gerekir.
Oyunu doğrudan açmak için kısayol oluşturmanın bir yolu var mı?
Oyunu doğrudan açmak için aşağıdaki URI'yi kullanabilirsiniz:
googleplaygames://launch/?pid=2&id=com.company.gamename
URI, PC Üzerinde Google Play Games istemcisinin açılıp açılmadığını algılamayı destekler. İstemci açık değilse oyun/başlatıcı çalıştırılmadan önce Google Play Games istemcisi açılır. Birden fazla örneğin çalışmasını önlemek için oyunu/başlatıcıyı yönetmeniz gerekir.
QueryProductDetails API istek sınırları
QueryProductDetails API'ye tek bir çağrıda sorgulanabilecek maksimum ürün sayısı 50'dir. Bu sınırı aşarsanız isteği birden fazla aramaya bölmeniz gerekir.
İlk Windows Uygulama Paketi Grubu'mu (WAB) yükledikten sonra oyunum neden yüklenmiyor veya görünmüyor?
Oyununuz önceden mevcut bir PC sürümü olmadan kullanıma alınıyorsa ("ilk kez WAB"), sistem oyunu otomatik olarak yönetilen yayınlama bekletme durumuna yerleştirebilir. Bunun nedeni, güncellenecek mevcut bir temel çizginin olmamasıdır. WAB'yi tamamen yayınlamak ve oyunu yüklenebilir hale getirmek için Google Play Console'a gidip gerekli yayınlama işlemini manuel olarak gerçekleştirmeniz gerekir (örneğin, "Değişiklikleri yayınla"yı tıklayın).
Google Play Games, üçüncü taraf bir oyun başlatıcıyı başlattığında başlatma işlemini nasıl ele alırsınız?
SDK'yı doğrudan başlatıcınıza entegre etmeniz gerekmez. Ancak başlatıcı tarafından Google Play Games istemcisinden alınan tüm komut satırı bağımsız değişkenlerini doğrudan oluşturulan alt işleme (oyunun yürütülebilir dosyası) iletmeniz gerekir. Başlatma işlemi başarısız olursa (örneğin, kActionRequiredShutdownClientProcess döndürülerek) başlatıcı dahil tüm işlemler sonlandırılmalıdır. Böylece Google Play Games, oyunu otomatik olarak kurtarmayı ve yeniden başlatmayı deneyebilir. Daha fazla bilgi için Kurulum kılavuzundaki 5. adıma bakın.
Kullanıcı, satın alma süreci sırasında ödeme yapmadan tarayıcıyı kapatırsa zaman aşımı hatası amaçlanmış mıdır?
Evet, bu bilinen bir sorundur ve mevcut tarayıcı tabanlı akışta amaçlanan davranıştır. Google, ödeme akışını oyunun içinde tutacak ve bu zaman aşımı sorununu çözecek sorunsuz bir satın alma özelliği (WebView tabanlı) üzerinde aktif olarak çalışmaktadır.
Yerel PC SDK'sı, sertifika dosyasında (PEM) çok baytlı karakterleri destekliyor mu?
Evet, SDK, sertifika için çok baytlı karakterleri destekler.
BillingClient::QueryPurchases veya BillingClient::LaunchPurchaseFlow çağrılırken hangi parametreler gereklidir?
İşlev, QueryPurchasesContinuation parametresini kabul eder. Bu parametre, std::function<void(QueryPurchasesResult)> imzalı bir işlev geri çağırmadır. Geri çağırma, sonucu tüm ProductPurchaseDetails ile birlikte size iletir. Bu bilgiler, includes/billing/models.h dosyasındaki SDK başlık dosyalarında yer alır.
Elde edilen launch_purchase_flow_result, ok() ve code() işlevlerine sahiptir.
ok() işlevi, akışın başarılı olup olmadığını döndürür. code() işlevi, kullanıcı iptali veya ağ hatası gibi 10 olası hata durumuna sahip olan BillingError enum'ını (includes/billing/enums.h) döndürür.
BillingClient::LaunchPurchaseFlow()'ı arama, özel sipariş numarası iletmeyi destekliyor mu?
Mevcut SDK tasarımında kendi yükünüzü iletmenin bir yolu yoktur.
Ancak obfuscated_account_id ve obfuscated_profile_id öğelerinin herhangi bir kombinasyonunu sağlayabilirsiniz. Hiçbirini, yalnızca birini veya her ikisini de sağlayabilirsiniz.
offer_token alanı zorunludur ve kullanıcının ödeme adımlarında satın almaya çalıştığı satın alma teklifini belirtir. Şu anda Google Play'deki her SKU'nun tam olarak bir teklifi vardır (örneğin, bir öğeyi 10 TL'ye satın alma). Gelecekte Play faturalandırma ekibi, birden fazla teklif için destek sağlayacaktır.
Satın alma sürecinde kesintiler olması durumunda meta verilerin ilişkilendirilmesini sağlamak için satın alma iletişim kutusunu başlatmadan önce meta verileri arka uç sunucunuzda saklayın ve bunları kullanıcınızın hesap kimliği, satın alınan SKU ve mevcut zaman damgasıyla ilişkilendirin. Daha fazla bilgi için Satın alma işlemini dahili verilerle ilişkilendirme başlıklı makaleyi inceleyin.
Play Install Referrer entegrasyonu çalışıyor mu?
SDK'nın en son sürümü (25.5.409.0 ve üzeri), Play Install Referrer API'yi destekler. Daha fazla bilgi için Play Install Referrer API'si başlıklı makaleyi inceleyin.
Kullanıcının satın alma işlemi yapmak için her oyunda ayrı ayrı oturum açması gerekir mi?
Google Play Games'deki ön plan hesabı her oyun oturumu için kullanılır. Bu nedenle, tekrar oturum açmanız gerekmez. Oyun oturumu başladığında Google Play Games'de kullandığınız hesap, API çağrılarının yapıldığı hesaptır. Tarayıcıda bir satın alma süreci başlattığınızda oturum açmış olmanız ve oyun oturumuyla aynı hesabı kullanmanız gerekir. Kullanıcı farklı bir hesapla oturum açtıysa web akışı, hesaplar arasında geçiş yapmasını ister.
OAuth ile Google faturalandırmasından DLL ile yerel Google faturalandırmasına geçiş yapmanın ön koşulları nelerdir?
Oyunlar, oturum açılmış hesabı yönetmek için Google ile OAuth oturum açma özelliğini kullanmaya devam edebilir ancak Google, eski REST faturalandırma API'lerini kullanmayı bırakmanızı önerir. REST faturalandırma API'lerinden (OAuth2 ile oturum açma) SDK akışına geçiş, özellik işaretli bir işlem olabilir. Bu nedenle, oyun geçiş yaparken her ikisi de bir süre birlikte var olabilir.
Ödeme isteği API'si (LaunchPurchaseFlow) bir web tarayıcısı üzerinden mi işleniyor?
Evet, şu anda tarayıcı üzerinden işleniyor. Google, SDK aracılığıyla oyunun dışına çıkmadan tüm akışı tamamlamayı planlıyor.
Başlatma parametrelerini birden fazla kez yeniden kullanmak mümkün mü?
Google Play Games istemcisi çalışır durumda olduğu ve giriş bilgileri geçerli olduğu sürece bu işlem yapılabilir. Ancak kılavuzda açıklanan senaryolarda olduğu gibi, kullanıcı oyunu kapattığında veya oyun, kActionRequiredShutdownClientProcess gibi bir SDK başlatma hatası nedeniyle çıktığında oyun tarafından başlatılan tüm işlemler sonlandırılmalıdır.
HKEY_LOCAL_MACHINE yerine HKEY_CURRENT_USER altındaki kayıt defteri anahtarlarını kullanabilir misiniz?
Kök bölümüne göre kayıt defteri anahtarları oluşturmalısınız. Amacınıza ve verilerin niteliğine bağlı olarak kök bölümü HKEY_LOCAL_MACHINE veya HKEY_CURRENT_USER olarak ayarlayabilirsiniz. HKEY_LOCAL_MACHINE Hive, kurallarda örnek olarak verilmiştir.
Bir oyun aynı anda hem yerel SDK'yı hem de eski ödeme sistemlerini destekleyebilir mi?
Ödeme sistemi, oyun ikili sürümüne bağlı olarak çift akışlı bir modelle çalışır. Eski derlemelerdeki kullanıcılar mevcut akışı kullanmaya devam ederken yeni derlemelerdeki kullanıcılar SDK tabanlı ödemelere geçer. Geçiş döneminde her iki ödeme akışındaki kullanıcılar birlikte bulunur.
Dahili test için WAB'yi nasıl yüklersiniz?
Google'ın bu hesapları dahili test için etkinleştirebilmesi amacıyla izin verilenler listesindeki hesapları Google ile paylaşın. Google, listeyi aldıktan sonra bu kişilerin oryantasyon sürecine dahil edilmesini sağlar.
Yeni test kullanıcılarını nereye ekliyorsunuz?
Google'daki iletişim kişiniz her PC projesi için bir e-posta grubu oluşturur. Bu gruba test kullanıcılarının Google Hesapları eklenmelidir. Google Play Games'deki test paketlerini yalnızca bu e-posta grubunun üyeleri indirebilir.
Resmi PC paketi, resmi lansmandan önce nereye yüklenmelidir?
WAB paketini ilk soruda belirtilen konuma yükleyebilirsiniz. Ancak bunu manuel olarak yayınlayamazsınız. Google arka uç ekibine tam bir UTC saati (saatine kadar) vermeniz gerekir. Google daha sonra yayın planını yapılandırır ve zamanında yayınlanmasını sağlar.
Resmi lansmandan sonra yükseltme ve bakım işlemlerini nasıl gerçekleştiriyorsunuz?
Sonraki yükseltmeler ve bakım işlemleri başlatıcınız üzerinden yapılmalıdır. Google Play Games istemcisi güncelleme işlevlerini desteklemediğinden başlatıcı hem oyunu hem de kendisini güncelleyebilmelidir.
Google'ın PC paketlerini incelemesi için gerekenler nelerdir?
PC paketleri kötü amaçlı yazılım taramasından geçirilir. Ardından, inceleme uzmanları yalnızca oyun yükleme, başarılı başlatma ve kaldırma işlemlerini test eder.
Tüm API'lerin entegre edilmesi gerekli mi?
Diğer API'ler zorunlu değildir ancak ek avantajlar sunar.
Uygulama içi satın alma işlemleri ve dijital içerik satışı için google::play::billing gereklidir. google::play::games::recall, hangi trafik kaynaklarının uygulamanızı indiren kullanıcıların çoğunu gönderdiğini anlamanıza yardımcı olmak için yönlendirme verilerini izlemek üzere gereklidir. google::play::games::integrity, potansiyel olarak riskli cihazları ve bilinmeyen emülatörleri tespit ederek uygulamanızı kötü niyetli kişilerden korumak için gereklidir.
Google Play Games istemcisi kapatıldığında neden bazı oyun işlemleri sonlandırılıyor da diğerleri sonlandırılmıyor?
Google, çalışan oyunun alt süreçlerini veya süreçlerini kontrol etmez. Davranış, oyunun Android'de emüle edilen bir oyun mu yoksa yerel bir PC oyunu mu olduğuna bağlıdır. Emülasyonu yapılan oyunlar kendi ortamlarına yüklenir. Bu nedenle, davranışları büyük ölçüde emülatörün başlatılmasına ve kapatılmasına bağlıdır.
Google Play Games'in kaldırma özelliğini mi yoksa özel bir kaldırıcıyı mı kullanmalısınız?
Google, Google Play Games'in kaldırma özelliğini kullanmanızı önerir.