문의 시 사용하시는 SDK 버전 정보와 플랫폼(Android / iOS) 및 디벨로퍼스 앱ID를 알려주세요.
SDK 버전 : kakao_flutter_sdk: ^1.5.0
앱 ID : 943048
앱 이름 : 심다
현재 프로젝트로 플러터를 활용한 안드로이드 앱 출시를 진행하고 있습니다.
카카오톡 로그인 기능을 구현하여 작업하고 있는데, 디버그 모드에서 카카오톡이 설치되지 않은 상황에서는 로그인 후 잘 작동이 되었습니다.
그런데, 릴리즈 모드 및 안드로이드 출시 후 요청을 보낸 결과
실제 카카오톡이 깔려있는 핸드폰에서는 깜빡하는 반응만 있을 뿐 아무런 창이 뜨지 않고, 로그인 요청조차 진행되지 않았습니다. 어떤 것이 문제인지 파악하려 했지만, 실제 출시 상황에서 디버깅도 힘들기 때문에 많은 어려움을 겪고 있습니다
혹시 릴리즈 키가 잘못된 것인지, 아니면 다른 것이 잘못되었는지 알 수 있는 방법이 있을까요
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
KakaoSdk.init(
nativeAppKey: '네이티브 앱키',
);
// 달력 한국 시각
await initializeDateFormatting();
final GoogleMapsFlutterPlatform mapsImplementation =
GoogleMapsFlutterPlatform.instance;
if (mapsImplementation is GoogleMapsFlutterAndroid) {
mapsImplementation.useAndroidViewSurface = true;
}
runApp(MaterialApp(
theme: ThemeData(
scaffoldBackgroundColor: Colors.white,
),
debugShowCheckedModeBanner: false,
home: const MyApp()));
isLogin = await store.checkAccessTokenValidity();
}
<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:scheme="kakao네이티브앱키" android:host="oauth"/>
</intent-filter>
</activity>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<application
android:label="simda"
android:name="${applicationName}"
android:icon="@mipmap/ic_launcher">
<!-- TODO: Add your Google Maps API key here -->
<meta-data android:name="com.google.android.geo.API_KEY"
android:value="**********************"/>
<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:scheme="*****************" android:host="oauth"/>
</intent-filter>
</activity>
<activity
android:name=".MainActivity"
android:exported="true"
android:launchMode="singleTop"
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
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>
</manifest>
네, 최종 배포를 위해 구글 스토어에 등록하였고,서명 키 인증서를 사용했습니다
윈도우 환경이라, 깃 배쉬에서 echo “${PRINTCERT}” | xxd -r -p | openssl base64
이 명령어를 사용해서 ${PRINTCERT} 부분 전체를 서명 키 인증서 값(XX:XX:XX 등으로 이루어진 값)을 통해 추출했습니다…
중간에 키 스토어를 한 번 더 생성했었는데 그 부분이 문제될런지 모르겠습니다.,.