The upside is failover cases as mentioned in the article and seemingly automatic upgrades as stuff changes (AKA, code deprecation).
My worry is if this "contract" (used differently from "Design by contract") means that API usage can be swapped. What if I, say, add an ad to my app. What's to stop this from going "you seem to be using an ad API that may be slow and buggy, I'll swap out that API with my own which is fast an efficient... but you won't get the ad revenue"? You may never know (enough OSes have a "is debugger attached" check with certain high-use functions). Is it likely? No... but unless the source code is available, or they forgot to put the "is debugger attached" check before the function swap, what's letting you know that it happens?
If that is not the case, great.