Проблема, с которой вы сталкиваетесь, связана с настройкой схемы для редиректа после успешной авторизации через OAuth в Yandex. Ошибка "Приложение не установлено" может возникнуть, если у вас не настроены корректно `intent-filter` для обработки редиректов.
Давайте рассмотрим основные моменты, которые нужно проверить:
### 1. Проверьте настройки в Яндексе
Убедитесь, что вы правильно настроили приложение в Яндекс. В разделе OAuth-авторизации укажите URL для редиректа. Он должен соответствовать тому, что вы определили в `intent-filter`. Например, если вы используете `https://cloud.appwrite.io/v1/account/sessions/oauth2/callback/yandex/67b693810011e520cf60`, убедитесь, что этот URL корректно указан в настройках вашего приложения на Яндексе.
### 2. Проверьте `intent-filter`
Убедитесь, что `intent-filter` настроен правильно. В данный момент у вас указана схема `https`. Если ваше приложение должно обрабатывать определённые URL-схемы (например, `appname://`), то вам нужно настроить это также:
```xml
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="appname" />
</intent-filter>
```
Или, если хотите использовать `https`, убедитесь, что URL-адрес правильно настроен:
```xml
<data android:scheme="https"
android:host="cloud.appwrite.io"
android:pathPrefix="/v1/account/sessions/oauth2/callback/yandex/67b693810011e520cf60" />
```
### 3. Обработчик редиректа в `TestActivity`
В вашем методе `onNewIntent` убедитесь, что вы правильно обрабатываете URI. Вот пример, как это может выглядеть:
```kotlin
class TestActivity : ComponentActivity() {
override fun onNewIntent(intent: Intent) {
super.onNewIntent(intent)
intent.data?.let { uri ->
if (uri.scheme == "https" && uri.host == "cloud.appwrite.io" && uri.path?.startsWith("/v1/account/sessions/oauth2/callback/yandex/") == true) {
// Здесь обработайте успешный редирект
// Получите необходимые параметры и выполните необходимые действия
}
}
}
}
```
### 4. Проверьте, не блокирует ли браузер редирект
Если вы открываете ссылку через браузер, убедитесь, что браузер не блокирует переходы на ваши кастомные схемы (или `https` URL). Также проверьте консоль разработчика браузера на наличие возможных ошибок.
### 5. Логи и отладка
Запустите приложение в режиме отладки и проверьте логи. Возможно, вы увидите дополнительные подсказки о том, почему возникает ошибка.
Если вы проверите все вышеперечисленное и всё будет настроено правильно, ваша система должна успешно обрабатывать редиректы после авторизации.