Project Icon

gdx-pay

libGDX跨平台应用内购买API

gdx-pay是libGDX的扩展项目,提供跨平台应用内购买API。支持Google Play、Amazon IAP、Huawei和Apple iOS等多种支付服务。项目集成简便,配置使用方法直观,便于开发者实现应用内购买功能。核心功能包括购买项目信息查询、商品购买和恢复购买,适用于移动游戏开发。

Maven Central

本项目旨在提供一个跨平台的应用内购买API。 gdx-pay项目是libGDX的一个扩展。当前发布版本为1.3.7。请使用至少libGDX v1.9.8或Robovm 2.3.5。

SNAPSHOT版本定期发布在https://oss.sonatype.org/content/repositories/snapshots/

支持的支付服务

点击链接查看各子项目的readme文件,了解服务相关信息和构件。

安装

推荐通过Gradle或Maven进行依赖管理来使用gdx-pay。构件可在Maven Central找到。

project-root/build.gradle:

ext {
    gdxPayVersion = '1.3.7'
}

添加以下依赖:

core:

    implementation "com.badlogicgames.gdxpay:gdx-pay-client:$gdxPayVersion"

html:

    implementation "com.badlogicgames.gdxpay:gdx-pay:$gdxPayVersion:sources"
    implementation "com.badlogicgames.gdxpay:gdx-pay-client:$gdxPayVersion:sources"

还需要在html项目的GdxDefinition.gwt.xml文件中添加以下内容:

    <inherits name="com.badlogic.gdx.pay_client"/>

这就是在核心项目中使用gdx-pay所需的全部内容。当然,你可能想在游戏中使用特定的IAP服务。 请查看上面链接的服务子项目readme文件。

使用方法

与支付服务通信的主要接口是PurchaseManager。在主游戏类中添加一个字段来持有它:

public PurchaseManager purchaseManager;

在启动器类中,实例化你想使用的支付服务的PurchaseManager:

game.purchaseManager = new DesiredPlatformPurchaseManager(...);

查看上面链接的所需支付服务文档,了解如何实例化其PurchaseManager实现。

配置

在使用PurchaseManager进行支付之前,需要先安装它: 你需要提供一个实现PurchaseObserver接口的回调监听器和一个配置。 通常,配置只是传递你想提供的商品:

PurchaseManagerConfig pmc = new PurchaseManagerConfig();
pmc.addOffer(new Offer().setType(OfferType.ENTITLEMENT).setIdentifier(YOUR_ITEM_SKU));
pmc.addOffer(new Offer().setType(OfferType.CONSUMABLE).setIdentifier(YOUR_ITEM_SKU));
pmc.addOffer(new Offer().setType(OfferType.SUBSCRIPTION).setIdentifier(YOUR_ITEM_SKU));
// 某些支付服务可能需要特殊参数,请查看文档
pmc.addStoreParam(storename, param)

purchaseManager.install(new MyPurchaseObserver(), pmc, true);

当PurchaseManager成功安装后,你的PurchaseObserver将收到回调,并且purchaseManager.installed()将返回true。 根据支付服务的不同,这可能需要几秒钟的时间。现在你可以请求信息或购买商品了。

如果你完全不再需要PurchaseManager,调用它的dispose()方法。

请求商品信息

了解您添加到配置中的哪些项目在什么价格下可用很重要。使用getInformation()来检索项目的Information对象以获取这些信息:

Information skuInfo = purchaseManager.getInformation(sku);
if (skuInfo == null || skuInfo.equals(Information.UNAVAILABLE)) {
   // 该项目不可用...
   purchaseButton.setDisabled(true);
} else {
   // 启用购买按钮并设置其价格标签
   purchaseButton.setText(skuInfo.getLocalPricing());
}
    

购买项目

这就是您阅读本文的目的!开始购买非常简单:

purchaseManager.purchase(sku);

如果购买成功完成,您将收到对PurchaseObserver.handlePurchase()的调用。如果出现错误,您可能会收到对观察者的handlePurchaseError()handlePurchaseCanceled()方法的调用。

恢复购买

如果用户重新安装了您的游戏或删除了其数据,让他恢复过去的购买很重要。您可以通过调用以下方法来实现:

purchaseManager.purchaseRestore()

您将收到对观察者的handleRestore()方法的回调,其中包含过去交易的列表。

**请注意:**不要在每次游戏启动时使用此方法查询用户购买的权益,而应自行保存它们。仅在用户点击"恢复"按钮时调用此方法。最重要的原因如下:

  • (仅限iOS)如果您的游戏在没有用户交互的情况下调用purchaseRestore(),苹果将拒绝您的游戏
  • 只有在设备连接到互联网时,您才能获得可靠的结果。如果您不自行保存权益,您的付费用户将无法在离线状态下使用他们的购买内容
  • purchaseRestore()可能需要一些时间来获取结果

示例项目

如果您有问题或疑问,请查看示例项目,该项目演示了如何配置和使用gdx-pay。

新闻和社区

查看libGDX博客获取新闻和更新。 您可以在libGDX论坛获得帮助,并在IRC频道#libgdx(irc.freenode.net)或libgdx discord上与其他用户交流。

报告问题

某些功能未按预期工作?需要尚未实现的功能?查看问题追踪器,如果您的问题尚未列出,请添加一个新问题。请尽量提供详细的问题描述,包括重现问题的步骤。

从源代码构建

要从源代码构建,请克隆或下载此存储库,然后在Android Studio中打开它。执行以下命令以编译库并将其上传到您的本地存储库:

./gradlew publishToMavenLocal

查看build.gradle文件以获取在您的依赖项中使用的当前版本。

贡献

太棒了!如果您想贡献新功能或修复错误,fork这个仓库提交pull request。 此外,在我们接受大量代码贡献之前,我们需要您签署libGDX贡献者许可协议

许可

gdx-pay项目使用Apache 2许可证,这意味着您可以在商业和非商业项目中免费使用它,没有任何附加条件。如果您使用gdx-pay发布游戏或应用程序,我们很乐意(非强制性地)得到认可!

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

稿定AI

稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号