Search code examples
androidin-app-billingin-app-subscription

Google Play Billing Subscription: new policy for mandatory "Hold": what needs to be changed in the app UI?


Google will change its policy on the 1st of Nov 2020 : subscription "Hold" will need to be enabled https://android-developers.googleblog.com/2020/06/new-features-to-acquire-and-retain-subscribers.html

At the moment, here is how I query if a user has purchased my subscription or not (there is only 1 subscription in my app) and grant him privileges accordingly:

private void queryPurchase() {
    Purchase.PurchasesResult purchasesResult = mBillingClient.queryPurchases(BillingClient.SkuType.SUBS);
    if (purchasesResult != null) {
        if (purchasesResult.getPurchasesList() != null) {
            if (purchasesResult.getPurchasesList().size() > 0) {
                String purchaseToken = purchasesResult.getPurchasesList().get(0).getPurchaseToken();

                if (purchasesResult.getPurchasesList().get(0).toString().contains("productId\":\"" + "myID")) {
                    //grant user subscription's privileges
                }
            }
            else {
                //do not grant user subscription's privilege
            }
        }
    }
}

My questions are :

  1. Will this method still properly detect whether or not a subscription is on hold?
  2. Do I need to add anything in terms of UI/messaging specifically related to a Hold status?

Solution

  • Since the 1st of November several of my apps were changed only on the server side, nothing related to UI/messaging to the user. And since I didn't get any rejection or warning, I would conclude there was no UI/messaging changes required. It would be great if Google requirements were more clear to avoid such a waste of time!