Background (you can skip below to TLDR) as this portion isn't really necessary to answer the question):
Alright so I'm implementing my saving functionality and my apps are being built using Unity.
Although I do not have all the save functionality completed, I'm planning on having critical items like currency being updated through CloudScripts where I can safely put my security checks (if reason for gem increase == anything other than 'store', then values above 1000 are not realistic/allowed, etc) and non-critical items like the Player class serialized JSON (minus currency, stats, etc) being updated through regular PlayerData calls.
There's specific points in my game where I will plan to call these methods like updating currencies after ever run session (it's an infinite runner) or updating currencies after every shop purchase, but I was thinking, if a user or the OS force closes an app, where should I save the data?
I understand OnApplicationQuit isn't guaranteed to be called on some platforms with Unity, so OnApplicationPause seems like the next best thing. But will putting a call to PlayFab in OnApplicationPause issue API calls too frequently? Since OnApplicationPause(true) can be called whenever a person answers a call, goes to their home screen, puts the app out of focus, and OnApplicationPause(false) is called whenever we resume. Currencies probably won't be updated here as the only time they should change are strategic points I mentioned earlier. However some PlayerData key-value pairs will need to be saved on quit/pause.
1) For anyone familiar with Unity, in the case of my app losing focus or being quit, I need to know the best place to issue calls to PlayFab for saving my game data (OnApplicationQuit / OnApplicationPause / etc).
2) Would I go over my allotted amount of API calls too quickly putting calls in OnApplicationPause?
3) Is there a page that tells us clear cut the limits we have each month, or is the only limit being under a certain amount of MAU each month like GameSparks?