xamarin 如何从In-App Billing Plugin 4.0.2迁移到6.7.0?我在尝试使用6.7.0时遇到一些错误

1cosmwyk  于 2022-12-31  发布在  其他
关注(0)|答案(1)|浏览(118)

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?

jaxagkaj

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

相关问题