As you said, no matter what you do, as far as you try to hide your key, you cannot hide it 100%. But, if you want the reverse engineer to work harder,
First, obfuscate your client (I think you have already done this).
Secondly, do not put the key in a hard-coded client. Get the key after logging in or the user has opened the application. And deliver the secret key to the client via SSL. Keep the secret as an array of bytes and do not save it in the client. Just keep in mind.
These steps do not guarantee the security of the private key, but make the work of the reverse engineer very difficult.
Semih source share