【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上的项目更多关于。相同的文档将帮助您了解完整的安装、测试和故障排除指南,以便集成应用程序购买。

目录
相关文章
Flutter 与原生模块(Android 和 iOS)之间的通信机制,包括方法调用、事件传递等,分析了通信的必要性、主要方式、数据传递、性能优化及错误处理,并通过实际案例展示了其应用效果,展望了未来的发展趋势
本文深入探讨了 Flutter 与原生模块(Android 和 iOS)之间的通信机制,包括方法调用、事件传递等,分析了通信的必要性、主要方式、数据传递、性能优化及错误处理,并通过实际案例展示了其应用效果,展望了未来的发展趋势。这对于实现高效的跨平台移动应用开发具有重要指导意义。
625 4
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
227 20
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
74 4
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
FlowiseAI:34K Star!集成多种模型和100+组件的 LLM 应用低代码开发平台,拖拽组件轻松构建程序
FlowiseAI 是一款开源的低代码工具,通过拖拽可视化组件,用户可以快速构建自定义的 LLM 应用程序,支持多模型集成和记忆功能。
312 14
FlowiseAI:34K Star!集成多种模型和100+组件的 LLM 应用低代码开发平台,拖拽组件轻松构建程序
探索安卓开发:打造你的首个天气应用
在这篇技术指南中,我们将一起潜入安卓开发的海洋,学习如何从零开始构建一个简单的天气应用。通过这个实践项目,你将掌握安卓开发的核心概念、界面设计、网络编程以及数据解析等技能。无论你是初学者还是有一定基础的开发者,这篇文章都将为你提供一个清晰的路线图和实用的代码示例,帮助你在安卓开发的道路上迈出坚实的一步。让我们一起开始这段旅程,打造属于你自己的第一个安卓应用吧!
144 14
探索安卓开发:打造你的第一款应用
在数字时代的浪潮中,每个人都有机会成为创意的实现者。本文将带你走进安卓开发的奇妙世界,通过浅显易懂的语言和实际代码示例,引导你从零开始构建自己的第一款安卓应用。无论你是编程新手还是希望拓展技术的开发者,这篇文章都将为你打开一扇门,让你的创意和技术一起飞扬。
101 13
打造个性化安卓应用:从设计到开发的全面指南
在这个数字时代,拥有一个定制的移动应用不仅是一种趋势,更是个人或企业品牌的重要延伸。本文将引导你通过一系列简单易懂的步骤,从构思你的应用理念开始,直至实现一个功能齐全的安卓应用。无论你是编程新手还是希望拓展技能的开发者,这篇文章都将为你提供必要的工具和知识,帮助你将创意转化为现实。
探索安卓开发之旅:打造你的第一个天气应用
【10月更文挑战第30天】在这个数字时代,掌握移动应用开发技能无疑是进入IT行业的敲门砖。本文将引导你开启安卓开发的奇妙之旅,通过构建一个简易的天气应用来实践你的编程技能。无论你是初学者还是有一定经验的开发者,这篇文章都将成为你宝贵的学习资源。我们将一步步地深入到安卓开发的世界中,从搭建开发环境到实现核心功能,每个环节都充满了发现和创造的乐趣。让我们开始吧,一起在代码的海洋中航行!
打造个性化安卓应用:从设计到实现
【10月更文挑战第30天】在数字化时代,拥有一个个性化的安卓应用不仅能够提升用户体验,还能加强品牌识别度。本文将引导您了解如何从零开始设计和实现一个安卓应用,涵盖用户界面设计、功能开发和性能优化等关键环节。我们将以一个简单的记事本应用为例,展示如何通过Android Studio工具和Java语言实现基本功能,同时确保应用流畅运行。无论您是初学者还是希望提升现有技能的开发者,这篇文章都将为您提供宝贵的见解和实用的技巧。
打造个性化Android应用:从设计到实现的旅程
【10月更文挑战第26天】在这个数字时代,拥有一个能够脱颖而出的移动应用是成功的关键。本文将引导您了解如何从概念化阶段出发,通过设计、开发直至发布,一步步构建一个既美观又实用的Android应用。我们将探讨用户体验(UX)设计的重要性,介绍Android开发的核心组件,并通过实际案例展示如何克服开发中的挑战。无论您是初学者还是有经验的开发者,这篇文章都将为您提供宝贵的见解和实用的技巧,帮助您在竞争激烈的应用市场中脱颖而出。

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等