【Xamarin.Android】在移动应用程序中集成应用程序购买

简介: 开发人员在开发移动应用程序时常常需要集成货币化以产生收益。有几种方法来赚钱的应用程序,但在某些时候你可能想介绍在应用程序内购买,或集成到您的应用程序。IAPs 可以采用的几种方法,可以应用到你的应用程序,如添加功能,去除广告,或购买游戏中的货币。
开发人员在开发移动应用程序时常常需要集成货币化以产生收益。有几种方法来赚钱的应用程序,但在某些时候你可能想介绍在应用程序内购买,或集成到您的应用程序。IAPs 可以采用的几种方法,可以应用到你的应用程序,如添加功能,去除广告,或购买游戏中的货币。让我们看看IAPs的深入分析以及如何将它们添加到移动应用程序。

应用程序购买的类型

正如我上面提到的,IAPs针对iOS和Android有几种支付方式适用于我们的移动应用,下面是一个快速概述:

  • 消费品:在应用程序生命周期中用完的项目,可以多次购买。例如游戏中的货币、额外的健康和一次性服务,如转录。
  • 非消费品:项目的用户拥有无限,只能购买一次。例如书籍,游戏关卡,和额外的应用程序的功能。
  • 订阅: 一种可以在一定时间内发生或到期的自动更新或不可再生的重复购买(通常在一个月内)。

我将集中在最常见的类型,非消耗品,在这个博客文章。

入门

在我们开始执行代码之前,我们必须确保我们的应用程序设置得正确,以便开始接受购买。每个平台处理这种不同,但我会覆盖的基本知识。我强烈推荐以下关于iOS和Android的应用程序购买的完整文档,以获取更多信息。

您必须首先确保在iTunes Connect和谷歌Play开发控制台中设置了应用程序。

iOS设置

任何应用程序,需要使用应用内购买需要一个独特的应用程序标识符(不包含通配符允许)为提供资料会自动设置IAP功能。一旦应用程序被创建,我们可以去 Features 一节。创建一个新的IAP,选择“非消费”。然后,我们将填写额外的信息,如产品ID(我们将在代码中使用的唯一标识符)、价格和产品描述。

IAP

一旦IAP设置完成,我们就可以开始集成了。

Android 设置

Android更复杂一些,因为我们不能为我们的应用程序添加一个新的IAP,直到我们发布一个包含应用程序的应用程序的版本。它需要包含com.android.vending.BILLING 权限。我们可以通过插入以下内容来添加:

 

…以下的行…

...

…在AndroidManifest.xml中

然后,应用程序可以在谷歌开发控制台的alpha或beta频道中发布,并且在应用程序的“应用程序购买”部分中还可以添加一个新的IAP。创建IAP作为管理产品是重要的。

IAPAndroid

然后我们将被带到一个页面,里面详细介绍了IAP的内容。我们必须拯救IAP和设置它为活跃或不工作的时候,我们实现的代码。

IAPAndroid2

购买

随着应用程序的设置,我们现在可以将代码。每个平台都有处理购买不同的机制,但他们每个人都做类似的事情,这就是为什么我的工作与我们的组件团队Jon Dick创造Xamarin,应用收费插件,Xamarin和Windows电话我们一个新的插件, 这简化了整个购买过程。T插件从跨平台API处理购买、订阅、消费和产品信息;如果您需要定制流程,我强烈建议您通过iOS和Android的应用程序购买中的完整文档进行阅读。.

开始的时候,我们会安装应用收费插件(插件。inappbilling)在我们所有的项目,包括我们的便携式类库和移动应用程序项目:

AddNuGet

额外的Android设置

Android只需要一点点的建立。我们会在活动,将使购买电话或MainActivity添加以下代码(为Xamarin.Forms):

 protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
{
    base.OnActivityResult(requestCode, resultCode, data);
    InAppBillingImplementation.HandleActivityResult(requestCode, resultCode, data);
} 

现在,在我们的应用程序代码或共享代码中,我们可以继续使用一些简单的调用来连接购买账单服务,并尝试购买:

 try
{
    var productId = "mysku";

    var connected = await CrossInAppBilling.Current.ConnectAsync();

    if (!connected)
    {
        //Couldn't connect to billing, could be offline, alert user
        return;
    }

    //try to purchase item
    var purchase = await CrossInAppBilling.Current.PurchaseAsync(productId, ItemType.InAppPurchase, "apppayload");
    if(purchase == null)
    {
        //Not purchased, alert the user
    }
    else
    {
        //Purchased, save this information
        var id = purchase.Id;
        var token = purchase.PurchaseToken;
        var state = purchase.State;
    }
}
catch (Exception ex)
{
    //Something bad has occurred, alert user
}
finally
{
    //Disconnect, it is okay if we never connected
    await CrossInAppBilling.Current.DisconnectAsync();
} 

就是这样!在这一点上,我们可以在应用程序设置中存储这些信息,或者在成功购买时将其报告给后端服务。为了测试这个新的代码,我们需要在一个物理设备建立与配置文件,签署运行它或密钥库,为应用。

inappdone

了解更多

还有很多更多的单边行动计划,包括消费和产品信息,在应用收费插件API暴露。你可以找到在自述文件在GitHub上的项目更多关于。相同的文档将帮助您了解完整的安装、测试和故障排除指南,以便集成应用程序购买。

目录
相关文章
|
3月前
|
Java Android开发 C++
Android Studio JNI 使用模板:c/cpp源文件的集成编译,快速上手
本文提供了一个Android Studio中JNI使用的模板,包括创建C/C++源文件、编辑CMakeLists.txt、编写JNI接口代码、配置build.gradle以及编译生成.so库的详细步骤,以帮助开发者快速上手Android平台的JNI开发和编译过程。
223 1
|
3月前
|
IDE 开发工具 Android开发
安卓与iOS开发环境对比:选择哪个平台开始你的移动应用之旅?
【8月更文挑战第12天】在移动应用开发的世界中,安卓和iOS是两个巨头,它们各自拥有独特的开发环境和生态系统。本文将深入探讨这两个平台的开发环境,包括它们的编程语言、工具、社区支持和市场覆盖度等方面。无论你是新手开发者还是有经验的专业人士,了解这些差异都将帮助你做出更明智的决策,选择最适合你项目需求和个人技能的平台。
48 1
|
16天前
|
Java API Android开发
安卓应用程序开发的新手指南:从零开始构建你的第一个应用
【10月更文挑战第20天】在这个数字技术不断进步的时代,掌握移动应用开发技能无疑打开了一扇通往创新世界的大门。对于初学者来说,了解并学习如何从无到有构建一个安卓应用是至关重要的第一步。本文将为你提供一份详尽的入门指南,帮助你理解安卓开发的基础知识,并通过实际示例引导你完成第一个简单的应用项目。无论你是编程新手还是希望扩展你的技能集,这份指南都将是你宝贵的资源。
44 5
|
15天前
|
Java 程序员 API
Android|集成 slf4j + logback 作为日志框架
做个简单改造,统一 Android APP 和 Java 后端项目打印日志的体验。
67 1
|
21天前
|
开发工具 Android开发 iOS开发
Android vs iOS:构建移动应用时的关键考量####
本文深入探讨了Android与iOS两大移动平台在开发环境、性能优化、用户体验设计及市场策略方面的差异性,旨在为开发者提供决策依据。通过对比分析,揭示两个平台各自的优势与挑战,帮助开发者根据项目需求做出更明智的选择。 ####
|
1月前
|
开发框架 .NET API
Windows Forms应用程序中集成一个ASP.NET API服务
Windows Forms应用程序中集成一个ASP.NET API服务
85 9
|
2月前
|
Kubernetes Go 持续交付
一个基于Go程序的持续集成/持续部署(CI/CD)
本教程通过一个简单的Go程序示例,展示了如何使用GitHub Actions实现从代码提交到Kubernetes部署的CI/CD流程。首先创建并版本控制Go项目,接着编写Dockerfile构建镜像,再配置CI/CD流程自动化构建、推送Docker镜像及部署应用。此流程基于GitHub仓库,适用于快速迭代开发。
47 3
|
2月前
|
Kubernetes 持续交付 Go
创建一个基于Go程序的持续集成/持续部署(CI/CD)流水线
创建一个基于Go程序的持续集成/持续部署(CI/CD)流水线
|
1月前
|
存储 缓存 安全
如何使用 PHP 将天气跟踪集成到 Web 应用程序中
如何使用 PHP 将天气跟踪集成到 Web 应用程序中
32 0
|
2月前
|
存储 XML API
安卓应用程序开发:从新手到专家的旅程
【8月更文挑战第33天】在这篇文章中,我们将一起踏上一段激动人心的旅程,探索如何从一个对安卓应用程序开发一无所知的新手,成长为一个能够独立开发复杂应用程序的专家。我们将通过实际案例和代码示例,深入理解安卓开发的各个方面,包括用户界面设计、数据存储、网络通信等。无论你是刚刚入门,还是已经有一些基础,这篇文章都将为你提供宝贵的知识和技能,帮助你在安卓开发的道路上更进一步。
下一篇
无影云桌面