Bri*_*Rak 2 android subscriptions xamarin.android google-play xamarin
我正在努力将订阅集成到Xamarin Android应用中。我可以在网上找到特定于Xamarin的所有示例均使用Plugin.InAppBillingMontemagno等人的。
这当然非常方便,但是仅出于适当注意的目的,我想看看直接使用BillingClient类所需要的内容,如Google文档中所述(例如,在这里:https : //developer.android.com / google / play / billing / billing_java_kotlin)。
奇怪的是,Xamarin文档显示了如何直接使用iOS计费类,而不是Android计费类。我以为Xamarin.GooglePlayServicesNuGet软件包可能包含我需要的软件包,但是我没有看到似乎与计费直接相关的软件包。
任何指针将不胜感激。
TL; DR:是的,您可以...(我用它...)
“实施Google Play结算”文档中显示的类是包装器类,这些类最终使用了结算AIDL。该AIDL接口是实际的计费API,并且AIDL定义了对其的IPC调用(这不仅用于跨进程方法调用,而且还用于安全性)...
当您将Billing API依赖项添加到build.gradle文件中时,Android Studio通过Gradle自动导入计费包装器和AIDL并为您进行所有设置。(当然,这不是通过Visual Studio和MSBuild的选择...)
Montemagno的Android应用内结算直接使用AIDL接口方法,并以跨平台方式包装这些方法...
要使用Java包装器类,基本步骤是billing-1.1.aar从Jcenter Maven存储库中获取aar(),创建一个Xamarin.Android绑定库,添加aar,修正警告(如果需要,还可以命名空间)并在该库中引用该库。您的Xamarin.Android应用程序项目...
现在,您可以通过一些次要的Xamarin.Android/C#规范化直接使用Google文档,即:
// I did not alter the original Java namespace in the binding lib
using Com.Android.Billingclient.Api;
~~~
var billingClient = BillingClient
.NewBuilder(this)
.SetListener(this)
.Build();
~~~
var flowParams = BillingFlowParams
.NewBuilder()
.SetSku("StackOverflowXamarinTag")
.SetType("Answer")
.Build();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
446 次 |
| 最近记录: |