Xamarin IOS InAppBiling插件如何获取收据数据
Xamarin IOS InAppBiling plugin how to get receipt-data
我使用 Plugin.InAppBiling 进行应用内购买 ios。我想知道购买收据数据。
这是我的代码。
private async Task<bool> MakePurchase(string productId)
{
var billing = CrossInAppBilling.Current;
try
{
var connected = await billing.ConnectAsync();
if (!connected)
{
return false;
}
var verify = DependencyService.Get<IInAppBillingVerifyPurchase>();
var purchase = await CrossInAppBilling.Current.PurchaseAsync(productId, ItemType.InAppPurchase, verify);
if (purchase == null)
{
return false;
}
else if (purchase.State == PurchaseState.Purchased)
{
if (Device.RuntimePlatform == Device.iOS)
{
Console.WriteLine("CHECK");
if(verify == null)
{
Console.WriteLine("null");
}
else
{
Console.WriteLine($"{verify}");
}
}
return true;
}
return false;
}
finally
{
await billing.DisconnectAsync();
}
}
付款过程顺利。但 verify 只是 return null.
我将验证理解为收据数据。是吗?
如何获取 base64 编码的字符串收据数据?
您还link 的文档明确指出您 需要自己实施IInAppBillingVerifyPurchase
。插件中没有这个实现。
所以你需要自己创建class并注册到IoC容器中:
[assembly: Dependency(typeof(MyIAPVerification))]
public class MyIAPVerification : IInAppBillingVerifyPurchase
{
// implementation here
}
只有这样你的 verify
实例才不会为空。
我使用 Plugin.InAppBiling 进行应用内购买 ios。我想知道购买收据数据。
这是我的代码。
private async Task<bool> MakePurchase(string productId)
{
var billing = CrossInAppBilling.Current;
try
{
var connected = await billing.ConnectAsync();
if (!connected)
{
return false;
}
var verify = DependencyService.Get<IInAppBillingVerifyPurchase>();
var purchase = await CrossInAppBilling.Current.PurchaseAsync(productId, ItemType.InAppPurchase, verify);
if (purchase == null)
{
return false;
}
else if (purchase.State == PurchaseState.Purchased)
{
if (Device.RuntimePlatform == Device.iOS)
{
Console.WriteLine("CHECK");
if(verify == null)
{
Console.WriteLine("null");
}
else
{
Console.WriteLine($"{verify}");
}
}
return true;
}
return false;
}
finally
{
await billing.DisconnectAsync();
}
}
付款过程顺利。但 verify 只是 return null.
我将验证理解为收据数据。是吗?
如何获取 base64 编码的字符串收据数据?
您还link 的文档明确指出您 需要自己实施IInAppBillingVerifyPurchase
。插件中没有这个实现。
所以你需要自己创建class并注册到IoC容器中:
[assembly: Dependency(typeof(MyIAPVerification))]
public class MyIAPVerification : IInAppBillingVerifyPurchase
{
// implementation here
}
只有这样你的 verify
实例才不会为空。