I'm a developer on Zombies, Run!, a health and fitness app that allows music to play in an external app, which we periodically interrupt with game audio. For a while now people have been reporting issues with Spotify's handling of audio interrupts to us, so I thought I'd mention them to you to see if it's something you can fix.
Zombies, Run! uses the AudioFocus api to duck using a call to
AudioManager.requestAudioFocus(OnAudioFocusChangeListener, AudioManager.STREAM_MUSIC, focusDurationHint);
where focus duration hint may be
Spotify correctly yields audio focus, and if the interruption is short enough will resume after Zombies, Run! audio plays. However, if the clip is longer than, say, a couple of minutes (I don't think we have any that get longer than four minutes), Spotify will not resume. The service remains alive, and play can be resumed manually, but the automatic resume fails.
As a point of compairson, Google Play Music doesn't have the same behaviour and is much more resilient at resuming after losing focus (though with a long enough suspension, say over five minutes or so even that may fail to resume).
I don't know if this is an issue with Android not guaranteeing to send audio focus updates after an arbitrary timeout, or down to Spotify's handling of transient audio focus changes - information either way would be helpful!