具备Google和Facebook身份验证的Android应用程序内购买(IAP)吗?

时间:2019-03-14 16:14:58

标签: android in-app-purchase account

在我的android应用程序中,我要允许用户使用google或facebook帐户进行身份验证。

我已经实现了与Google的登录。 我将尝试尽快通过Facebook实现登录。

我已经在android中了解了IAP:

https://developer.android.com/google/play/billing/billing_overview

https://droidmentor.com/inapppurchase-subscription/

至少我了解它与Google帐户身份验证有关。

所以我想知道是否可以通过Facebook帐户对用户进行身份验证?

目前我无法找到示例或解释。 对于与Google进行IAP的任何良好示例/说明,也非常感谢,因为我对IAP尚无明确的认识。

fyi:在我的应用中,用户将能够购买“虚拟门票包”(例如:10、15、20张门票)并将其添加到他们的个人资料中。然后他们将一张一张地“消费”门票。

最好的问候

2 个答案:

答案 0 :(得分:4)

我的理解是,您已经拥有一个用于向客户提供Google登录名的用户系统。添加Facebook登录名时,您可能需要将Google和Facebook登录名与您自己的自定义用户ID匹配。拥有自己的自定义ID总是一个好主意,以便您可以将其映射到不同类型的登录名。

通过Google Play结算进行购买时,该购买将与用户的电话Google帐户相关联,并且您还可以提供一种将购买与您自己的用户帐户系统相关联的可选方式。为此,在构建 BillingFlowParams 时,请调用setAccountId并传递您帐户的系统自定义ID。

为提供最佳体验,在安装过程中或在设备之间持续购买,您还应该将购买保存在服务器的数据库中。为了以安全的方式执行此操作,您还必须实现服务器端收据验证。如果您想避免大部分此类头痛,建议您使用RevenueCat之类的服务。

答案 1 :(得分:1)

IAP只能通过用户的Google帐户来完成,因为这是使用Play商店的任何部分所需要的。用户的Google帐户也是存储每个用户的信用卡/其他付款方式的地方。

尽管如此,但用户使用IAP系统登录到您的应用程序的方式与他们无关。当用户选择使用IAP时,Google帐户数据将由android设备/ Play商店提供,而不是由您的应用程序提供(关闭主题:如果您要尝试在iOS上使用,过程类似)。

您的应用程序需要做的是,从IAP sdk收到购买确认书,然后在服务器上标记该特定用户已经购买了该物品。基本上,对于任何购买(无论付款提供商),您通常都会在数据库中标记以下内容:

  • 用户购买了什么
  • 他付了多少钱
  • 他什么时候付款
  • 购买者的提供者ID,因此您以后可以将会计报告与付款提供者的报告进行匹配
  • 他从哪儿付费(IP可以作为一个很好的指标,尽管在VPN时代不一定是100%准确的)(这对您的营销决策很有用)
  • 标记该用户现在可以访问他购买的商品,如果是限时商品,请在商品到期时进行标记,以便以后可以检查他是否仍然有权访问该商品。

免责声明: 我之前没有直接使用过android IAP系统。在使用iOS IAP和android Braintree付款之前,我已经实现了移动应用程序支付系统。但是该过程也很可能与Android IAP非常相似。