返回

谷歌结算:客户端集成和服务端校验的终极指南

Android

导言

在当今竞争激烈的移动应用市场中,为您的应用提供无缝的支付体验至关重要。谷歌结算是 Google 提供的一项全面支付服务,使开发人员能够轻松地为其 Android 应用集成内购和订阅。本文将详细介绍为您的应用集成 Google 结算的客户端和服务端方面。

第 1 部分:客户端集成

步骤 1:设置 Google Play Billing Library

将 Google Play Billing Library 添加到您的 Gradle 文件中:

implementation 'com.android.billingclient:billing:3.0.3'

步骤 2:创建 BillingClient

在您的活动或服务中创建 BillingClient 实例:

val billingClient = BillingClient.newBuilder(this).setListener(billingListener).build()

步骤 3:初始化 BillingClient

在 onCreate() 方法中,初始化 BillingClient:

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    billingClient.startConnection(object : BillingClientStateListener {
        override fun onBillingSetupFinished(billingResult: BillingResult) {
            // Handle billing setup completion
        }

        override fun onBillingServiceDisconnected() {
            // Handle service disconnection
        }
    })
}

步骤 4:获取产品详情

查询 Play 商店以获取您应用中可供购买的产品列表:

val params = SkuDetailsParams.newBuilder()
    .setSkusList(skuList)
    .setType(BillingClient.SkuType.INAPP)
    .build()

billingClient.querySkuDetailsAsync(params) { billingResult, skuDetailsList ->
    // Handle sku details retrieval
}

步骤 5:启动购买流程

一旦用户选择购买某个产品,即可启动购买流程:

val purchaseParams = BillingFlowParams.newBuilder()
    .setSkuDetails(skuDetails)
    .build()

billingClient.launchBillingFlow(this, purchaseParams) { billingResult, purchase ->
    // Handle purchase completion
}

第 2 部分:服务端校验

步骤 1:设置服务器端

为您的应用程序创建后端服务器以处理购买验证和订阅管理。

步骤 2:接收购买令牌

您的服务器将收到带有购买令牌的 HTTP 请求:

{
  "orderId": "GPA.1234-5678-9012-3456",
  "packageName": "com.example.myapp",
  "productId": "premium_subscription",
  "purchaseToken": "ABCDEFGHIJK..."
}

步骤 3:验证购买

使用 Google Play Developer API 验证购买令牌:

import googleapiclient.discovery

# Initialize the API client
api_client = googleapiclient.discovery.build('androidpublisher', 'v3')

# Set the API key
api_key = 'YOUR_API_KEY'

# Verify the purchase
purchase = api_client.purchases().products().get(packageName='com.example.myapp',
                                              productId='premium_subscription',
                                              token=purchaseToken).execute()

步骤 4:授予访问权限

如果购买有效,请授予用户对应用程序功能或内容的访问权限。

结论

通过遵循本文概述的步骤,您可以轻松地为您的 Android 应用集成 Google 结算。通过将客户端集成与服务端校验相结合,您可以确保安全的支付处理和对应用内购买的有效控制。集成 Google 结算将为您的用户提供无缝的购买体验,并为您的应用程序创造额外的收入流。