플레이스토어에서 다운받은 앱이 로그인이 안됩니다

문의 시 사용하시는 SDK 버전 정보와 플랫폼(Android / iOS) 및 디벨로퍼스 앱ID를 알려주세요.


SDK: 35
플랫폼: 안드로이드
앱ID: 1111644

번들 빌드하여 앱에 설치하고 테스트했을 때는 로그인이 잘되었습니다.
그래서 구글플레이 콘솔에 올린 후에 플레이스토어에서 다운받았고
구글 플레이 콘솔의 [앱 서명 키 인증서] 의 SHA-1 인증서 지문은 keyhash로 변환해서
카카오 디벨로퍼 Android keyhash에 저장하였습니다. (기존 빌드용 keyhash 대체)

그리고 로그인이 안됩니다.

어떤 문제인지 도움주시기 바랍니다.
감사합니다.

로그를 보니 키해시 불일치 에러는 없네요?

어떤 상황인지 확인 위해 재현 영상 첨부해주시겠어요?

카카오계정 로그인으로 넘어가서
로그인하면
첨부 이미지에서 넘어가지 않습니다.

그렇다면,

다른 디벨로퍼스앱키를 사용해서 키해시 불일치 에러 로그가 다른곳에 쌓이고 있거나

리다이렉트 스킴설정이 안되어 앱으로 되돌아가지 못하는 상황 두가지를 상정해볼 수 있습니다.

관련 코드블럭 기재 부탁드려요.

스킴 확인 부탁드립니다.

<manifest xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- 인터넷 사용 권한 -->
    <uses-permission android:name="android.permission.INTERNET" />


    <application
        android:name="${applicationName}"
        android:icon="@mipmap/ic_launcher"
        android:label="우리동네끼리"
        android:roundIcon="@mipmap/ic_launcher_round">
        <!-- 카카오 로그인 커스텀 URL 스킴 설정 -->
        <activity
            android:name="com.kakao.sdk.flutter.AuthCodeCustomTabsActivity"
            android:exported="true">
            <intent-filter android:label="flutter_web_auth">
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />

                <!-- "kakao${YOUR_NATIVE_APP_KEY}://oauth" 형식의 앱 실행 스킴 설정 -->
                <!-- 카카오 로그인 Redirect URI -->
                <data
                    android:host="oauth"
                    android:scheme="kakaobd4875b83a06652b480d3cbc8f8726b7" />
            </intent-filter>
            <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:host="kakaolink"
                    android:scheme="kakaobd4875b83a06652b480d3cbc8f8726b7" />
            </intent-filter>
        </activity>
        <activity
            android:name=".MainActivity"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
            android:exported="true"
            android:hardwareAccelerated="true"
            android:launchMode="singleTop"
            android:taskAffinity=""
            android:theme="@style/LaunchTheme"
            android:windowSoftInputMode="adjustResize">
            <!-- Specifies an Android theme to apply to this Activity as soon as
                 the Android process has started. This theme is visible to the user
                 while the Flutter UI initializes. After that, this theme continues
                 to determine the Window background behind the Flutter UI. -->
            <meta-data
                android:name="io.flutter.embedding.android.NormalTheme"
                android:resource="@style/NormalTheme" />

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <!-- Don't delete the meta-data below.
             This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
        <meta-data
            android:name="flutterEmbedding"
            android:value="2" />
    </application>
    <!-- Required to query activities that can process text, see:
         https://developer.android.com/training/package-visibility and
         https://developer.android.com/reference/android/content/Intent#ACTION_PROCESS_TEXT.

         In particular, this is used by the Flutter engine in io.flutter.plugin.text.ProcessTextPlugin. -->
    <queries>
        <intent>
            <action android:name="android.intent.action.PROCESS_TEXT" />
            <data android:mimeType="text/plain" />
        </intent>
        <intent>
            <action android:name="android.intent.action.SENDTO" />
            <data android:scheme="mailto" />
        </intent>
    </queries>
</manifest>

로그인 처리부 관련 코드 블럭도 기재 부탁드려요.

확인 부탁드립니다.

GestureDetector(
                  child: AppAssets.kakaoLoginBtnImg(width: 280),
                  onTap: () {
                    context.read<LoginBloc>().add(KakaoLoginRequested());
                    // context.push('/login/consent/kakao');
                  },
                ),
  Future<void> _onKakaoLoginRequested(
    KakaoLoginRequested event,
    Emitter<LoginState> emit,
  ) async {
    await _loginWithKakaoUseCase.execute();
    emit(state.copyWith(
      loginRequestCompleted: true,
    ));
  }
  @override
  Future<UserModel> loginWithKakao() async {
    logger.d('FlowerLog(loginWithKakao): loginWithKakao Start');
    final kakaoAccessToken = await _kakaoApi.login();
    logger.d('FlowerLog(kakaoAccessToken): $kakaoAccessToken');
    final loginResponse = await _serverApi.loginWithKakao(kakaoAccessToken);

    _accessToken = loginResponse.accessToken;
    logger.d('FlowerLog(_accessToken): $_accessToken');
    await getUser();

    if (_userModel == null) {
      throw Exception('login failed - get user model failed');
    }

    logger.d('login success - accessToken: ${loginResponse.accessToken}');

    if (_userModel!.isValidServiceAgreed && _userModel!.isValidProfile) {
      await _writeAccessTokenToStorage(loginResponse.accessToken!);
    }

    return _userModel!;
  }
  Future<LoginResponseDto> loginWithKakao(String accessToken) async {
    logger.d(
        'loginWithkakao server request: $kakaoLoginUrl, data: {accessToken: $accessToken}');
    final response = await _dio.post(
      kakaoLoginUrl,
      data: {'accessToken': accessToken},
    );

    logger.d('loginWithkakao server response: ${response.data["data"]}');
    return LoginResponseDto(accessToken: response.data["data"]["accessToken"]);
  }

카카오디벨로퍼스에서 제공하는 Flutter SDK를 사용하신게 아닌가요? (이 코드가 로컬에서는 정상작동하나요?)