I think from a user experience the best option is:
on back :
Show ads;
finish();
This way the app will be closed after they close the ad.
To be the most compliant I think:
Count = 0;
On back :
if count == 1 then
finish();
If count == 0 then
Show Ads
count++;
Would be more compliant because the app is not exited even after the ad is closed. Does it really matter? I don't know, I use the first option and haven't had any problem so far. One thing you do want to make sure of is to preload the ads, so the ad doesn't pop up like 10 seconds after the app is closed. So I guess the option I really use is:
if (interstitial.isReady()) Show ads;
finish();