diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts index 1ab7a8a..b9a85ca 100644 --- a/android/app/build.gradle.kts +++ b/android/app/build.gradle.kts @@ -1,12 +1,14 @@ plugins { id("com.android.application") id("kotlin-android") + id("kotlin-kapt") // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. id("dev.flutter.flutter-gradle-plugin") + id("com.google.gms.google-services") } android { - namespace = "com.nomadcode.nomadcode" + namespace = "com.tokilabs.mattermost" compileSdk = flutter.compileSdkVersion ndkVersion = flutter.ndkVersion @@ -21,7 +23,7 @@ android { defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). - applicationId = "com.nomadcode.nomadcode" + applicationId = "com.tokilabs.mattermost" // You can update the following values to match your application needs. // For more information, see: https://flutter.dev/to/review-gradle-config. minSdk = flutter.minSdkVersion @@ -42,3 +44,27 @@ android { flutter { source = "../.." } + +dependencies { + // Firebase BOM (버전 통합 관리) + implementation(platform("com.google.firebase:firebase-bom:33.7.0")) + implementation("com.google.firebase:firebase-messaging") + + // JWT 서명 검증 (mattermost와 동일 버전) + implementation("io.jsonwebtoken:jjwt-api:0.12.5") + runtimeOnly("io.jsonwebtoken:jjwt-impl:0.12.5") + runtimeOnly("io.jsonwebtoken:jjwt-orgjson:0.12.5") { + exclude(group = "org.json", module = "json") + } + + // HTTP 클라이언트 + implementation("com.squareup.okhttp3:okhttp:4.12.0") + + // Kotlin Coroutines + implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3") + + // Room DB (로컬 캐시용) + implementation("androidx.room:room-runtime:2.6.1") + implementation("androidx.room:room-ktx:2.6.1") + kapt("androidx.room:room-compiler:2.6.1") +} diff --git a/android/app/google-services.json b/android/app/google-services.json new file mode 100644 index 0000000..24bda37 --- /dev/null +++ b/android/app/google-services.json @@ -0,0 +1,29 @@ +{ + "project_info": { + "project_number": "1047648748539", + "project_id": "mattermost-6ac08", + "storage_bucket": "mattermost-6ac08.firebasestorage.app" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:1047648748539:android:818bf70bfbb3f9d070415e", + "android_client_info": { + "package_name": "com.tokilabs.mattermost" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyAW6j_oPl9MVcm93qS3JgaEPD5ywp-TzZ0" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 99c2c49..4350882 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,8 +1,14 @@ + + + + + + android:name=".MainApplication" + android:icon="@mipmap/ic_launcher" + android:roundIcon="@mipmap/ic_launcher_round"> + + + + + + + + + + + + +