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

🌲 지식인의 숲 🌲

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

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

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

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

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

안드로이드 Geofencing API를 이용한 위치 알림

2024-12-19 07:09:55

재능넷
조회수 177 댓글수 0

안드로이드 Geofencing API로 위치 알림 만들기 🌍📍

 

 

안녕, 친구들! 오늘은 정말 재밌고 유용한 주제로 이야기를 나눠볼 거야. 바로 안드로이드의 Geofencing API를 이용해서 위치 알림을 만드는 방법에 대해서 말이야. 🚀 이 기술을 이용하면 특정 장소에 들어가거나 나올 때 자동으로 알림을 받을 수 있어. 엄청 쿨하지 않아? 😎

이런 기술은 요즘 많은 앱에서 사용되고 있어. 예를 들어, 집에 도착하면 자동으로 에어컨을 켜주는 스마트홈 앱이라든지, 좋아하는 카페 근처에 가면 할인 쿠폰을 보내주는 앱 같은 거 말이야. 심지어 재능넷같은 재능 공유 플랫폼에서도 이 기술을 활용할 수 있어. 예를 들어, 특정 장소에서 열리는 재능 공유 이벤트 근처에 오면 알림을 보내는 식으로 말이야. 정말 활용도가 높은 기술이지? 🌟

자, 그럼 이제부터 Geofencing API에 대해 자세히 알아보고, 어떻게 사용하는지 step by step으로 설명해줄게. 준비됐니? 그럼 출발~! 🏁

Geofencing API란 뭘까? 🤔

Geofencing API는 구글이 제공하는 위치 기반 서비스야. Geo(지리)와 Fencing(울타리)의 합성어로, 말 그대로 가상의 지리적 경계를 만드는 기술이야. 이 가상의 울타리를 geofence라고 부르지.

이 API를 사용하면 다음과 같은 일들을 할 수 있어:

  • 특정 지역에 진입했을 때 알림 받기 🚪
  • 특정 지역에서 나갔을 때 알림 받기 🚶‍♂️
  • 특정 지역에 일정 시간 동안 머물렀을 때 알림 받기 ⏰

정말 편리하지? 이런 기능들을 활용하면 사용자 경험을 크게 향상시킬 수 있어. 예를 들어, 재능넷 앱에서 사용자가 자주 가는 장소 근처에 관심 있을 만한 재능 공유 이벤트가 있다면, 그 장소에 접근했을 때 알림을 보내줄 수 있겠지. 이렇게 하면 사용자들이 더 많은 기회를 놓치지 않고 참여할 수 있을 거야. 👍

🔑 Key Point: Geofencing API는 가상의 지리적 경계를 설정하고, 사용자가 그 경계를 넘나들 때 이벤트를 발생시키는 기술이야. 이를 통해 위치 기반의 다양한 서비스를 제공할 수 있지!

자, 이제 Geofencing API의 기본 개념을 알았으니, 어떻게 동작하는지 더 자세히 살펴볼까? 🕵️‍♀️

Geofencing API의 동작 원리 🔍

Geofencing API는 크게 세 가지 주요 컴포넌트로 구성되어 있어:

  1. GeofencingClient: Geofence를 등록하고 모니터링하는 주요 클래스야.
  2. Geofence: 실제 가상의 경계를 정의하는 객체야.
  3. GeofencingRequest: Geofence를 등록할 때 사용하는 요청 객체야.

이 세 가지 컴포넌트가 어떻게 협력하는지 간단히 설명해줄게. 🤝

1. Geofence 생성: 먼저, 원하는 위치와 반경을 지정해서 Geofence 객체를 만들어. 이때 위도, 경도, 반경뿐만 아니라 만료 시간이나 전환 유형(들어갈 때, 나올 때, 머물 때) 등도 설정할 수 있어.

2. GeofencingRequest 생성: 만든 Geofence 객체를 GeofencingRequest에 담아. 이 요청 객체는 여러 개의 Geofence를 한 번에 등록할 수 있게 해줘.

3. Geofence 등록: GeofencingClient를 사용해서 GeofencingRequest를 시스템에 등록해. 이렇게 하면 안드로이드 시스템이 해당 Geofence들을 모니터링하기 시작해.

4. 이벤트 처리: 사용자가 Geofence 경계를 넘나들면, 시스템이 앱에 알려줘. 이때 IntentService나 BroadcastReceiver를 사용해서 이 이벤트를 처리하고 원하는 동작을 수행할 수 있어.

이해가 잘 됐니? 😊 조금 복잡해 보일 수 있지만, 실제로 코드로 구현하면 생각보다 간단해. 이제 각 단계를 좀 더 자세히 살펴볼게!

Geofencing API 동작 원리 Geofence GeofencingClient GeofencingRequest Event Handler

위 그림을 보면 Geofencing API의 동작 원리를 한눈에 이해할 수 있지? GeofencingClient가 GeofencingRequest를 통해 Geofence를 등록하고, 이벤트가 발생하면 Event Handler가 처리하는 구조야. 😉

이제 각 컴포넌트에 대해 더 자세히 알아볼까? 준비됐니? 그럼 고고! 🚀

Geofence 객체 생성하기 🏗️

자, 이제 본격적으로 코드를 살펴볼 시간이야! 먼저 Geofence 객체를 어떻게 만드는지 알아볼게. 😊

Geofence 객체는 Builder 패턴을 사용해서 생성해. 이 패턴을 사용하면 객체를 단계적으로 구성할 수 있어서 아주 편리해. 어떻게 만드는지 한번 볼까?


Geofence geofence = new Geofence.Builder()
    .setRequestId("my_geofence")  // Geofence의 고유 ID
    .setCircularRegion(
        37.5665, 126.9780, 100  // 위도, 경도, 반경(미터)
    )
    .setExpirationDuration(Geofence.NEVER_EXPIRE)  // 만료 시간
    .setTransitionTypes(Geofence.GEOFENCE_TRANSITION_ENTER | Geofence.GEOFENCE_TRANSITION_EXIT)  // 전환 유형
    .build();
  

우와, 생각보다 간단하지? 😲 이제 각 메서드가 무엇을 의미하는지 자세히 설명해줄게.

  • setRequestId(): 이 Geofence의 고유 식별자를 설정해. 나중에 이 ID로 특정 Geofence를 구분할 수 있어.
  • setCircularRegion(): Geofence의 중심점(위도, 경도)과 반경을 설정해. 여기서는 서울 시청 근처로 설정했어.
  • setExpirationDuration(): Geofence의 유효 기간을 설정해. NEVER_EXPIRE를 사용하면 영구적으로 유효해져.
  • setTransitionTypes(): 어떤 상황에서 알림을 받을지 설정해. 여기서는 진입(ENTER)과 퇴출(EXIT) 시 알림을 받도록 했어.

💡 Pro Tip: Geofence의 반경을 설정할 때는 GPS의 정확도를 고려해야 해. 너무 작은 반경을 설정하면 오작동할 수 있으니, 최소 100미터 정도로 설정하는 게 좋아.

자, 이렇게 해서 우리의 첫 번째 Geofence 객체가 완성됐어! 🎉 이제 이 Geofence를 어떻게 등록하고 모니터링하는지 알아볼까?

Geofence 객체 구조 중심점 (위도, 경도) 반경 Geofence ID: my_geofence Enter Exit

위 그림을 보면 Geofence의 구조를 한눈에 이해할 수 있지? 중심점을 기준으로 원형의 영역이 만들어지고, 이 영역을 들어가거나 나갈 때 이벤트가 발생하는 거야. 😊

이제 Geofence 객체를 만드는 방법을 알았으니, 다음 단계로 넘어가볼까? GeofencingRequest를 만들어서 실제로 시스템에 등록하는 과정을 알아볼 거야. 준비됐니? Let's go! 🚀

GeofencingRequest 만들기 📦

안녕, 친구들! 이제 우리가 만든 Geofence 객체를 실제로 시스템에 등록하는 방법을 알아볼 거야. 이를 위해 GeofencingRequest라는 녀석을 사용할 거야. 😎

GeofencingRequest는 말 그대로 Geofence를 등록하기 위한 요청 객체야. 이 객체를 통해 여러 개의 Geofence를 한 번에 등록할 수 있고, 초기 트리거 설정도 할 수 있어. 정말 편리하지?

자, 그럼 코드로 한번 만들어볼까?


GeofencingRequest geofencingRequest = new GeofencingRequest.Builder()
    .addGeofence(geofence)  // 앞서 만든 Geofence 객체 추가
    .setInitialTrigger(GeofencingRequest.INITIAL_TRIGGER_ENTER)  // 초기 트리거 설정
    .build();
  

우와, 생각보다 간단하지? 😲 이제 각 메서드가 무엇을 의미하는지 자세히 설명해줄게.

  • addGeofence(): 모니터링하고 싶은 Geofence 객체를 추가해. 여러 개의 Geofence를 추가하고 싶다면 이 메서드를 여러 번 호출하면 돼.
  • setInitialTrigger(): 초기 트리거를 설정해. INITIAL_TRIGGER_ENTER를 사용하면, 기기가 이미 Geofence 안에 있을 때도 ENTER 이벤트를 발생시켜.

🔍 Deep Dive: setInitialTrigger()는 꽤 중요한 메서드야. 만약 INITIAL_TRIGGER_ENTER를 설정하지 않으면, 기기가 이미 Geofence 안에 있을 때는 아무런 이벤트가 발생하지 않아. 이 경우, 사용자가 Geofence를 나갔다가 다시 들어와야만 ENTER 이벤트가 발생하지. 그래서 대부분의 경우 INITIAL_TRIGGER_ENTER를 설정하는 게 좋아.

자, 이렇게 해서 GeofencingRequest 객체도 만들었어! 🎉 이제 이 요청 객체를 사용해서 실제로 Geofence를 등록하는 방법을 알아볼까?

GeofencingRequest 구조 GeofencingRequest Geofence 1 Geofence 2 Geofence 3 Initial Trigger: ENTER

위 그림을 보면 GeofencingRequest의 구조를 한눈에 이해할 수 있지? 여러 개의 Geofence를 하나의 요청에 담을 수 있고, 초기 트리거도 설정할 수 있어. 이렇게 하면 효율적으로 여러 Geofence를 관리할 수 있지! 😊

자, 이제 GeofencingRequest도 준비됐으니, 다음 단계로 넘어갈 준비가 됐어! 다음은 실제로 이 요청을 시스템에 등록하는 방법을 알아볼 거야. 기대되지 않아? 🚀

그리고 잠깐! 🤔 재능넷에서 이런 기술을 어떻게 활용할 수 있을지 생각해봤어? 예를 들어, 특정 장소에서 열리는 재능 공유 워크샵이 있다면, 그 장소 근처에 Geofence를 설정해서 참가자들에게 알림을 보낼 수 있겠지? 이런 식으로 활용하면 사용자 경험을 크게 향상시킬 수 있을 거야!

자, 그럼 이제 Geofence를 실제로 등록하는 방법을 알아볼까? 준비됐니? Let's go! 🏃‍♂️💨

Geofence 등록하기 🚀

안녕, 친구들! 드디어 우리가 만든 Geofence를 실제로 등록하는 단계에 왔어. 정말 신나지 않니? 😆

Geofence를 등록하려면 GeofencingClient를 사용해야 해. 이 클라이언트는 Google Play 서비스의 Location API의 일부야. 먼저 GeofencingClient 인스턴스를 생성하고, 그 다음에 addGeofences() 메서드를 호출해서 Geofence를 등록할 거야.

자, 그럼 코드로 한번 살펴볼까?


private GeofencingClient geofencingClient;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    // GeofencingClient 인스턴스 생성
    geofencingClient = LocationServices.getGeofencingClient(this);

    // Geofence 등록
    if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)
            == PackageManager.PERMISSION_GRANTED) {
        geofencingClient.addGeofences(geofencingRequest, getGeofencePendingIntent())
                .addOnSuccessListener(this, new OnSuccessListener<Void>() {
                    @Override
                    public void onSuccess(Void aVoid) {
                        Log.d("Geofence", "Geofence 등록 성공!");
                    }
                })
                .addOnFailureListener(this, new OnFailureListener() {
                    @Override
                    public void onFailure(@NonNull Exception e) {
                        Log.e("Geofence", "Geofence 등록 실패: " + e.getMessage());
                    }
                });
    } else {
        // 위치 권한 요청
        ActivityCompat.requestPermissions(this,
                new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
                PERMISSIONS_REQUEST_FINE_LOCATION);
    }
}

private PendingIntent getGeofencePendingIntent() {
    Intent intent = new Intent(this, GeofenceBroadcastReceiver.class);
    return PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
}
  

우와, 코드가 좀 길어 보이지? 😅 하지만 걱정하지 마! 하나씩 차근차근 설명해줄게.

  1. GeofencingClient 생성: onCreate() 메서드에서 GeofencingClient 인스턴스를 생성해. 이 클라이언트를 통해 Geofence를 등록하고 관리할 수 있어.
  2. 권한 확인: Geofence를 사용하려면 위치 권한이 필요해. 그래서 먼저 권한이 있는지 확인하고, 없다면 사용자에게 요청해.
  3. Geofence 등록: addGeofences() 메서드를 호출해서 Geofence를 등록해. 이 메서드는 우리가 만든 GeofencingRequest와 PendingIntent를 인자로 받아.
  4. 결과 처리: 등록 결과에 따라 성공 또는 실패 콜백을 처리해. 로그를 남겨서 디버깅에 도움을 줄 수 있어.
  5. PendingIntent 생성: getGeofencePendingIntent() 메서드에서는 Geofence 이벤트를 처리할 BroadcastReceiver를 지정하는 PendingIntent를 생성해.

⚠️ 주의사항: Geofence를 등록할 때는 반드시 위치 권한을 확인해야 해. 안드로이드 6.0(마시멜로) 이상에서는 런타임 권한 체크가 필요하니까 잊지 마!

자, 이제 Geofence를 등록하는 방법을 알게 됐어! 🎉 하지만 아직 끝이 아니야. Geofence 이벤트를 실제로 처리하려면 BroadcastReceiver를 구현해야 해. 그래야 Geofence 진입/퇴출 시 원하는 동작을 수행할 수 있지.

Geofence 등록 과정 GeofencingClient GeofencingRequest PendingIntent BroadcastReceiver 등록 전달 호출

위 그림을 보면 Geofence 등록 과정을 한눈에 이해할 수 있지? GeofencingClient가 GeofencingRequest와 PendingIntent를 사용해 Geofence를 등록하고, 이벤트 발생 시 BroadcastReceiver를 호출하는 구조야. 😊

자, 이제 Geofence를 등록하는 방법까지 배웠어! 🎓 다음 단계에서는 Geofence 이벤트를 처리하는 BroadcastReceiver를 구현하는 방법을 알아볼 거야. 이걸 구현하면 드디어 우리의 위치 기반 알림 시스템이 완성될 거야!

그리고 잠깐! 🤔 재능넷에서 이 기술을 어떻게 활용할 수 있을지 생각해봤어? 예를 들어, 사용자가 자주 방문하는 장소(예: 카페, 공원 등)에 Geofence를 설정해두고, 그 근처에서 열리는 재능 공유 이벤트나 워크샵이 있을 때 알림을 보낼 수 있겠지. 이렇게 하면 사용자들이 자신의 일상 생활 반경에서 쉽게 재능 공유 활동에 참여할 수 있을 거야!

자, 그럼 이제 BroadcastReceiver를 구현하는 방법을 알아볼까? 준비됐니? Let's dive in! 🏊‍♂️

Geofence 이벤트 처리하기 🎭

안녕, 친구들! 이제 우리의 마지막 단계야. Geofence 이벤트를 처리하는 BroadcastReceiver를 구현할 거야. 이걸 구현하면 드디어 우리의 위치 기반 알림 시스템이 완성돼! 😆

BroadcastReceiver는 안드로이드 시스템에서 발생하는 이벤트를 받아 처리하는 컴포넌트야. Geofence 이벤트도 이 BroadcastReceiver를 통해 처리할 수 있지.

자, 그럼 코드로 한번 살펴볼까?


public class GeofenceBroadcastReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        GeofencingEvent geofencingEvent = GeofencingEvent.fromIntent(intent);
        if (geofencingEvent.hasError()) {
            Log.e("Geofence", "Geofencing 이벤트 에러: " + geofencingEvent.getErrorCode());
            return;
        }

        // 발생한 지오펜스 전환 유형 가져오기
        int geofenceTransition = geofencingEvent.getGeofenceTransition();

        // 전환 유형에 따라 처리
        switch (geofenceTransition) {
            case Geofence.GEOFENCE_TRANSITION_ENTER:
                sendNotification(context, "Geofence 진입!");
                break;
            case Geofence.GEOFENCE_TRANSITION_EXIT:
                sendNotification(context, "Geofence 퇴출!");
                break;
            default:
                Log.e("Geofence", "알 수 없는 전환 유형: " + geofenceTransition);
                break;
        }
    }

    private void sendNotification(Context context, String message) {
        NotificationCompat.Builder builder = new NotificationCompat.Builder(context, "geofence_channel")
                .setSmallIcon(R.drawable.ic_notification)
                .setContentTitle("Geofence 알림")
                .setContentText(message)
                .setPriority(NotificationCompat.PRIORITY_DEFAULT)
                .setAutoCancel(true);

        NotificationManagerCompat notificationManager = NotificationManagerCompat.from(context);
        notificationManager.notify(0, builder.build());
    }
}
  

우와, 코드가 좀 길어 보이지? 😅 하지만 걱정하지 마! 하나씩 차근차근 설명해줄게.

  1. 이벤트 받기: onReceive() 메서드에서 GeofencingEvent를 생성해. 이 객체를 통해 Geofence 이벤트 정보를 얻을 수 있어.
  2. 에러 체크: 먼저 이벤트에 에러가 있는지 확인해. 에러가 있다면 로그를 남기고 처리를 중단해.
  3. 전환 유형 확인: getGeofenceTransition() 메서드로 어떤 전환이 일어났는지 확인해. ENTER(진입)인지 EXIT(퇴출)인지 알 수 있지.
  4. 알림 보내기: 전환 유형에 따라 적절한 메시지로 알림을 보내. 여기서는 간단히 "진입" 또는 "퇴출" 메시지를 보내고 있어.

💡 Pro Tip: 실제 앱에서는 알림 외에도 다양한 작업을 수행할 수 있어. 예를 들어, 서버에 로그를 남기거나, 앱 내 상태를 업데이트하거나, 다른 서비스를 시작할 수도 있지. 여러분의 앱에 맞는 동작을 구현해보세요!

자, 이제 Geofence 이벤트를 처리하는 방법까지 배웠어! 🎉 이걸로 우리의 위치 기반 알림 시스템이 완성됐어!

Geofence 이벤트 처리 과정 Geofence 사용자 이동 BroadcastReceiver 이벤트 발생 알림

위 그림을 보면 Geofence 이벤트 처리 과정을 한눈에 이해할 수 있지? 사용자가 Geofence를 통과하면 이벤트가 발생하고, BroadcastReceiver가 이를 처리해서 알림을 보내는 구조야. 😊

자, 이제 우리는 안드로이드에서 Geofencing API를 사용해서 위치 기반 알림 시스템을 만드는 방법을 모두 배웠어! 🎓 이 기술을 활용하면 정말 다양한 앱을 만들 수 있을 거야.

그리고 재능넷에서 이 기술을 활용하는 방법에 대해 좀 더 생각해볼까? 😃

  • 사용자가 자주 가는 장소 근처에서 열리는 재능 공유 이벤트 알림
  • 특정 지역 기반의 재능 공유 커뮤니티 형성
  • 오프라인 재능 공유 워크샵 장소에 도착하면 자동으로 체크인
  • 특정 지역의 인기 있는 재능 공유 카테고리 추천

이런 식으로 활용하면 사용자들에게 더욱 개인화되고 유용한 경험을 제공할 수 있을 거야!

자, 이제 여러분이 배운 지식을 가지고 멋진 앱을 만들 차례야. 어떤 아이디어가 떠오르니? 재미있고 유용한 앱을 만들어보길 바라! 화이팅! 💪😄

관련 키워드

  • 안드로이드
  • Geofencing API
  • 위치 기반 서비스
  • 알림 시스템
  • GeofencingClient
  • GeofencingRequest
  • BroadcastReceiver
  • 위치 권한
  • 재능넷
  • 개인화 서비스

지적 재산권 보호

지적 재산권 보호 고지

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

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

© 2024 재능넷 | All rights reserved.

댓글 작성
0/2000

댓글 0개

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

애플리케이션 서비스 안녕하세요. 안드로이드 개발자입니다.여러분들의 홈페이지,블로그,카페,모바일 등 손쉽게 어플로 제작 해드립니다.요즘...

안녕하세요 안드로이드 개발 7년차에 접어든 프로그래머입니다. 간단한 과제 정도는 1~2일 안에 끝낼 수 있구요 개발의 난이도나 프로젝...

------------------------------------만들고 싶어하는 앱을 제작해드립니다.------------------------------------1. 안드로이드 ( 자바 )* 블루...

📚 생성된 총 지식 10,325 개

  • (주)재능넷 | 대표 : 강정수 | 경기도 수원시 영통구 봉영로 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 스타트업
대한민국 미래경영대상
재능마켓 부문 수상
대한민국 중소기업인 대회
중소기업중앙회장 표창
국회 중소벤처기업위원회
위원장 표창