쪽지발송 성공
Click here
재능넷 이용방법
재능넷 이용방법 동영상편
가입인사 이벤트
판매 수수료 안내
안전거래 TIP
재능인 인증서 발급안내

🌲 지식인의 숲 🌲

🌳 디자인
🌳 음악/영상
🌳 문서작성
🌳 번역/외국어
🌳 프로그램개발
🌳 마케팅/비즈니스
🌳 생활서비스
🌳 철학
🌳 과학
🌳 수학
🌳 역사
해당 지식과 관련있는 인기재능

소개안드로이드 기반 어플리케이션 개발 후 서비스를 하고 있으며 스타트업 경험을 통한 앱 및 서버, 관리자 페이지 개발 경험을 가지고 있습니다....

안녕하세요.신호처리를 전공한 개발자 입니다. 1. 영상신호처리, 생체신호처리 알고리즘 개발2. 안드로이드 앱 개발 3. 윈도우 프로그램...

 안녕하세요. 안드로이드 기반 개인 앱, 프로젝트용 앱부터 그 이상 기능이 추가된 앱까지 제작해 드립니다.  - 앱 개발 툴: 안드로이드...

 주문전 꼭 쪽지로 문의메세지 주시면 감사하겠습니다.* Skills (order by experience desc)Platform : Android, Web, Hybrid(Cordova), Wind...

안드로이드 푸시 알림: Firebase Cloud Messaging 구현

2024-12-17 23:27:29

재능넷
조회수 248 댓글수 0

안드로이드 푸시 알림: Firebase Cloud Messaging 구현 🚀

 

 

안녕하세요, 여러분! 오늘은 안드로이드 앱 개발의 핵심 기능 중 하나인 푸시 알림에 대해 알아보겠습니다. 특히 Firebase Cloud Messaging(FCM)을 사용하여 어떻게 효과적으로 푸시 알림을 구현할 수 있는지 자세히 살펴볼 예정입니다. 🔔

푸시 알림은 사용자와 앱 간의 실시간 소통을 가능하게 하는 중요한 도구입니다. 예를 들어, 재능넷과 같은 재능 공유 플랫폼에서 새로운 프로젝트 제안이 들어왔을 때 사용자에게 즉시 알림을 보낼 수 있죠. 이런 기능은 사용자 경험을 크게 향상시키고, 앱의 참여도를 높이는 데 큰 도움이 됩니다.

자, 이제 본격적으로 FCM을 이용한 푸시 알림 구현 방법에 대해 알아보겠습니다. 준비되셨나요? 출발합니다! 🚀

1. Firebase Cloud Messaging(FCM) 소개 📚

Firebase Cloud Messaging, 줄여서 FCM은 구글이 제공하는 크로스 플랫폼 메시징 솔루션입니다. FCM을 사용하면 안드로이드, iOS, 웹 등 다양한 플랫폼에서 무료로 안정적인 메시지를 전송할 수 있습니다.

FCM의 주요 특징:

  • 무료로 사용 가능 💰
  • 높은 신뢰성과 배터리 효율성 🔋
  • 다양한 메시지 타입 지원 (알림 메시지, 데이터 메시지) 📨
  • 대규모 그룹 메시징 기능 👥
  • 분석 및 모니터링 도구 제공 📊

FCM은 단순한 알림 전송부터 복잡한 메시징 시나리오까지 다양한 용도로 활용될 수 있습니다. 예를 들어, 재능넷에서 새로운 프로젝트가 등록되었을 때 관심 있는 사용자들에게 즉시 알림을 보내거나, 채팅 메시지가 도착했을 때 실시간으로 알려줄 수 있죠.

FCM의 가장 큰 장점은 개발자가 복잡한 메시징 인프라를 직접 구축할 필요 없이, 구글이 제공하는 안정적인 서비스를 바로 사용할 수 있다는 점입니다.

Firebase Cloud Messaging 구조 FCM 서버 클라이언트 앱 푸시 알림

위 그림은 FCM의 기본적인 구조를 보여줍니다. FCM 서버가 메시지를 생성하고, 이를 클라이언트 앱으로 전송하는 과정을 나타내고 있죠. 이 과정이 어떻게 이루어지는지 더 자세히 알아보겠습니다.

FCM의 동작 원리

  1. 등록: 앱이 처음 실행될 때, FCM SDK가 자동으로 FCM 서버에 디바이스를 등록합니다. 이때 고유한 등록 토큰이 생성됩니다.
  2. 토큰 관리: 앱 서버는 이 등록 토큰을 저장하고 관리합니다. 이 토큰은 특정 디바이스로 메시지를 보내기 위해 사용됩니다.
  3. 메시지 전송: 앱 서버가 FCM 서버로 메시지를 보냅니다. 이때 대상 디바이스의 등록 토큰을 함께 전달합니다.
  4. 메시지 라우팅: FCM 서버는 받은 메시지를 해당 등록 토큰을 가진 디바이스로 전달합니다.
  5. 메시지 수신: 클라이언트 앱의 FCM SDK가 메시지를 수신하고, 이를 앱에 전달합니다.
  6. 알림 표시: 앱은 받은 메시지를 기반으로 사용자에게 알림을 표시합니다.

이러한 과정을 통해 FCM은 효율적이고 신뢰성 있는 푸시 알림 서비스를 제공합니다. 개발자는 이 과정의 대부분을 FCM SDK가 자동으로 처리해주기 때문에, 복잡한 네트워크 로직을 직접 구현할 필요가 없습니다.

FCM의 메시지 유형

FCM은 두 가지 주요 메시지 유형을 지원합니다:

  • 알림 메시지 (Notification messages): FCM이 클라이언트 앱을 대신해 자동으로 처리하는 메시지입니다. 앱이 백그라운드에 있을 때 시스템 트레이에 알림을 표시합니다.
  • 데이터 메시지 (Data messages): 클라이언트 앱이 직접 처리하는 메시지입니다. 커스텀 로직을 구현하여 메시지를 다룰 수 있습니다.

이 두 가지 메시지 유형을 적절히 조합하여 사용하면, 다양한 시나리오에 맞는 푸시 알림 전략을 구현할 수 있습니다.

🌟 Pro Tip: 재능넷과 같은 플랫폼에서는 두 가지 메시지 유형을 모두 활용하는 것이 좋습니다. 예를 들어, 새 프로젝트 알림은 알림 메시지로 보내고, 채팅 메시지의 내용은 데이터 메시지로 전송하여 앱에서 커스텀 처리할 수 있습니다.

이제 FCM의 기본 개념에 대해 알아보았으니, 다음 섹션에서는 실제로 안드로이드 앱에 FCM을 구현하는 방법에 대해 자세히 알아보겠습니다. 준비되셨나요? 계속해서 더 깊이 들어가 봅시다! 🏊‍♂️

2. FCM 설정하기 🛠️

FCM을 안드로이드 앱에 구현하기 위해서는 몇 가지 준비 단계가 필요합니다. 이 과정을 차근차근 따라가 보겠습니다.

2.1 Firebase 프로젝트 생성

먼저 Firebase 콘솔에서 새 프로젝트를 생성해야 합니다.

  1. Firebase 콘솔(https://console.firebase.google.com/)에 접속합니다.
  2. '프로젝트 추가' 버튼을 클릭합니다.
  3. 프로젝트 이름을 입력하고, 약관에 동의한 후 '계속'을 클릭합니다.
  4. Google 애널리틱스 사용 여부를 선택합니다. (FCM 사용을 위해서는 필수는 아닙니다)
  5. '프로젝트 만들기'를 클릭하여 프로젝트 생성을 완료합니다.

프로젝트 생성이 완료되면, Firebase에서 제공하는 다양한 서비스를 사용할 준비가 된 것입니다. FCM뿐만 아니라 실시간 데이터베이스, 인증, 호스팅 등 다양한 기능을 활용할 수 있습니다.

2.2 안드로이드 앱 등록

Firebase 프로젝트에 안드로이드 앱을 등록해야 합니다.

  1. Firebase 콘솔의 프로젝트 개요 페이지에서 '안드로이드 앱 추가' 버튼을 클릭합니다.
  2. 안드로이드 패키지 이름을 입력합니다. (예: com.example.myapp)
  3. 앱 닉네임(선택사항)과 디버그 서명 인증서 SHA-1(선택사항)을 입력합니다.
  4. '앱 등록' 버튼을 클릭합니다.

💡 Tip: 패키지 이름은 앱의 고유 식별자이므로 정확히 입력해야 합니다. Android Studio에서 앱의 build.gradle 파일을 열어 applicationId 값을 확인할 수 있습니다.

2.3 구성 파일 다운로드 및 추가

Firebase에서 제공하는 구성 파일(google-services.json)을 다운로드하여 안드로이드 프로젝트에 추가해야 합니다.

  1. Firebase 콘솔에서 google-services.json 파일을 다운로드합니다.
  2. 다운로드한 파일을 안드로이드 프로젝트의 app/ 디렉토리에 복사합니다.

이 구성 파일에는 Firebase 서비스와 통신하는 데 필요한 모든 정보가 포함되어 있습니다. 따라서 이 파일을 버전 관리 시스템에 포함시키지 않도록 주의해야 합니다.

2.4 Gradle 설정

FCM을 사용하기 위해 프로젝트의 Gradle 파일을 수정해야 합니다.

프로젝트 수준의 build.gradle 파일에 다음을 추가합니다:


buildscript {
    dependencies {
        classpath 'com.google.gms:google-services:4.3.15'
    }
}
  

앱 수준의 build.gradle 파일에 다음을 추가합니다:


plugins {
    id 'com.android.application'
    id 'com.google.gms.google-services'
}

dependencies {
    implementation platform('com.google.firebase:firebase-bom:32.1.1')
    implementation 'com.google.firebase:firebase-messaging'
}
  

이렇게 설정함으로써 안드로이드 프로젝트에서 Firebase 서비스를 사용할 준비가 완료됩니다. 특히 firebase-messaging 의존성을 추가함으로써 FCM 기능을 사용할 수 있게 됩니다.

2.5 AndroidManifest.xml 설정

FCM을 사용하기 위해 AndroidManifest.xml 파일에 몇 가지 설정을 추가해야 합니다.


<manifest ...>
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />

    <application ...>
        <service
            android:name=".MyFirebaseMessagingService"
            android:exported="false">
            <intent-filter>
                <action android:name="com.google.firebase.MESSAGING_EVENT" />
            </intent-filter>
        </service>
    </application>
</manifest>
  

여기서 MyFirebaseMessagingService는 FCM 메시지를 처리할 서비스 클래스입니다. 이 클래스는 다음 섹션에서 구현할 예정입니다.

⚠️ 주의: Android 13(API 레벨 33) 이상에서는 POST_NOTIFICATIONS 권한이 필요합니다. 이 권한은 런타임에 사용자에게 요청해야 합니다.

이제 FCM을 사용하기 위한 기본적인 설정이 완료되었습니다. 다음 섹션에서는 실제로 FCM 메시지를 수신하고 처리하는 방법에 대해 알아보겠습니다. 🚀

FCM 설정 과정이 조금 복잡하게 느껴질 수 있지만, 이 과정을 통해 강력한 푸시 알림 시스템을 구축할 수 있습니다. 예를 들어, 재능넷과 같은 플랫폼에서 이 기능을 활용하면 사용자들에게 새로운 프로젝트 제안, 메시지 도착, 거래 성사 등의 중요한 정보를 실시간으로 전달할 수 있습니다.

다음 섹션에서는 이렇게 설정한 FCM을 실제로 어떻게 사용하는지 자세히 알아보겠습니다. 계속해서 함께 가보실까요? 💪

3. FCM 메시지 수신 및 처리 📬

FCM 설정이 완료되었다면, 이제 실제로 메시지를 수신하고 처리하는 방법에 대해 알아보겠습니다. 이 과정은 크게 두 부분으로 나눌 수 있습니다: FCM 토큰 관리와 메시지 처리입니다.

3.1 FCM 토큰 관리

FCM 토큰은 각 디바이스를 고유하게 식별하는 문자열입니다. 이 토큰을 통해 특정 디바이스로 메시지를 전송할 수 있습니다.

토큰은 앱이 처음 실행될 때 자동으로 생성되며, 필요에 따라 갱신될 수 있습니다. 따라서 토큰을 얻고 관리하는 로직을 구현해야 합니다.

다음은 FCM 토큰을 얻는 기본적인 코드입니다:


import com.google.firebase.messaging.FirebaseMessaging;

FirebaseMessaging.getInstance().getToken()
    .addOnCompleteListener(new OnCompleteListener<String>() {
        @Override
        public void onComplete(@NonNull Task<String> task) {
            if (!task.isSuccessful()) {
                Log.w(TAG, "FCM 등록 토큰 생성 실패", task.getException());
                return;
            }

            // 새로운 FCM 등록 토큰을 얻음
            String token = task.getResult();

            // 토큰을 서버로 전송하거나 필요한 처리를 수행
            sendRegistrationToServer(token);
        }
    });
  

이 코드를 앱의 시작 지점(예: MainActivity의 onCreate 메서드)에 추가하면, 앱이 실행될 때마다 최신 FCM 토큰을 얻을 수 있습니다.

💡 Tip: 얻은 토큰은 서버에 전송하여 저장해두는 것이 좋습니다. 이렇게 하면 서버에서 특정 사용자의 디바이스로 푸시 알림을 보낼 수 있습니다. 예를 들어, 재능넷에서 특정 사용자에게 새로운 프로젝트 제안이 도착했음을 알리고 싶을 때 이 토큰을 사용할 수 있습니다.

3.2 FCM 메시지 처리

FCM 메시지를 처리하기 위해서는 FirebaseMessagingService를 확장하는 서비스 클래스를 구현해야 합니다. 이 서비스는 백그라운드에서 실행되며, FCM 메시지가 도착했을 때 자동으로 호출됩니다.

다음은 기본적인 FCM 메시지 처리 서비스의 구현 예시입니다:


import com.google.firebase.messaging.FirebaseMessagingService;
import com.google.firebase.messaging.RemoteMessage;

public class MyFirebaseMessagingService extends FirebaseMessagingService {
    @Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
        // FCM 메시지를 수신했을 때 호출됩니다.
        if (remoteMessage.getNotification() != null) {
            // 알림 메시지를 처리합니다.
            String title = remoteMessage.getNotification().getTitle();
            String body = remoteMessage.getNotification().getBody();
            showNotification(title, body);
        }

        if (remoteMessage.getData().size() > 0) {
            // 데이터 메시지를 처리합니다.
            Map<String, String> data = remoteMessage.getData();
            handleDataMessage(data);
        }
    }

    @Override
    public void onNewToken(String token) {
        // 토큰이 갱신되었을 때 호출됩니다.
        // 새 토큰을 서버에 전송하는 등의 처리를 수행합니다.
        sendRegistrationToServer(token);
    }

    private void showNotification(String title, String body) {
        // 알림을 표시하는 로직을 구현합니다.
    }

    private void handleDataMessage(Map<String, String> data) {
        // 데이터 메시지를 처리하는 로직을 구현합니다.
    }

    private void sendRegistrationToServer(String token) {
        // 토큰을 서버에 전송하는 로직을 구현합니다.
    }
}
  

이 서비스 클래스에서 onMessageReceived 메서드는 FCM 메시지가 도착했을 때 호출됩니다. 여기서 알림 메시지와 데이터 메시지를 구분하여 처리할 수 있습니다.

onNewToken 메서드는 FCM 토큰이 갱신되었을 때 호출됩니다. 이 메서드에서 새로운 토큰을 서버에 전송하는 등의 처리를 수행할 수 있습니다.

3.3 알림 표시하기

FCM 메시지를 수신했을 때 사용자에게 알림을 표시하는 것이 일반적입니다. 안드로이드에서는 NotificationCompat.Builder를 사용하여 알림을 생성하고 표시할 수 있습니다.

다음은 알림을 표시하는 기본적인 코드입니다:


import androidx.core.app.NotificationCompat;
import androidx.core.app.NotificationManagerCompat;

private void showNotification(String title, String body) {
    NotificationCompat.Builder builder = new NotificationCompat.Builder(this, CHANNEL_ID)
        .setSmallIcon(R.drawable.notification_icon)
        .setContentTitle(title)
        .setContentText(body)
        .setPriority(NotificationCompat.PRIORITY_DEFAULT)
        .setAutoCancel(true);

    NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this);
    notificationManager.notify(NOTIFICATION_ID, builder.build());
}
  

이 코드에서 CHANNEL_ID는 안드로이드 8.0(API 레벨 26) 이상에서 필요한 알림 채널의 ID입니다. 알림 채널은 다음과 같이 생성할 수 있습니다:


private void createNotificationChannel() {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        CharSequence name = getString(R.string.channel_name);
        String description = getString(R.string.channel_description);
        int importance = NotificationManager.IMPORTANCE_DEFAULT;
        NotificationChannel channel = new NotificationChannel(CHANNEL_ID, name, importance);
        channel.setDescription(description);
        NotificationManager notificationManager = getSystemService(NotificationManager.class);
        notificationManager.createNotificationChannel(channel);
    }
}
  

이 메서드는 앱의 시작 지점에서 호출해야 합니다. 예를 들어, MainActivity의 onCreate 메서드에서 호출할 수 있습니다.

3.4 데이터 메시지 처리하기

데이터 메시지는 앱에서 직접 처리해야 하는 메시지입니다. 이를 통해 더 복잡한 로직을 구현할 수 있습니다.

예를 들어, 재능넷 앱에서 새로운 프로젝트 제안이 도착했을 때 데이터 메시지를 사용하여 앱 내에서 즉시 해당 프로젝트 정보를 표시할 수 있습니다:


private void handleDataMessage(Map<String, String> data) {
    String projectId = data.get("project_id");
    String projectTitle = data.get("project_title");
    String projectDescription = data.get("project_description");

    // 프로젝트 정보를 사용하여 앱 내에서 적절한 처리를 수행
    // 예: 새 프로젝트 화면을 열거나, 로컬 데이터베이스에 저장 등
    openProjectDetailsActivity(projectId,  projectTitle, projectDescription);
}

private void openProjectDetailsActivity(String projectId, String projectTitle, String projectDescription) {
    Intent intent = new Intent(this, ProjectDetailsActivity.class);
    intent.putExtra("PROJECT_ID", projectId);
    intent.putExtra("PROJECT_TITLE", projectTitle);
    intent.putExtra("PROJECT_DESCRIPTION", projectDescription);
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);
}
  

이렇게 구현하면 새로운 프로젝트 제안이 도착했을 때 사용자에게 즉시 알리고, 관련 정보를 앱 내에서 바로 확인할 수 있게 됩니다.

3.5 백그라운드와 포그라운드 처리

FCM 메시지 처리는 앱의 상태(백그라운드 또는 포그라운드)에 따라 다르게 동작할 수 있습니다.

  • 포그라운드: 앱이 실행 중일 때는 onMessageReceived 메서드가 항상 호출됩니다. 이때 개발자가 직접 알림을 생성하고 표시해야 합니다.
  • 백그라운드: 앱이 백그라운드 상태일 때 알림 메시지가 도착하면, 안드로이드 시스템이 자동으로 알림을 생성하고 표시합니다. 데이터 메시지의 경우에는 앱이 다시 포그라운드로 전환될 때까지 처리가 지연됩니다.

이러한 차이를 고려하여 메시지 처리 로직을 구현해야 합니다. 예를 들어, 중요한 데이터 업데이트는 앱이 백그라운드 상태일 때도 처리될 수 있도록 알림 메시지와 데이터 메시지를 함께 사용할 수 있습니다.

3.6 토픽 구독

FCM은 토픽 기반 메시징을 지원합니다. 이를 통해 특정 주제에 관심 있는 사용자들에게 일괄적으로 메시지를 보낼 수 있습니다.

예를 들어, 재능넷 앱에서 사용자가 관심 있는 카테고리의 새 프로젝트 알림을 받고 싶어 할 수 있습니다. 이때 토픽 구독을 활용할 수 있습니다:


FirebaseMessaging.getInstance().subscribeToTopic("design_projects")
    .addOnCompleteListener(new OnCompleteListener<Void>() {
        @Override
        public void onComplete(@NonNull Task<Void> task) {
            String msg = task.isSuccessful() ? "Subscription successful" : "Subscription failed";
            Log.d(TAG, msg);
        }
    });
  

이렇게 구독한 토픽으로 서버에서 메시지를 보내면, 해당 토픽을 구독한 모든 디바이스가 메시지를 받게 됩니다.

💡 Tip: 토픽 구독은 사용자의 관심사나 선호도에 따라 동적으로 관리할 수 있습니다. 예를 들어, 사용자가 앱 설정에서 관심 카테고리를 변경할 때마다 토픽 구독을 업데이트할 수 있습니다.

3.7 보안 고려사항

FCM을 구현할 때는 보안에 대해서도 신중히 고려해야 합니다:

  • 서버 키는 절대로 클라이언트 앱에 포함시키지 마세요. 서버 측에서만 사용해야 합니다.
  • 중요한 정보는 암호화하여 전송하세요.
  • 메시지 발신자를 검증하는 로직을 구현하세요.
  • 사용자 인증 정보와 FCM 토큰을 연결하여 관리하세요.

이러한 보안 조치들은 악의적인 사용자가 허위 메시지를 보내거나 다른 사용자의 정보에 접근하는 것을 방지하는 데 도움이 됩니다.

마무리

지금까지 FCM을 사용하여 안드로이드 앱에서 푸시 알림을 구현하는 방법에 대해 자세히 알아보았습니다. FCM은 강력하고 유연한 도구이며, 적절히 활용하면 사용자 경험을 크게 향상시킬 수 있습니다.

재능넷과 같은 플랫폼에서 FCM을 활용하면 다음과 같은 이점을 얻을 수 있습니다:

  • 새로운 프로젝트 제안이 등록되었을 때 관심 있는 사용자에게 즉시 알림
  • 메시지나 거래 요청이 도착했을 때 실시간 알림
  • 중요한 공지사항이나 이벤트 정보를 효과적으로 전달
  • 사용자의 관심사에 맞는 맞춤형 정보 제공

FCM을 통한 푸시 알림 구현은 초기에는 약간의 설정과 코드 작성이 필요하지만, 한 번 구현해 놓으면 사용자 참여도를 높이고 앱의 가치를 크게 향상시킬 수 있는 강력한 도구가 됩니다.

앞으로 여러분의 앱에 FCM을 성공적으로 구현하여, 사용자들에게 더 나은 경험을 제공하시기 바랍니다. 화이팅! 🚀

관련 키워드

  • Firebase Cloud Messaging
  • FCM
  • 푸시 알림
  • 안드로이드
  • 실시간 메시징
  • 토큰 관리
  • 알림 처리
  • 데이터 메시지
  • 토픽 구독
  • 사용자 참여

지적 재산권 보호

지적 재산권 보호 고지

  1. 저작권 및 소유권: 본 컨텐츠는 재능넷의 독점 AI 기술로 생성되었으며, 대한민국 저작권법 및 국제 저작권 협약에 의해 보호됩니다.
  2. AI 생성 컨텐츠의 법적 지위: 본 AI 생성 컨텐츠는 재능넷의 지적 창작물로 인정되며, 관련 법규에 따라 저작권 보호를 받습니다.
  3. 사용 제한: 재능넷의 명시적 서면 동의 없이 본 컨텐츠를 복제, 수정, 배포, 또는 상업적으로 활용하는 행위는 엄격히 금지됩니다.
  4. 데이터 수집 금지: 본 컨텐츠에 대한 무단 스크래핑, 크롤링, 및 자동화된 데이터 수집은 법적 제재의 대상이 됩니다.
  5. AI 학습 제한: 재능넷의 AI 생성 컨텐츠를 타 AI 모델 학습에 무단 사용하는 행위는 금지되며, 이는 지적 재산권 침해로 간주됩니다.

재능넷은 최신 AI 기술과 법률에 기반하여 자사의 지적 재산권을 적극적으로 보호하며,
무단 사용 및 침해 행위에 대해 법적 대응을 할 권리를 보유합니다.

© 2024 재능넷 | All rights reserved.

댓글 작성
0/2000

댓글 0개

해당 지식과 관련있는 인기재능

안녕하세요. 경력 8년차 프리랜서 개발자 입니다.피쳐폰 2g 때부터 지금까지 모바일 앱 개발을 전문적으로 진행해 왔으며,신속하 정확 하게 의뢰하...

웹 & 안드로이드 5년차입니다. 프로젝트 소스 + 프로젝트 소스 주석 +  퍼포먼스 설명 및 로직 설명 +  보이스톡 강의 + 실시간 피...

📚 생성된 총 지식 10,371 개

  • (주)재능넷 | 대표 : 강정수 | 경기도 수원시 영통구 봉영로 1612, 7층 710-09 호 (영통동) | 사업자등록번호 : 131-86-65451
    통신판매업신고 : 2018-수원영통-0307 | 직업정보제공사업 신고번호 : 중부청 2013-4호 | jaenung@jaenung.net

    (주)재능넷의 사전 서면 동의 없이 재능넷사이트의 일체의 정보, 콘텐츠 및 UI등을 상업적 목적으로 전재, 전송, 스크래핑 등 무단 사용할 수 없습니다.
    (주)재능넷은 통신판매중개자로서 재능넷의 거래당사자가 아니며, 판매자가 등록한 상품정보 및 거래에 대해 재능넷은 일체 책임을 지지 않습니다.

    Copyright © 2024 재능넷 Inc. All rights reserved.
ICT Innovation 대상
미래창조과학부장관 표창
서울특별시
공유기업 지정
한국데이터베이스진흥원
콘텐츠 제공서비스 품질인증
대한민국 중소 중견기업
혁신대상 중소기업청장상
인터넷에코어워드
일자리창출 분야 대상
웹어워드코리아
인터넷 서비스분야 우수상
정보통신산업진흥원장
정부유공 표창장
미래창조과학부
ICT지원사업 선정
기술혁신
벤처기업 확인
기술개발
기업부설 연구소 인정
마이크로소프트
BizsPark 스타트업
대한민국 미래경영대상
재능마켓 부문 수상
대한민국 중소기업인 대회
중소기업중앙회장 표창
국회 중소벤처기업위원회
위원장 표창