Давайте рассмотрим вопрос чуть поструктурнее.
Несанкционированное использование неофициальным клиентом - значит пытаемся защитить клиента.
Https с ключом к API защитит только от тривиального перехвата трафика сниффером (mitm).
Если расковыряют приложение и достанут идентификационный ключ для подписания запросов - будет проблема. Тут уже включаем защиту от «расковыривания». Имхо, лучший вариант - плановый выпуск обновления приложения с заменой ключа, и, возможно, внесением определенных изменений в хранение этого ключа (чтобы взлом клиента требовал определенного времени). Когда то народу надоест ломать.
Если ломать не надоело - то следует задуматься над причинами: почему кому то так хочется иметь неофициальный клиент к вашему api. Тут будет проще договорится - или продолжить играть в мечи и щиты.