https://github.com/jamesmontemagno/InAppBillingPlugin
我尝试从应用内计费插件4.0.2迁移到6.7.0,但我在Verify.cs中遇到以下错误:
using System.Threading.Tasks;
using Plugin.InAppBilling;
using AndroidProject;
using SharedCode;
[assembly: Xamarin.Forms.Dependency(typeof(Verify))]
namespace AndroidProject
{
public class Verify : IInAppBillingVerifyPurchase
{
const string key1 = @"...";
const string key2 = @"...";
const string key3 = @"...";
public string SignedDataverify = "Test", Signatureverify = "Test";
public Task<bool> VerifyPurchase(string signedData, string signature, string productId = null, string transactionId = null)
{
var key1Transform = InAppBillingImplementation.InAppBillingSecurity.TransformString(key1, 1);
var key2Transform = InAppBillingImplementation.InAppBillingSecurity.TransformString(key2, 2);
var key3Transform = InAppBillingImplementation.InAppBillingSecurity.TransformString(key3, 3);
SignedDataverify = signedData;
Signatureverify = signature;
return Task.FromResult(InAppBillingImplementation
.InAppBillingSecurity.VerifyPurchase(key1Transform + key2Transform + key3Transform, signedData, signature));
}
}
}
image
我现在使用Microsoft.Maui.Essentials而不是Xamarin. Essentials。我已经从我的Android/iOS项目中删除了NuGet包Xamarin.Essentials和Xamarin.Forms。但是现在我收到了这个错误:
错误CS 0234:命名空间“Xamarin”中不存在类型或命名空间名称“Forms”(是否缺少程序集引用?)
和以下错误:
InAppBillingImplementation不包含InAppBillingSecurity的定义。
如果我想使用In-App Billing Plugin 6.7.0,是否仍有必要在iOS和Android项目中使用Xamarin.Forms NuGet包?或者是否可以在Microsoft.Maui.Essentials中使用In-App Billing Plugin 6.7.0?InAppBillingSecurity有什么问题?是否不再可能使用4.0.2版本中的代码来保护购买?是否可以从项目中删除Verify.cs?
1条答案
按热度按时间jaxagkaj1#
如果我想使用应用内计费插件6.7.0,是否仍需要在iOS和Android项目中使用Xamarin.Forms NuGet包?或者我是否可以在Microsoft.Maui.Essentials中使用应用内计费插件6.7.0?
您使用了
Dependency
属性,它属于Xamarin.Forms命名空间,所以需要使用Xamarin.Forms NuGet包,更多信息可以通过官方引用Dependency Service,顺便问一下,您的项目是Xamarin.Forms还是MAUI?InAppBillingSecurity的问题是什么?是否不再可能使用版本4.0.2中的代码来保护购买?我可以从我的项目中删除Verify.cs吗?
我测试了您提供的代码,也遇到了这个错误:
InAppBillingImplementation does not contain a definition for InAppBillingSecurity.
但是回到4.0.2就可以了,大家可以参考'InAppBillingImplementation' does not contain a definition for 'HandleActivityResult',作者给出了建议,我觉得大家可以继续使用4.0.2,我也在GitHub上看到你们的问题(I get some errors after migrating from 4.0.2 to 6.7.0),大家可以跟进等待作者的回复,另外大家可以按作者查看README.md。