Menerapkan Layanan permainan Google Play dalam game Android Anda memungkinkan Anda memanfaatkan lapisan layanan Google untuk fitur seperti pencapaian dan papan peringkat. Jika permainan Anda menerapkan layanan permainan Google Play, konfigurasi tambahan diperlukan untuk mendukung build yang menciptakan untuk toko yang berbeda.
Ketika permainan Anda invokes Layanan Google Play game, layanan Google Play game memeriksa bahwa rincian berikut cocok dengan informasi yang terdaftar di Google Play Console:
Jika mereka tidak cocok, pemain tidak bisa masuk ke aplikasi dengan layanan permainan Google Play.
Untuk toko-toko tertentu yang Anda publikasikan permainan Anda melalui UDP, UDP menambahkan suffix khusus untuk nama paket. Selain itu, jika Anda tidak menggunakan kunci pribadi Anda sendiri untuk menghasilkan sertifikat, UDP menghasilkan sertifikat untuk setiap membangun yang dikemas ulang. Peristiwa ini akan menyebabkan sertifikat dan/atau nama paket untuk tidak lagi mencocokkan informasi di Google Play Console. Ini akan mencegah pengguna masuk ke permainan dengan layanan permainan Google Play.
Bagian berikut menjelaskan bagaimana menyelesaikan masalah ini.
Bagian ini menjelaskan cara menghubungkan versi UDP Anda ke aplikasi Google Play sehingga layanan game Google Play dapat bekerja sama dengan mereka.
Bagian ini menjelaskan bagaimana membuat proyek layanan game Google Play dan menghubungkannya ke proyek cloud baru atau yang ada.
Jika Anda memilih Yes, my game already uses Google APIs di halaman Pengaturan Layanan Play Games:
Jika Anda memilih No, my game doesn’t use Google APIs di halaman Pengaturan Layanan Play Games:
Ketika Anda membuat proyek Play Games Services baru, tautan Add credential dinonaktifkan.
Ketika Anda telah menyelesaikan langkah-langkah di atas, permainan Google Play Anda dikaitkan dengan layanan permainan Google Play. Langkah selanjutnya adalah menghubungkan UDP Anda membangun layanan permainan.
Ketika Anda telah menghubungkan aplikasi Anda ke layanan Google Play game Anda dapat menghubungkan aplikasi lain (UDP) ke layanan game.
openssl x509 -in [downloaded-pem-filepath] -fingerprint -noout
%Anda dapat melihat UDP membangun Anda telah terhubung ke aplikasi Google Play Anda di Google Cloud Platform > Google API & Layanan dashboard, di bawah Credentials.
Langkah-langkah ini memungkinkan layanan game Google Play untuk bekerja dengan sukses pada semua versi toko UDP yang terhubung dengan cara itu, termasuk Mi GetApps (whose SDK mengintegrasikan versi lama Layanan Google Mobile, yang menciptakan konflik).
Note: Setiap perubahan sistem Google dapat mempengaruhi solusi yang dijelaskan di atas. Untuk informasi lebih lanjut tentang informasi pemecahan masalah Google, lihat Dokumentasi Google.
Anda dapat menggunakan Layanan integrasi berkelanjutan untuk proyek Unity yang mengotomatiskan proses pembuatan build pada server Unity. More info
Lihat di Glossary untuk menyebarkan permainan Anda ke konsol UDP dalam cara berikut:
Bagian ini menjelaskan cara menggunakan Cloud Build untuk mendorong permainan Anda ke UDP. Dalam Editor Unity, aktifkan Build Cloud di jendela Project SettingsPengumpulan yang luas dari pengaturan yang memungkinkan Anda untuk mengkonfigurasi bagaimana Fisika, Audio, Jaringan, Grafik, Input dan banyak bidang lain dari jangkauan proyek Anda. More info
Lihat di Glossary.
Untuk menyebarkan permainan Anda ke UDP melalui fitur Build Cloud di Editor Unity, Anda perlu mengunggah build UDP Anda dan mendorongnya ke UDP.
Untuk menyebarkan permainan Anda ke UDP melalui fitur Build Cloud di Dashboard Unity, Anda perlu mengunggah UDP Anda membangun ke Dashboard Unity dan mendorongnya dari sana ke UDP.
Jika Anda menggunakan Tim Unity Lanjutan, Anda dapat .
Di tab Build Cloud dari jendela Pengaturan Proyek:
Push build Anda ke UDP langsung melalui Unity Cloud Build Developer Dashboard (seperti yang ditunjukkan di atas).
UDP dapat memberitahu layanan lain yang digunakan oleh permainan Anda yang toko adalah permainan yang diunduh dari.
Informasi ini dapat digunakan dalam banyak cara, dengan layanan Unity serta layanan pihak ketiga atau layanan Anda sendiri.
Misalnya, memungkinkan Anda menyetel pengaturan permainan Anda berdasarkan aturan yang Anda mendefinisikan, seperti yang menyimpan permainan diunduh.
Bagian ini menjelaskan cara membiarkan layanan lain mendapatkan akses ke informasi ini, dan termasuk example.
Ketika permainan pertama Anda meluncurkan pada perangkat pemain, UDP menciptakan dan menjatuhkan file udp.json
di Jalur Data Persistent game. File ini berisi bidang udpStore
, yang menunjukkan bahwa menyimpan permainan diunduh. Perhatikan bahwa informasi untuk menggunakannya cara yang Anda maksudkan.
Sitemap Ini tidak menambahkan izin baru ke dalam manifestasi permainan Anda.Note: This doesn’t add any new permission into your game manifest.
File udp.json
disimpan dalam:
Application.PersistentDataPath + '/Unity' + /Application.CloudProjectID + /udp/udp.json
Where:
Application.PersistentDataPath
adalah jalur data persistent permainan AndaApplication.CloudProjectID
adalah ID proyek Unity permainan AndaBerikut adalah contoh path ke file udp.json
:
path/storage/emulated/0/Android/data/com.mystudio.mygame/files/Unity/c83d2de2-de74-4b75-83fc-ade948bda064/udp/udp.json
Where:
Application.PersistentDataPath
= path/storage/emulated/0/Android/data/com.mystudio.mygame
Application.CloudProjectID
= c83d2de2-de74-4b75-83fc-ade948bda064
File udp.json
berisi informasi berikut:
{"key":"UDP","udpStore":"StoreName","udpClientId":"value_of_udpClientId","CloudProjectId":"value_of_CloudProjectId"}
Bidang udpStore
mengandung nilai UDP menyimpan permainan Anda diunduh.
Berikut adalah contoh file udp.json
:
{"key":"UDP","udpStore":"Huawei","udpClientId":"icjaB7wmu_q7AOjrSLH8yw","cloudProjectId":"bc2be074-09f3-450f-8e98-a0f79c9746f7"}
Dalam contoh ini, permainan diunduh dari HUAWEI AppGallery.
Tip: menggunakan JSONUtility.FromJsonOverwrite
untuk membaca isi file sebagai aset teks.
Tabel di bawah daftar nilai udpStore
yang dapat Anda harapkan untuk toko yang tersedia di UDP.
Ini sensitif terhadap kasus.
Toko (nama saluran pada UDP) | Nilai untuk udp Login |
---|---|
UDP Sandbox (untuk build UDP generik) | UdpSandbox |
ONE store | OneStore |
Login Login | Apptutti |
Mi GetApps (Xiaomi) | XiaomiStore |
Appstore | Huawei |
Toko Game QooApp | QooApp |
Uptodown | Uptodown |
SHAREit | ShareIt |
JioGames | JioGames |
Legion Store | Legion |
memungkinkan Anda menyetel pengaturan permainan Anda tanpa menyebarkan versi baru dari aplikasi Anda. Ketika pemain meluncurkan permainan Anda, Remote Config mendeteksi atribut kontekstual yang digunakan sebagai kondisi Rule (berdasarkan Unity, aplikasi, pengguna, atau kriteria khusus yang Anda tentukan). Layanan kemudian mengembalikan pengaturan yang disesuaikan untuk setiap pemain sesuai dengan Peraturan yang berlaku untuk mereka.
Gunakan udpStore
sebagai atribut dalam kondisi Rule Anda, sehingga Anda dapat menentukan pengaturan permainan yang tergantung pada mana UDP menyimpan permainan diunduh dari.
Untuk menerapkan udpStore dengan Remote Config, ikuti langkah-langkah ini.
public struct AppAttributes { public string udpStore; }
{ string udpFilePath = System.IO.Path.Combine(Application.persistentDataPath, "Unity", Application.cloudProjectId, "udp", "udp.json"); string udpFileContents = System.IO.File.ReadAllText(udpFilePath); var appAttr = JsonUtility.FromJson<AppAttributes>(udpFileContents); Unity.RemoteConfig.ConfigManager.FetchCompleted += ConfigManager_FetchCompleted; Unity.RemoteConfig.ConfigManager.FetchConfigs(null, appAttr); }
Jika Anda ingin menerapkan UDP menggunakan Unity IAPUnity In App Purchase
Lihat di Glossary, pertama.
Note: Jika Anda memilih untuk mengimplementasikan UDP dengan versi Unity IAP 1.22.0-1.23.5 (dalam menggunakan paket UDP) kemudian menerapkan melalui Unity IAP hanya.
Unity IAP secara otomatis menangani berikut:
Namun, permainan Anda harus menggunakan fungsi serupa Unity IAP (seperti awalisasi dan pembelian) sesuai dengan .
Ketika Anda telah menerapkan pembelian dalam aplikasi permainan Anda dengan Unity IAP, mengambil langkah-langkah berikut untuk mengatur UDP dengan Unity IAP.
Ketika mengambil produk IAP untuk lulus ke metode queryInventory
, invoke ProductCatalog.LoadDefaultCatalog()
. Ini mengembalikan produk IAP yang didefinisikan dalam IAP Catalog Editor (Services > Unity IAP > IAP Catalog).
Contohnya:
var catalog = ProductCatalog.LoadDefaultCatalog();
foreach (var product in catalog.allValidProducts)
{
if (product.allStoreIDs.Count > 0)
{
var ids = new IDs();
foreach (var storeID in product.allStoreIDs)
{
ids.Add(storeID.id, storeID.store);
}
builder.AddProduct(product.id, product.type, ids);
}
else
{
builder.AddProduct(product.id, product.type);
}
}
Jika Anda berencana untuk memodifikasi Katalog IAP permainan Anda di Konsol UDP, siapkan permainan Anda untuk mengambil informasi produk IAP dari Konsol UDP.
Ketika mengambil produk IAP untuk lulus ke metode queryInventory
, invoke builder. TambahkanProduk untuk mengambil produk IAP tertentu yang didefinisikan dari konsol UDP:
builder.AddProduct(product.id, product.type, new IDs{})
Untuk menampilkan harga produk, diformat dengan mata uang, gunakan productInfo.Value.Price
.
Untuk mengambil semua produk IAP yang didefinisikan pada Konsol UDP, jangan beri metode pengambilan produk IAP. Game Anda kemudian akan mengambil seluruh Katalog IAP dari Konsol UDP.
Catatan: Unggah file CSV produk IAP di Konsol UDP sepenuhnya menimpa Katalog IAP Anda.
Menambahkan dan mengkonfigurasi pembelian dalam aplikasi Anda untuk UDP.Catalog all your in-app purchases for UDP.
Note: Jika Anda tidak menggunakan Katalog IAP di klien game Anda (misalnya, Anda mempertahankan item IAP Anda hanya pada server game Anda) Anda harus tetap membuat IAP Anda Katalog di konsol UDP.
Untuk memastikan Katalog IAP disimpan dengan benar, periksa bahwa item yang ditambahkan ditampilkan di konsol UDP.