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

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

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

Project Cover

Kimi

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

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

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

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

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