The "new" Google Play Console displays the purchase time for app purchases in the UTC time zone. How do I get it to show the purchase time in the local time zone like in the "old" Google Play Console? I can't find the setting if there is one.
Related
We are verifying Google subscriptions on backend using requests to:
https://developers.google.com/android-publisher/api-ref/rest/v3/purchases.subscriptions?hl=en
we have also integrated with server notifications, so that we have updated data on all subscriptions.
I started to compare numbers displayed on play.google.com/console to what we have in our app and those are nowhere close. On our backend we see 30% more subscriptions that are marked as active then on Play Console.
On Play console I have restricted Subscription data chart to only single day and got number of subscriptions that were active at least for one day within given time window (so 1 day).
On our backend I got all subscriptions that had startTimeMillis before (or equal) given day and expiryTimeMillis after (or equal)
The difference was around 30% (Play console shows lower numbers). For all subscriptions I got updated data from purchase.subscriptions api (linked at the top) and confirmed that all of them should be active:
paymentState=1
checked date is between start/end date for subscription
According to other stackoverflow answers like:
How to verify purchase for android app in server side (google play in app billing v3)
checking expire date should be enough to verify if subscription should be active or not. But Maybe I'm missing something? Or maybe Play Console is not showing what I think I see?
I want to change the expiration date of a Subscription in my Play Store using the Play Store API.
I have a Mobile App where you can buy a renewal Play Store Subscription or you can get some time for free from Promos in app.
The main problem here is that if you have bought a subscription from the Play Store and you want to add time by a Promo in the application, I can't change the Renewal date of your subscription to handle this new time added into your Premium. So, the Play Store is going to renew your subscription and take the payment in a wrong date.
How can I handle this situation??
iOS CASE: iOS - App Store - Change expiration date of a subscription
The solution for this problem, is use Defer.
With this we can modify the next billing date, and move it to the future the days we need.
Documentation
https://developers.google.com/android-publisher/api-ref/purchases/subscriptions/defer
I am unable to understand how does google Quests API (Games.Quests) decide which quest to be open in different time zones and when.
https://developers.google.com/games/services/common/concepts/quests#quest_basics
In the above link it says
Schedule Specifies when players will be able to accept and participate in quests. When you enter the dates and time values, Google Play games services uses your local time zone but stores the values as UTC. Players will see these values appear in their local time zone in the Google Play Games app and in the default Quest list UI. You can also set up a quest as a repeating event on a weekly or monthly basis.
But unable to understand how schedule works.
For example : If as a Developer I have set time according to India (+5:30 UTC) and set that a quest will end on 12:00 am. Then when will the quest end in Mexico (-6:00 UTC)?
Note : The Quests list(with time & state) in Google Play Games app (as said above) remains the same even on changing device's time or time zone.
As stated by #Xaver, Goggle does all the heavy lifting for you. When you create a quest for the game and enter the dates and time values, Google Play games services uses your local time zone but stores the values as UTC as stated in the document. Google Play games will show this in the local timezone of the user.
For example you set the end of the quest in 12:am in India, then in Mexico it will end 12:30 PM.
The image is provided by
https://www.timeanddate.com/worldclock/converted.html?p1=54&p2=155 and it will help you understand more how the timezone works in Google Play Games Quest timezone.
Hope this helps.
I am using the Android In App BIlling v3 library, and when I call
bp.subscribe(Activity, subscriptionID)
I get the Google Play purchase window, but the biling period is always 'per day', and the trial period is always '1 day'.
I have configured my subscription to have:
Billing Period: Yearly
Free Trial Period: 15 days
Default Price: $12
Using the above configuration, my App shows the purchase details as:
1 day trial
$12.00 / day
Library documentation says nothing. Tried to Google it, can't find anything.. Am I the only one getting this??
Thanks.
This is a normal response. I guess you're testing with an account added as a tester to Google Play account. Test subscriptions are valid for 1 day and get cancelled after 1 day.
Quoting the official docs
Note: Test subscription purchases recur daily, regardless of the
product's subscription period.
I'm working on an Android application, where a user can buy a monthly/yearly subscription to unlock content. Since the app is not very dependant on the internet I try to do as less comunication with backend servers as possible. However, I have to check if the user holds a valid subscription.
So my plan is to let the user buy the subscription and set the expiry date to today + 1 month/year.
As long as the current date is before this expiry date, I do not need to check the subscription anymore. But once the current date is after this expiry date, I need to check again if the subscription is still there. If so I need to update the expiry date by another month/year.
But how long is a month/year for Google? A month can be between 28 and 31 days long. A year between 365 and 366 days.
As per the documentation:
Monthly — Google Play bills the customer’s Google Wallet account at the time of purchase and monthly subsequent to the purchase date (exact billing intervals can vary slightly over time).
Annually — Google Play bills the customer's Google Wallet account at the time of purchase and again on the same date in subsequent years.
Seasonal — Google Play bills the customer's Google Wallet account at the beginning of each "season" (you specify the season beginning and end dates). This is intended for annual purchases of seasonal content (such as sports-related content). The subscription runs through the end of the season, and restarts the next year at the start of the season.
So for monthly subscriptions, it renews when the date number matches the purchase date (not sure what it does if you start on the 31st though) and for yearly it just renews on the same day the following year.