com.google.api.services.androidpublisher.AndroidPublisher 类的线程安全

问题描述 投票:0回答:0

同时从多个线程访问一个 AndroidPublisher 对象是否安全?

在我的服务器端,我需要验证 Google play 应用内购买

    fun verifyWithPlay(request0: PurchaseRequest): ProductPurchase? {
    

    try {
        //https://developers.google.com/android-publisher/api-ref/rest/v3/purchases.products/get

        val httpTransport: HttpTransport = GoogleNetHttpTransport.newTrustedTransport()
        val jsonFactory: JsonFactory = GsonFactory()
        val publisher: AndroidPublisher =
            AndroidPublisher.Builder(httpTransport, jsonFactory, HttpCredentialsAdapter(credentials))
                .setApplicationName(appName).build()

        val purchases: AndroidPublisher.Purchases = publisher.purchases()

        val request = purchases.products().get(
            packageName, request0.productId,
            request0.purchaseToken
        )
        val purchase: ProductPurchase = request.execute()
        //debug("purchase:$purchase")
        return purchase
    } catch (e: Exception) {
        e.printStackTrace()
    }
    return null
}

如果 AndroidPublisher 类是线程安全的,我可以重复使用它并避免每次都使用 build() 方法。

它的文档没有提到线程安全。 AndroidPublisher.html

注意:它是超类 com.google.api.client.googleapis.services.json。AbstractGoogleJsonClient 是线程安全的。

java android kotlin google-api google-api-java-client
© www.soinside.com 2019 - 2024. All rights reserved.