Obfuscation keeps your string URL "safe" from reverse-engineering your code, while https protocol protects communications between your app (obfuscated or not) and the intended server.
As an extra protection layer, you could direct your app to a server which in turn calls the intended one, so that sniffing communications between your app and the first server will lead to discover that "false" server and not the final one.
If you choose the latter setup, you could embed your secret API key on the middle server so that your app will have no notion of it. In that case the middle server will receive commands from your app and properly format them for the final server (returning responses back to originating app).