44 lines
1.9 KiB
C#
44 lines
1.9 KiB
C#
using System.Collections.Generic;
|
|
using System.Collections.ObjectModel;
|
|
|
|
namespace UnityEngine.Purchasing.Extension
|
|
{
|
|
/// <summary>
|
|
/// Represents the public interface of the underlying store system such as Google Play,
|
|
/// or the Apple App store.
|
|
/// </summary>
|
|
public interface IStore
|
|
{
|
|
/// <summary>
|
|
/// Initialize the instance using the specified <see cref="!:IStoreCallback" />.
|
|
/// </summary>
|
|
/// <param name="callback"> The callback interface for the store. </param>
|
|
void Initialize(IStoreCallback callback);
|
|
|
|
/// <summary>
|
|
/// Fetch the latest product metadata, including purchase receipts,
|
|
/// asynchronously with results returned via <c>IStoreCallback</c>.
|
|
/// </summary>
|
|
/// <param name="products"> The collection of products desired </param>
|
|
void RetrieveProducts(ReadOnlyCollection<ProductDefinition> products);
|
|
|
|
/// <summary>
|
|
/// Handle a purchase request from a user.
|
|
/// Developer payload is provided for stores
|
|
/// that define such a concept (Google Play).
|
|
/// </summary>
|
|
/// <param name="product"> The product to be purchased. </param>
|
|
/// <param name="developerPayload"> The developer payload expected by the specific store implementation </param>
|
|
void Purchase(ProductDefinition product, string developerPayload);
|
|
|
|
/// <summary>
|
|
/// Called by Unity Purchasing when a transaction has been recorded.
|
|
/// Store systems should perform any housekeeping here,
|
|
/// such as closing transactions or consuming consumables.
|
|
/// </summary>
|
|
/// <param name="product"> The product purchased </param>
|
|
/// <param name="transactionId"> The id of the transaction </param>
|
|
void FinishTransaction(ProductDefinition product, string transactionId);
|
|
}
|
|
}
|