lib_unity_purchase/Runtime/Stores/AppleAppStore/FakeAppleExtensions.cs

113 lines
3.1 KiB
C#

#nullable enable
using System;
using System.Collections.Generic;
namespace UnityEngine.Purchasing
{
/// <summary>
/// Provides fake functionality for Apple specific APIs.
///
/// Refresh receipt calls alternate between success and failure.
/// </summary>
class FakeAppleExtensions : IAppleExtensions
{
bool m_FailRefresh;
public void RefreshAppReceipt(Action<string> successCallback, Action<string> errorCallback)
{
if (m_FailRefresh)
{
errorCallback("A fake error message");
}
else
{
successCallback("A fake refreshed receipt!");
}
m_FailRefresh = !m_FailRefresh;
}
[Obsolete("RefreshAppReceipt(Action<string> successCallback, Action errorCallback) is deprecated, please use RefreshAppReceipt(Action<string> successCallback, Action<string> errorCallback) instead.")]
public void RefreshAppReceipt(Action<string> successCallback, Action errorCallback)
{
if (m_FailRefresh)
{
errorCallback();
}
else
{
successCallback("A fake refreshed receipt!");
}
m_FailRefresh = !m_FailRefresh;
}
[Obsolete("RestoreTransactions(Action<bool> callback) is deprecated, please use RestoreTransactions(Action<bool, string> callback) instead.")]
public void RestoreTransactions(Action<bool>? callback)
{
callback?.Invoke(true);
}
public void RestoreTransactions(Action<bool, string?>? callback)
{
callback?.Invoke(true, null);
}
public void RegisterPurchaseDeferredListener(Action<Product> callback)
{
}
public bool simulateAskToBuy
{
get;
set;
}
public void FetchStorePromotionOrder(Action<List<Product>> successCallback, Action errorCallback)
{
errorCallback();
}
public void SetStorePromotionOrder(List<Product> products)
{
}
public void FetchStorePromotionVisibility(Product product, Action<string, AppleStorePromotionVisibility> successCallback, Action errorCallback)
{
errorCallback();
}
public void SetStorePromotionVisibility(Product product, AppleStorePromotionVisibility visible)
{
}
public void SetApplicationUsername(string applicationUsername)
{
}
public string GetTransactionReceiptForProduct(Product product)
{
return "";
}
public void ContinuePromotionalPurchases()
{
}
public Dictionary<string, string> GetIntroductoryPriceDictionary()
{
return new Dictionary<string, string>();
}
public Dictionary<string, string> GetProductDetails()
{
return new Dictionary<string, string>();
}
public void PresentCodeRedemptionSheet()
{
}
}
}