Untuk menggunakan pembelian dalam aplikasi, aplikasi Anda harus menyediakan daftar Produk untuk dijual. Anda dapat melakukan ini melalui scripting, atau menggunakan Codeless IAP Catalog (Window > Unity IAPUnity In App Purchase
Lihat di Glossary > IAP Catalog). Implementasi apa pun yang Anda gunakan, Anda harus menentukan atribut yang sesuai untuk setiap Produk. Halaman ini mencakup atribut ini secara rinci.
Masukkan pengenal unik lintas platform untuk berfungsi sebagai ID default Produk saat berkomunikasi dengan toko aplikasi.
Important: ID hanya dapat berisi huruf, angka, underscores, atau periode.
Setiap Produk harus menjadi salah satu jenis berikut:
Type | Description | Examples |
---|---|---|
Consumable | Pengguna dapat membeli Produk berulang kali. Produk yang dapat dikonsumsi tidak dapat dipulihkan. | * Mata uang virtual * Potensi kesehatan * Sementara power-up. |
Non-Consumable | Pengguna hanya dapat membeli Produk sekali. Sitemap Produk dapat dipulihkan. | * Weapons atau armor * Akses ke konten tambahan |
Subscription | Pengguna dapat mengakses Produk untuk jangka waktu yang terbatas. Produk berlangganan dapat dipulihkan. | * Akses bulanan ke game online * Status VIP memberikan bonus harian * Uji coba gratis |
Note: Untuk informasi lebih lanjut tentang dukungan jenis Langganan, lihat bagian pada Subscription Product support.
Bagian ini mendefinisikan metadata yang terkait dengan Produk Anda untuk digunakan di toko dalam game.
Gunakan bidang berikut untuk menambahkan teks deskriptif untuk Produk Anda:
Field | Data type | Description | Example |
---|---|---|---|
Product Locale | Enum | Menentukan toko aplikasi yang tersedia di wilayah Anda. | Sitemap (Google Play, Apple)English (U.S.) (Google Play, Apple) |
Product Title | String | Nama Produk Anda seperti itu muncul di toko aplikasi. | “Keramatan Kesehatan” |
Product Description | String | Teks deskriptif untuk Produk Anda seperti yang muncul di toko aplikasi, biasanya penjelasan tentang apa Produk. | “Restores 50 HP. Sitemap |
Tambahkan Translations untuk kolom Title dan Description dengan mengklik ikon plus (+) dan memilih lokal tambahan. Anda dapat menambahkan banyak terjemahan seperti yang Anda sukai.
Gunakan bagian ini untuk menambahkan definisi lokal, tetap untuk konten yang Anda bayar ke pembeli. Pembayaran membuatnya lebih mudah untuk mengelola dompet atau penemuan dalam game. Dengan label Produk dengan nama dan kuantitas, pengembang dapat dengan cepat menyesuaikan jumlah dalam game dari jenis item tertentu pada pembelian (misalnya, koin atau permata).
Note: Fungsi ini hanya tersedia di Unity 2017.2 atau lebih tinggi.
Field | Data type | Description | Example |
---|---|---|---|
Payout Type | Enum | Mendefinisikan kategori konten yang diterima pembeli. Ada empat jenis yang mungkin. | * Mata uang * Barang * Sumber daya * Lain |
Payout Subtype | String | Memberikan tingkat granularitas pada kategori konten. | * "Gold" dan subtipe "Silver" dari tipe Currency * "Potion" dan subtipe "Boost" dari tipe * “Potion” and “Boost” subtypes of an Item type |
Quantity | Int | Menentukan jumlah item, mata uang, dan sebagainya, bahwa pembeli menerima dalam pembayaran. | * 1 * > 25 * 100 g |
Data | Gunakan bidang ini cara yang Anda sukai sebagai properti untuk referensi dalam kode. | * Bendera untuk elemen UI * Barang raritas |
Note: Anda dapat menambahkan beberapa Pembayaran untuk satu Produk.
Untuk informasi lebih lanjut tentang kelas PayoutDefinition, lihat Referensi Scripting. Anda selalu dapat menambahkan informasi Payout ke Produk dalam script menggunakan kelas ini. Contoh:
using UnityEngine.Purchasing;
new PayoutDefinition (PayoutType.Currency, "Gold", 100)
Perhatikan bahwa Katalog IAP bertindak sebagai kamus katalog Produk, bukan sebagai manajer inventaris. Anda harus tetap menerapkan kode yang menangani pengangkutan konten yang dibeli.
Secara default, Unity IAP menganggap bahwa Produk Anda memiliki pengidentifikasi yang sama (specified di bidang ID, di atas) di semua toko aplikasi. Unity merekomendasikan melakukan ini di mana mungkin. Namun, ada kesempatan ketika ini tidak mungkin, seperti ketika menerbitkan ke toko iOS dan Mac, yang melarang pengembang menggunakan ID produk yang sama di keduanya.
Dalam kasus ini, gunakan bidang override untuk menentukan pengidentifikasi yang benar produk di mana berbeda dari ID lintas platform.
Anda juga dapat melakukan programmatically ini, sebagai berikut:
using UnityEngine;
using UnityEngine.Purchasing;
public class MyIAPManager {
public MyIAPManager () {
var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());
builder.AddProduct("100_gold_coins", ProductType.Consumable, new IDs
{
{"100_gold_coins_google", GooglePlay.Name},
{"100_gold_coins_mac", MacAppStore.Name}
});
// Initialize Unity IAP...
}
}
Dalam contoh ini, Produk mengidentifikasi sebagai “100_gold_coins_google” ke Google Play dan “100_gold_coins_mac” ke Apple App Store.
Note: Overrides hanya mengubah identifier Unity IAP menggunakan ketika berkomunikasi dengan toko aplikasi. Anda masih harus menggunakan pengidentifikasi lintas platform produk saat membuat panggilan API.
Important: ID hanya dapat berisi huruf, angka, underscores, atau periode.
Menyediakan harga Produk, atau ID untuk Template Harga yang dibuat di Google Play.
Pilih Pricing Tier dari menu dropdown. Unity mendukung poin harga Apple yang telah ditentukan, tetapi tidak nilai sewenang-wenang.
Select a screenshot untuk mengunggah.
Untuk informasi pada spesifikasi screenshot, lihat dokumentasi dukungan penerbit Apple.
Anda juga dapat mendeklarasikan daftar Produk Anda secara tematik menggunakan Builder Konfigurasi Pembelian. Anda harus memberikan lintasan unik Product ID dan Product Type untuk setiap Produk:
using UnityEngine;
using UnityEngine.Purchasing;
public class MyIAPManager {
public MyIAPManager () {
var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());
builder.AddProduct("100_gold_coins", ProductType.Consumable);
// Initialize Unity IAP...
}
}