올해 5월에 열린 Google I/O에서 새로운 버전의 Firebase가 공개되었습니다. 개발자가 모바일 앱을 만드는데 도움이 되는 다양한 도구를 포함하고 있습니다. 새로운 Firebase 플랫폼에 포함된 Firebase Analytics는 사람들이 여러분이 개발한 모바일 앱을 사용하는 방식에 대한 데이터를 자동으로 수집할 수 있는 도구 입니다. 앱 실행등 일반적인 이벤트 외에 자체적인 사용자 지정 앱 이벤트도 지원합니다.데이터가 수집되면 Firebase 콘솔의 대시보드를 통해 이런 데이터를 확인하고 사용할 수 있습니다. 새로운 Firebase 플랫폼에 통합된 클라우드 기능 중 제가 좋아하는 한 가지는 바로 사용자 지정 분석을 위해 Firebase Analytics에서 캡처한 원시 데이터 ...
올해 5월에 열린 Google I/O에서 새로운 버전의 Firebase가 공개되었습니다. 개발자가 모바일 앱을 만드는데 도움이 되는 다양한 도구를 포함하고 있습니다. 새로운 Firebase 플랫폼에 포함된 Firebase Analytics는 사람들이 여러분이 개발한 모바일 앱을 사용하는 방식에 대한 데이터를 자동으로 수집할 수 있는 도구 입니다. 앱 실행등 일반적인 이벤트 외에 자체적인 사용자 지정 앱 이벤트도 지원합니다.데이터가 수집되면 Firebase 콘솔의 대시보드를 통해 이런 데이터를 확인하고 사용할 수 있습니다. 새로운 Firebase 플랫폼에 통합된 클라우드 기능 중 제가 좋아하는 한 가지는 바로 사용자 지정 분석을 위해 Firebase Analytics에서 캡처한 원시 데이터를 Google BigQuery로 내보낼 수 있는 기능입니다. 특히나,  Firebase Analytics 이벤트에서 전달된 사용자 지정 매개 변수 값을 확인할 때 특히 유용합니다. 이 강력한 기능 조합을 통해 어떤 작업을 수행할 수 있을지 살펴봅시다.

BigQuery 내보내기는 어떤 식으로 작동할까요?

Firebase 프로젝트를 BigQuery에 연결한 후에는 Firebase가 매일 자동으로 새 테이블을 연결된 BigQuery 데이터세트로 내보냅니다. iOS 및 Android 버전의 앱이 모두 있는 경우 Firebase는 각 플랫폼의 데이터를 개별 데이터세트로 내보냅니다. 각 테이블에는 Firebase Analytics에서 자동으로 캡처한 사용자 액티비티 및 인구 통계학적 데이터가 앱에서 캡처한 사용자 지정 이벤트와 함께 포함됩니다. 따라서 교차 플랫폼 앱에 대해 1주일 분량의 데이터를 내보낸 후에는 BigQuery 프로젝트에 각각 7개의 테이블로 구성된 2개의 데이터세트가 포함됩니다.


데이터 세부 분석

모든 Firebase Analytics 내보내기 테이블에 대한 스키마는 동일하며, 개발자가 아래의 예제 쿼리를 실행할 수 있도록 샘플 사용자 데이터가 포함된 두 개의 데이터세트(iOS용 하나Android용 하나)를 만들었습니다. 이 데이터세트는 샘플 교차 플랫폼 iOS 및 Android 게임 앱에 대한 것입니다. 각 데이터세트에는 7개의 테이블,  1주일 분량의 분석 데이터가 있습니다.

다음 쿼리는 iOS 버전 앱의 일일 사용량에 대한 몇 가지 기본적인 사용자의 인구 통계학적 정보와 기기 데이터를 반환합니다.

SELECT
  user_dim.app_info.app_instance_id,
  user_dim.device_info.device_category,
  user_dim.device_info.user_default_language,
  user_dim.device_info.platform_version,
  user_dim.device_info.device_model,
  user_dim.geo_info.country,
  user_dim.geo_info.city,
  user_dim.app_info.app_version, 
  user_dim.app_info.app_store,
  user_dim.app_info.app_platform
FROM
  [firebase-analytics-sample-data:ios_dataset.app_events_20160601]

Firebase Analytics에서 내보낸 모든 BigQuery 테이블의 스키마가 동일하기 때문에 데이터세트 이름과 테이블 이름을 개발 중인 프로젝트의 데이터세트 이름과 테이블 이름으로 바꿔 자체적인 Firebase Analytics 데이터에 대해 이 글에 나와 있는 모든 쿼리를 실행할 수 있습니다.

이 스키마에는 사용자 데이터와 이벤트 데이터가 있습니다. 모든 사용자 데이터는 Firebase Analytics에서 자동으로 캡처되고, 이벤트 데이터는 개발자가 앱에 추가하는 사용자 지정 이벤트로 채워집니다. 사용자 데이터와 이벤트 데이터 모두에 대한 구체적인 레코드를 살펴봅시다.

사용자 데이터

사용자 레코드에는 각 사용자에 대해 고유한 앱 인스턴스 ID(스키마의 user_dim.app_info.app_instance_id)와 함께 해당 위치, 기기 및 앱 버전에 대한 데이터가 포함됩니다. Firebase 콘솔에는 앱의 Android 및 iOS 분석에 사용할 수 있는 별도의 대시보드가 있습니다. BigQuery를 사용하면 쿼리를 실행하여 사용자가 두 플랫폼 간에 전 세계에서 앱에 액세스하는 위치를 확인할 수 있습니다. 아래에 나와 있는 쿼리에서는 BigQuery의 통합 기능을 이용합니다. 이 기능을 통해 쉼표를 UNION ALL 연산자로 사용할 수 있습니다. 테이블에는 사용자가 트리거하는 각 이벤트 번들에 대해 하나의 행이 생성되므로 EXACT_COUNT_DISTINCT를 사용하여 각 사용자가 한 번만 카운트되도록 해야 합니다.
SELECT
  user_dim.geo_info.country as country,
  EXACT_COUNT_DISTINCT( user_dim.app_info.app_instance_id ) as users
FROM
  [firebase-analytics-sample-data:android_dataset.app_events_20160601],
  [firebase-analytics-sample-data:ios_dataset.app_events_20160601]
GROUP BY
  country
ORDER BY
  users DESC

사용자 데이터는 user_properties 레코드도 포함합니다. 이 레코드에는 사용자 기반의 여러 다양한 세그먼트를 설명하기 위해 정의하는 특성(예: 언어 기본 설정 또는 지리적 위치)이 포함됩니다. Firebase Analytics는 기본적으로 몇 가지 사용자 속성을 캡처하고, 개발자는 최대 25개의 고유한 속성을 생성할 수 있습니다.

사용자의 언어 기본 설정은 기본 사용자 속성 중 하나입니다. 사용자가 플랫폼 간에 사용하는 언어를 보려면 다음 쿼리를 실행하면 됩니다.

SELECT
  user_dim.user_properties.value.value.string_value as language_code, 
  EXACT_COUNT_DISTINCT(user_dim.app_info.app_instance_id) as users,
FROM
  [firebase-analytics-sample-data:android_dataset.app_events_20160601],
  [firebase-analytics-sample-data:ios_dataset.app_events_20160601]
WHERE
  user_dim.user_properties.key = "language"
GROUP BY
  language_code
ORDER BY 
  users DESC

이벤트 데이터

Firebase Analytics는 앱에서 아이템 구매 또는 버튼 클릭을 추적하는 것과 같은 사용자 지정 이벤트를 쉽게 로그할 수 있게 해줍니다. 이벤트를 로그할 때는 이벤트 이름과 최대 25개의 매개변수를 Firebase Analytics에 전달하세요. 그러면 Firebase Analytics가 자동으로 이벤트 발생 횟수를 추적합니다. 다음 쿼리는 특정한 날에 Android에서 앱의 각 이벤트가 발생한 횟수를 보여줍니다.

SELECT 
  event_dim.name,
  COUNT(event_dim.name) as event_count 
FROM
  [firebase-analytics-sample-data:android_dataset.app_events_20160601]
GROUP BY 
  event_dim.name
ORDER BY 
  event_count DESC

이벤트와 연결된 다른 유형의 값(예: 아이템 가격)이 있는 경우 이 값을 선택적인 값 매개변수로 전달하여 BigQuery에서 이 값으로 필터링할 수 있습니다. 샘플 테이블에는 spend_virtual_currency 이벤트가 있습니다. 플레이어가 한 번에 얼마나 많은 가상 통화를 소비하는지 보여주는 다음과 같은 쿼리를 작성할 수 있습니다.

SELECT 
  event_dim.params.value.int_value as virtual_currency_amt,
  COUNT(*) as num_times_spent
FROM
  [firebase-analytics-sample-data:android_dataset.app_events_20160601]
WHERE
  event_dim.name = "spend_virtual_currency"
AND
  event_dim.params.key = "value"
GROUP BY
  1
ORDER BY 
  num_times_spent DESC

복잡한 쿼리 빌드

특정 날짜 범위에 걸쳐 앱의 두 플랫폼 모두를 대상으로 쿼리를 실행하려면 어떻게 해야 할까요? Firebase Analytics 데이터는 매일의 테이블로 분할되므로, BigQuery의 TABLE_DATE_RANGE 함수를 사용하여 이 작업을 수행할 수 있습니다. 다음 쿼리는 한 주 동안 사용자의 접속이 시작되는 도시의 수를 반환합니다.

SELECT
  user_dim.geo_info.city,
  COUNT(user_dim.geo_info.city) as city_count 
FROM
TABLE_DATE_RANGE([firebase-analytics-sample-data:android_dataset.app_events_], DATE_ADD('2016-06-07', -7, 'DAY'), CURRENT_TIMESTAMP()),
TABLE_DATE_RANGE([firebase-analytics-sample-data:ios_dataset.app_events_], DATE_ADD('2016-06-07', -7, 'DAY'), CURRENT_TIMESTAMP())
GROUP BY
  user_dim.geo_info.city
ORDER BY
  city_count DESC

또한, 다음과 같이 한 주 동안 플랫폼 간에 모바일 사용량과 태블릿 사용량을 비교하는 쿼리를 작성할 수도 있습니다.

SELECT
  user_dim.app_info.app_platform as appPlatform,
  user_dim.device_info.device_category as deviceType,
  COUNT(user_dim.device_info.device_category) AS device_type_count FROM
TABLE_DATE_RANGE([firebase-analytics-sample-data:android_dataset.app_events_], DATE_ADD('2016-06-07', -7, 'DAY'), CURRENT_TIMESTAMP()),
TABLE_DATE_RANGE([firebase-analytics-sample-data:ios_dataset.app_events_], DATE_ADD('2016-06-07', -7, 'DAY'), CURRENT_TIMESTAMP())
GROUP BY
  1,2
ORDER BY
  device_type_count DESC

좀 더 복잡한 문제를 생각해보자면, 지난 2주일 동안 플랫폼 간에 고유한 사용자 이벤트에 대한 보고서를 생성하는 쿼리를 작성할 수 있습니다. 여기서는 PARTITION BYEXACT_COUNT_DISTINCT를 사용하여 사용자 속성 및 user_dim.user_id 필드를 이용해 사용자의 이벤트 신고에서 중복된 항목을 제거합니다.

SELECT 
  STRFTIME_UTC_USEC(eventTime,"%Y%m%d") as date,
  appPlatform,
  eventName,
  COUNT(*) totalEvents,
  EXACT_COUNT_DISTINCT(IF(userId IS NOT NULL, userId, fullVisitorid)) as users
FROM (
  SELECT
    fullVisitorid,
    openTimestamp,
    FORMAT_UTC_USEC(openTimestamp) firstOpenedTime,
    userIdSet,
    MAX(userIdSet) OVER(PARTITION BY fullVisitorid) userId,
    appPlatform,
    eventTimestamp,
    FORMAT_UTC_USEC(eventTimestamp) as eventTime,
    eventName
    FROM FLATTEN(
      (
        SELECT 
          user_dim.app_info.app_instance_id as fullVisitorid,
          user_dim.first_open_timestamp_micros as openTimestamp,
          user_dim.user_properties.value.value.string_value,
          IF(user_dim.user_properties.key = 'user_id',user_dim.user_properties.value.value.string_value, null) as userIdSet,
          user_dim.app_info.app_platform as appPlatform,
          event_dim.timestamp_micros as eventTimestamp,
          event_dim.name AS eventName,
          event_dim.params.key,
          event_dim.params.value.string_value
        FROM
         TABLE_DATE_RANGE([firebase-analytics-sample-data:android_dataset.app_events_], DATE_ADD('2016-06-07', -7, 'DAY'), CURRENT_TIMESTAMP()),
TABLE_DATE_RANGE([firebase-analytics-sample-data:ios_dataset.app_events_], DATE_ADD('2016-06-07', -7, 'DAY'), CURRENT_TIMESTAMP())
), user_dim.user_properties)
)
GROUP BY
  date, appPlatform, eventName

Google 애널리틱스에 동일한 앱에 대한 데이터가 있으면 BigQuery로 자신의 Google 애널리틱스 데이터를 내보내어 Firebase Analytics BigQuery 테이블과 JOIN을 수행할 수도 있습니다.

분석 데이터 시각화

이제, 원시 BigQuery 내보내기를 사용하여 모바일 앱 데이터에서 새로운 통계 데이터를 수집했으므로 Google Data Studio를 사용하여 이를 시각화해 봅시다. Data Studio는 BigQuery 테이블에서 직접 데이터를 읽을 수 있으며, 위에 표시된 쿼리와 같이 사용자 지정 쿼리에 이 데이터를 전달할 수도 있습니다. Data Studio는 데이터 구조에 따라 시계열, 막대 그래프, 원형 차트, 지오 맵 등 다양한 유형의 차트를 생성할 수 있습니다.

우선 시각화를 위해 사용자가 각 플랫폼에서 앱에 액세스하는 기기의 유형을 비교하기 위한 막대 그래프를 생성해보도록 하겠습니다. 위에 나와 있는 모바일 사용량과 태블릿 사용량을 비교하는 쿼리를 Data Studio에 직접 붙여 넣어 다음 차트를 생성할 수 있습니다.
이 차트에서 iOS 사용자가 태블릿에서 게임에 액세스하는 경향이 더 큰 것을 쉽게 파악할 수 있습니다. 좀 더 복잡한 문제를 생각해보자면, 위의 이벤트 보고 쿼리를 사용하여 플랫폼 간의 이벤트 수를 비교하여 보여주는 막대 그래프를 생성할 수 있습니다.
BigQuery 프로젝트를 Data Studio에 연결하는 방법에 대한 자세한 지침은 이 글에서 확인하시기 바랍니다.

다음 단계는?

Firebase를 처음 사용하는 것이라면 여기에서 시작해 보세요. Firebase에서 모바일 앱을 이미 빌드하고 있다면 이 상세 가이드에서 Firebase 프로젝트를 BigQuery에 연결하는 방법을 확인해 보세요. 궁금한 점이 있으면 BigQuery 참조 문서를 살펴보고 firebase-analyticsgoogle-bigquery 태그를 사용하여 Stack Overflow에 질문을 올려주시기 바랍니다. 또한, 다음 글에서 다루었으면 하는 주제가 있으면 알려주시기 바랍니다.

Developer, Coding For a Better World.


개발자들의 축제, GDG DevFest Incheon 2016 이 11/19 (토) 부천 만화 박물관에서 열립니다.

Developer, Coding For a Better World.


개발자들의 축제, GDG DevFest Incheon 2016 이 11/19 (토) 부천 만화 박물관에서 열립니다.




  • 일시: 2016년 11월 19일(토) 12시 ~ 5시 50분 
  • 장소: 부천만화박물관 (경기도 부천시 길주로 1) 
  • 예상 참석인원: 약 350명 
  • 프로그램 구성: 4개 세션/ 5개 코드랩 

Developer, Coding For a Better World 라는 주제로,
많은 개발자들이 더 나은 세상을 만들기 위해 각자의 위치에서 구글의 기술을 이용하여 멋진 도구와 환상적인 서비스를 만들 수 있도록 한단계 더 발전 하는 것이 이번 행사의 목표입니다.

기존 현역 개발자들에게는 다시 열정과 많은 정보를, 초보 개발자들에게는 한걸음 나아갈 수 있는 마일스톤을 제공합니다. 참석하는 개발자들에게 새로운 기술들을 설명하고, 접목 시킬 수 있도록 도와 드립니다.

새로운 기술을 배우고 익히면서 평소에 만들어 보고 싶었던 것을 즐겁게 만들며 열정을 불태워 보고 싶은 모든 분들을 초대합니다!!


참가신청하러 가기!


페이스북 게시글 공유 이벤트!

GDG Korea 페이스북의 GDG DevFest Incheon 2016 게시글을 여러분의 타임라인에 공유해 주세요. 총 20분을 선정해 기념 티셔츠를 19일 행사장에서 드립니다!
  • 이벤트 기간: 2016년 10월 31일(월) 08:30 - 11월 17일(목) 24:00 
  • 당첨자 안내: 2016년 11월 18일(금) 개별 안내 

GDG Busan 에서 개최하는 DEVFEST 2016 BUSAN 행사에 여러분을 초대합니다!

개발자들이 한자리에 모여 서로 지식을 교환하고, 아이디어를 공유하고, 기술에 대한 열정을 표출하는 개발자들의 축제인 GDG DevFest 가 올해는 처음으로 부산에서도 개최됩니다 ...
GDG Busan 에서 개최하는 DEVFEST 2016 BUSAN 행사에 여러분을 초대합니다!

개발자들이 한자리에 모여 서로 지식을 교환하고, 아이디어를 공유하고, 기술에 대한 열정을 표출하는 개발자들의 축제인 GDG DevFest 가 올해는 처음으로 부산에서도 개최됩니다!

개발자로서의 커리어에 대한 고민 그리고 커뮤니티 활동 경험을 주제로 한 진솔한 이야기는 물론 안드로이드, 웹, VR 등 구글의 최신 기술에 대한 소식을 접할 수 있는 이번 기회를 놓치지 마세요!
<행사 개요>
  • 일시: 2016년 11월 12일(토) 오후 1시 ~ 6시 
  • 장소: 센탑(CENTAP), 부산 해운대구 센텀동로 45 1층 101호
  • 예상 참석인원: 약 100명 
  • 프로그램 구성: 5개 세션
<세션 소개>
  • 안드로이드 누가 - 새로운 변경점과 개발자가 알아야 하는 것들 - 김석용 님
  • What Is Next For The Web - 도창욱 님
  • Google VR SDK - Hassan Abid 님
  • Progressive Web App with React.js from scratch - 문현경 님
  • 개발자 커리어 & 커뮤니티 - 기묘한 이야기 - 이원제 님


참가신청하러 가기!



페이스북 게시글 공유 이벤트!

GDG Korea 페이스북의 DEVFEST 2016 BUSAN 게시글을 여러분의 타임라인에 공유해 주세요. 총 20분을 선정해 기념 티셔츠를 랜덤하게 발송해 드립니다.

  • 이벤트 기간: 2016년 10월 28일(금) 08:30 - 11월 10일(목) 24:00 
  • 당첨자 안내: 2016년 11월 11일(금) 개별 안내

편집자 주: 다음은 원래 Channels의 제품 관리자인 u/illymc 가 작성한 Reddit 관련 블로그에 게시된 것입니다. Reddit이 AMP를 어떤 식으로 사용하는지 알아보려면 아래 내용을 읽어 보세요.
편집자 주: 다음은 원래 Channels의 제품 관리자인 u/illymc 가 작성한 Reddit 관련 블로그에 게시된 것입니다. Reddit이 AMP를 어떤 식으로 사용하는지 알아보려면 아래 내용을 읽어 보세요.

Reddit은  Accelerated Mobile Pages(약칭 AMP)를 활용하여 거의 즉각적으로 로드되는 웹 페이지를 제작하고 있습니다. 모바일 사용자 중 39%가 웹 검색 환경에 만족하지 않는 주된 이유로 느린 페이지 로드 속도를 꼽았습니다. 빠른 모바일 웹 환경을 만들기란 무척 어려운 일입니다. 한 달 동안 사이트의 고유 방문자 수가 1억 5천만 명이 넘는 기술 기업인 Vox Media는 2015년도에 평균적으로 로드를 마치는 데 23초가 걸린 페이지를 인용하면서 비유적 표현으로 "성능 파산"을 선언했습니다. AMP는 10분의 1초 이내로 로드되는 페이지를 손쉽게 제작할 수 있게 해주므로 모바일 웹의 판도를 바꿀 획기적인 기술입니다.

오늘, 저희는 Reddit에서 수천만 개의 AMP 페이지를 게시했음을 알려 드립니다. 이런 페이지는 이전 모바일 페이지보다 7~30배 더 빠르게 로드됩니다. Reddit에서 생성되는 모든 자체 게시물에는 이제 이에 해당하는 AMP 버전이 있습니다. Google의 검색 결과에는 시간이 지남에 따라 이런 페이지가 점점 더 많이 표시될 것입니다. 이런 페이지는 Reddit 환경에서 가장 중요한 부분, 즉 사용자가 만들어내는 훌륭한 콘텐츠에 초점을 맞춘 것입니다.

다음은 이에 대한 예제입니다.

jeremy-blog-post-visual

저희 엔지니어링 팀은 AMP 페이지 제작이 어렵지 않다는 점을 알게되었습니다. AMP는 페이지 로드 속도가 엄청나게 빠른 일련의 구성 요소 집합입니다. 따라서 웹 페이지를 만들 때, 페이지의 모든 측면을 신중하게 공들여 제작해야 하는 것이 아니라, 레고 블록을 조립하는 것처럼 미리 정해진 구성 요서를 활용해 조합합니다. 몇몇 제품 개발자는 선택할 수 있는 폭이 한정되어 있기 때문에 사용자 환경이 저하될 것을 염려할지도 모르겠군요. 하지만, 저희는 오히려 AMP 구성 요소로 제한함으로써 사용자가 Reddit에서 보려는 콘텐츠에만 디자인 작업을 쉽게 집중할 수 있다는 사실을 알아차렸습니다.

지금은 대부분의 회사에서 이미 구축한 페이지에 대해 별도의 AMP 버전을 제작하고 있습니다. 이에 더 나아가 현재는 AMP로 새 페이지를 처음 부터 개발하는 시험을 진행하고 있습니다. AMP 페이지는 모바일 환경과 마찬가지로 데스크톱 환경에서도 훌륭하게 표시되고 빠르게 로드됩니다. 페이지가 자주 변경되므로 페이지 성능을 높은 수준으로 유지하는 일은, 시간이 많이 걸리는 두더지 잡기 게임과 같습니다. 하지만 저희가 제작하는 AMP 페이지는 항상 빠르게 로드될 것이라 확신합니다. 따라서 많은 종류의 페이지에서 AMP 버전만이 우리가 앞으로 항상 필요로 할 유일한 버전이라고 생각합니다.

게시자: u/illymc

iOS 개발자 여러분,
이제 iOS용 Firebase 버전 3.6을 사용할 수 있게 되었음을 알려드리고자 합니다. 이 버전에는 iOS 10 지원에 필요한 여러 중요 버그 수정과 기능이 포함되어 있습니다. 가급적 빨리 pod update
iOS 개발자 여러분,
이제 iOS용 Firebase 버전 3.6을 사용할 수 있게 되었음을 알려드리고자 합니다. 이 버전에는 iOS 10 지원에 필요한 여러 중요 버그 수정과 기능이 포함되어 있습니다. 가급적 빨리 pod update를 실행하거나 프레임워크를 수동으로 업데이트하고 프로젝트를 다시 컴파일하시는 것이 좋습니다.

수정 사항 및 향상된 기능에 대한 전체 목록을 보려면 릴리스 노트를 살펴보세요. 여기에는 새로운 기능에 대해 간략히 요약되어 있습니다.

새로운 알림 지원

Firebase 클라우드 메시징에서 이제 새로운 iOS 10 사용자 알림을 지원합니다. 앱이 iOS 10에서 실행 중이라면 userNotificationCenter:willPresentNotification: withCompletionHandler 메서드를 사용하여 수신되는 알림을 처리할 수 있습니다. 걱정하지 마세요. 앱에 기존에 지원되던 application:didReceiveRemoteNotification: completionHandler 메서드만 있을 경우 APN에서 최신 메서드를 찾을 수 없다면 기존 메서드를 대신 호출하니깐요. 추가 정보가 필요하세요? 자세한 내용은 업데이트된 FCM 문서를 참조하세요.

앱 사용 후기 지침과 관련한 몇 가지 참고 사항

iOS 10 업데이트와 함께 Apple에서는 App Store 사용 후기 지침에서 몇 가지 사항을 변경했습니다. 최신 버전의 Firebase에서는 이런 새로운 지침에 대응하여 여러 가지 사항이 변경되었습니다. 가장 중요한 점은 NSCalendarsUsageDescription NSBluetoothPeripheralUsageDescription 같은 항목에 대한 텍스트를 제공하라는 iTunes 연결 오류가 더 이상 발생하지 않아야 한다는 점입니다.

이런 지침을 따름으로써 발생하는 결과 중 하나로, 저희는 최근에 Safari에서 iOS Search 앱 설치 광고를 평가할 수 있는 기능을 여러분에게 제공하기 전까지는 이 기술을 제거했었습니다.

Firebase 초대를 사용하고 있다면 plist 파일에서 NSContactsUsageDescription에 대한 콘텐츠를 제공해야 합니다. Firebase 초대에서는 이런 연락처 정보를 사용하여 여러분의 사용자가 초대장을 보내고 싶어 할지 모를 친구 목록을 채웁니다.

저희는 이런 변경 사항이 미치는 영향을 면밀히 모니터링하고, 필요한 경우 추가 업데이트를 게시할 것입니다.

로그인 해결 방법

최근의 한 블로그 게시물에서, Xcode 8에서는 시뮬레이터에서 키체인에 값을 쓸 수 없기 때문에 Firebase 인증에서 오류가 발생한다는 내용이 있었는데 기억나실지 모르겠군요. 이 문제는 여전히 존재하지만, 저희는 시뮬레이터에서 NSUserDefaults를 사용하고 기기에 키체인을 계속 사용하는 해결 방법을 개발했습니다. 즉, 이제 시뮬레이터에서 Firebase 인증을 개발하고 시험해 볼 수 있으며 모든 것이 다시 제대로 작동한다는 뜻이랍니다.

버그 수정

여러분이 찾은 버그를 저희가 수정했습니다! 앞으로도 계속해서 혹시 문제가 발생하면 온라인 양식을 통해 신고해 주시거나 원하는 기능에 대한 요청을 제출해 주세요. 그러면 저희가 적절히 처리하겠습니다.

궁금한 사항이 있으면 항상 Stack Overflow에서 Firebase 태그를 지정하여 문의하거나 Google 그룹으로 보내주시기 바랍니다.

최근 사이트에 AMP 페이지를 구현했다면 이제 Search Console을 사용하여 내 AMP 페이지 중 Google에서는 어떤 페이지를 발견하여 색인 처리했는지 확인해보면 좋을 것입니다.

Search Console은 Accelerated Mobile Pages를 포함하여 내 사이트가 Google 검색에서 갖는 존재감을 모니터하고 유지할 수 있게 도와주는 무료 서비스입니다. 내 AMP 페이지가 Google 검색결과에 포함되도록 하기 위해 Search Console에 가입할 필요는 없지만, Search Console에 가입하면 어떤 AMP 페이지가 검색결과에 표시될 수 있는지 확인하는 데 도움이 됩니다.
AMP-searchConsole.jpg

최근 사이트에 AMP 페이지를 구현했다면 이제 Search Console을 사용하여 내 AMP 페이지 중 Google에서는 어떤 페이지를 발견하여 색인 처리했는지 확인해보면 좋을 것입니다.

Search Console은 Accelerated Mobile Pages를 포함하여 내 사이트가 Google 검색에서 갖는 존재감을 모니터하고 유지할 수 있게 도와주는 무료 서비스입니다. 내 AMP 페이지가 Google 검색결과에 포함되도록 하기 위해 Search Console에 가입할 필요는 없지만, Search Console에 가입하면 어떤 AMP 페이지가 검색결과에 표시될 수 있는지 확인하는 데 도움이 됩니다.

Search Console을 시작하려면 무료 계정을 만들거나 여기에 로그인한 다음 사이트의 소유권을 확인하세요.

Search Console에서 사이트를 설정하고 난 다음 검색 노출 > Accelerated Mobile Pages에서 Accelerated Mobile Pages 보고서를 열어 다음에서 확인할 수 있는 것과 같이 Google에서 어떤 AMP 페이지를 발견하였고 내 사이트에 색인 처리를 했는지 확인하세요.

Screen Shot 2016-09-15 at 3.05.22 PM.png

이 보고서에서는 색인 처리되지 않은 AMP 페이지의 AMP 관련 문제를 다루고 있기 때문에 이러한 문제를 식별하고 해결할 수 있습니다.

Search Console을 사용하면 검색 애널리틱스 보고서에서 AMP 페이지가 Google 검색에서 어떤 성과를 보이는지 모니터링할 수도 있습니다. 이 보고서를 통해 어떤 검색어를 사용하면 검색결과에 내 AMP 페이지가 표시되는지 알 수 있고 나의 다른 검색결과와 비교했을 때 통계가 어떠한지 비교할 수 있으며 시간의 경과에 따라 내 AMP 페이지의 가시성이 어떻게 변화해 왔는지 볼 수 있습니다.

클릭수나 노출수 등 AMP 페이지 통계를 확인하려면 검색 노출 > 검색 노출 애널리틱스 > AMP로 필터 를 선택하세요.

(참고: Search Console 계정을 만들거나 AMP 페이지를 설정한 지 얼마 되지 않았고 아직 계정이나 AMP 페이지가 탐지되지 않은 경우 Google은 페이지를 주기적으로 크롤링한다는 사실을 기억하세요. 예정된 정기 크롤링을 기다리거나 크롤링을 요청할 수 있습니다.)

Search Console을 사용하여 AMP 페이지를 모니터링해 오셨나요? 아래의 댓글이나 Google 웹마스터 Google+ 페이지에 의견을 남겨 주세요. 질문이 있거나 도움이 필요하다면 자유롭게 웹마스터 도움말 포럼에 글을 게시하세요.

게시자: Tomo Taylor, AMP 커뮤니티 관리자

Open Source Programs Office는 더 많은 사람들이 오픈 소스 소프트웨어에 기여할 수 있도록 돕습니다. 이를 위해, 저희는 Google Summer of Code(대학생을 위한 과정)와 Google Code-in(예비 대학생을 위한 과정)이라는 학생 프로그램을 운영하고 있습니다.
Open Source Programs Office는 더 많은 사람들이 오픈 소스 소프트웨어에 기여할 수 있도록 돕습니다. 이를 위해, 저희는 Google Summer of Code(대학생을 위한 과정)와 Google Code-in(예비 대학생을 위한 과정)이라는 학생 프로그램을 운영하고 있습니다.

두 프로그램은 좋은 성과를 내고있습니다. 지금까지 100개국 이상에서 15,000명 이상의 학생들이 23,000명의 멘토와 협력하여 560개 이상의 오픈 소스 프로젝트에 기여했습니다. 그리고, 더욱 설레는 마음으로 위 두 가지 학생 프로그램의 향후 일정을 발표합니다!

예비 대학생을 대상으로 하는 Google Code-in은 2016년 11월 28일에 시작

올해로 7년째를 맞이하는 Google Code-in은 13~17세의 학생들을 대상으로 진행됩니다. 참여 학생들은 오픈 소스를 체험할 기회를 가질 수 있습니다. 다양한 분야의 과제를 통해 배우고 직접 실습할 수 있는 기회를 갖게 될 것입니다. 이 프로그램은 학생들이 점진적으로 도전적인 과제를 접하면서 실력을 키워나갈 수 있는 구조로 되어 있습니다.

처음엔 쉬운 과제부터 시작합니다. 콘테스트가 시작되면 프로그램 참가 단체의 목록에서 관심 있는 과제를 선택하여 완료하면 됩니다. 참가 단체 소속의 멘토가 온라인으로 도와줄 수 있습니다.

Google Code-in은 다음과 같은 의문을 가진 학생들을 위한 프로그램입니다.
  • 오픈 소스란 무엇인가?
  • 오픈 소스 프로젝트에선 어떤 종류의 일을 할까?
  • 간단한 학교 과제 정도만 해본 경험밖에 없는 내가 어떻게 실제 코드를 작성할 수 있을까?
  • 난 실제로 프로그래머가 아니지만 오픈 소스에 기여할 수 있을까?

다섯 가지의 서로 다른 범주에 속한 과제가 제시되며, 어떤 학생이든 그 중에서 자신의 실력에 맞는 과제를 고를 수 있을 겁니다.
  • 코드: 작성 또는 리팩터링
  • 문서/교육: 문서를 작성하고 편집해 다른 이들이 더 많은 것을 배울 수 있도록 도움
  • 봉사활동/연구조사: 커뮤니티 관리, 봉사활동/마케팅 또는 문제 연구 및 해결책 제시
  • 품질 보증: 코드가 훌륭하게 작성되었는지 테스트 및 확인
  • 사용자 인터페이스: 사용자 환경 연구조사 또는 사용자 인터페이스 디자인과 상호작용


Google Summer of Code 학생 응모는 2017년 3월 20일에 개시

Google Summer of Code(GSoC)는 전 세계 대학생들에게 여름방학 기간 동안 오픈 소스 프로젝트에 기여함으로써 재능을 발휘하고 연마할 수 있는 기회를 제공합니다.

학생들은 이러한 오픈 소스 소프트웨어 프로젝트에서 멘토의 도움아래 귀중한 경험을 쌓을 수 있습니다. 프로젝트를 성공적으로 마치면 학비를 벌 수도 있습니다.

저희는 이런 전통이 계속 이어지는 것을 자랑스럽게 여깁니다. Google Summer of Code 2017 학생 응모는 2017년 3월 20일에 개시될 예정입니다. 관심 있는 오픈 소스 단체 응모는 2017년 1월 19일에 개시됩니다.

학생들은 너무 늦지 않게 본인의 제안 준비나 고찰을 시작하는 게 좋을 겁니다. Google Summer of Code 2016에 참가한 단체와 학생들이 진행한 프로젝트에 대해 알아보실 수 있습니다. 학생 및 멘토 매뉴얼과 질문과 답변 등 기타 리소스도 찾아보시기 바랍니다.

프로그램 웹사이트에서 자세한 내용을 확인하실 수 있습니다.

친구들과 소식을 공유하고 계속 관심을 갖고 지켜봐 주세요. 조만간 더 상세한 내용을 발표하겠습니다!

게시자: Josh Simmons, Open Source Programs Office

Paper Planes 는 "한 화면에서 다른 화면으로 종이비행기를 던질 수 있다면 어떨까?"라는 단순한 생각으로 시작되었습니다.

이 생각을 구현하기 위한 핵심 기술은 디바이스와 디바이스를 바로 연결할 수 있는 웹 기술을 활용하여 전 세계 각지의 사람들을 연결하는 것입니다. 여기에, 최신 웹 기술, 특히 JavaScript와 WebGL은 멋진 종이비행기 비행 화면을 그릴 수 있는 기반이 되었습니다.
Paper Planes 는 "한 화면에서 다른 화면으로 종이비행기를 던질 수 있다면 어떨까?"라는 단순한 생각으로 시작되었습니다.

이 생각을 구현하기 위한 핵심 기술은 디바이스와 디바이스를 바로 연결할 수 있는 웹 기술을 활용하여 전 세계 각지의 사람들을 연결하는 것입니다. 여기에, 최신 웹 기술, 특히 JavaScript와 WebGL은 멋진 종이비행기 비행 화면을 그릴 수 있는 기반이 되었습니다.

Paper Planes 는 Google I/O 2016의 기조연설에 앞서 30분 동안 참가자와 외부 관중을 연결하는 모습을 보여줌으로써 처음으로 소개되었습니다. 2016년 유엔 세계 평화의 날에 공개 출시하기 위해 저희는 Android Experiment를 제작했습니다. Google Play에서도 추천 앱으로 제공되었습니다. 전 세계 어디에서든 여러분이 접은 비행기가 잡히면 이를 알려주는 알림 기능을 포함해, 안드로이드 누가(Nougat) 기능을 활용하였고, 동시에 기존의 웹 기술을 확장해 사용하였습니다.

소개

사용자는 자신만의 비행기를 만들고 접는 동시에 자신의 위치가 미리 입력된 스탬프를 추가할 수 있습니다. 간단하게 던지는 동작을 취하면 비행기가 가상 환경으로 날아갑니다. 데스크톱 웹사이트를 방문하는 사용자는 비행기가 화면으로 날아가는 것을 볼 수 있습니다.


그 후에, 사용자는 다시 확인해 자신이 날려 보낸 비행기가 세계 어디에서 잡혔는지 볼 수 있습니다. 비행기에 찍힌 각각의 스탬프는 여권처럼 읽혀지고, 3차원 지구에 비행 경로와 비행 거리가 강조표시됩니다.

자신만의 비행기를 만드는 것 외에도, 사용자는 자신의 휴대폰을 가지고 그물처럼 동작을 취하여 세계 각지에서 던진 비행기 하나를 잡아서 열면 비행기가 어디를 거쳐왔는지 볼 수 있습니다. 그런 다음, 자신의 스탬프를 추가하고 종이비행기 무리로 다시 던질 수 있습니다.

WebView

저희는 Google I/O 무대 위에 놓인 50피트짜리 초대형 화면에서 최신 웹 기술을 활용하는 데스크톱과 모바일 기기에 이르기까지 다양한 기기에서 작동하도록 Paper Planes를 개발했습니다.

WebGL

로우 폴리(low-poly) 스타일의 지구부터 무리를 지어 날아다니는 비행기까지, WebGL을 사용해 이 환경을 구동하는 3차원 요소를 렌더링했습니다. 저희는 지구에 빛을 비추기 위해 맞춤형 GLSL 셰이더를 작성하고 사용자가 종이비행기를 잡아 열거나 닫을 때 비행기에 애니메이션 효과를 주기 위해 모프 타깃(morph target)을 작성했습니다.


WebSocket

사용자가 비행기를 "던지면" 메시지가 websocket을 통해 백엔드 서버로 전송되며, 여기서 비행기가 모든 데스크톱 컴퓨터로 전달되어 날아오르는 비행기가 시각화됩니다.


WebWorker

비행기가 무리 지어 날아다니는 시뮬레이션은 각 비행기의 위치를 계산하여 해당 정보를 WebGL에서 렌더링되는 주 스레드로 다시 전달하는 WebWorker를 사용하여 여러 스레드에 걸쳐 계산됩니다.


여러 플랫폼에서 훌륭하게 작동하는 환경을 구축하기 위해 기본 안드로이드 코드를 사용하여 웹을 확장했습니다. 안드로이드에 긴밀하게 통합된 Chromium을 활용하여 이미 존재하는 웹 코드로 애플리케이션의 뷰 계층을 생성하는 동시에, 풍부한 기능의 알림과 백그라운드 서비스 등, OS에 긴밀히 통합되는 기능을 추가할 수 있게 되었습니다.

WebView와 Java 코드를 연결하는 방법에 대해 더 알아보고 싶으면 이 GitHub 리포지토리에서 가이드를 확인하시기 바랍니다.

알림

안드로이드 앱에 푸시 알림을 전송하는 데는 FCM(Firebase 클라우드 메시징)이 사용되었습니다. 다른 사람이 사용자의 비행기를 잡아 날리면 비행기가 경유한 도시 수와 거리(마일)를 보여 주는 알림이 FCM을 통해 비행기를 만든 사람의 기기로 전송됩니다. 발신되는 알림은 기기에 너무 자주 전송되지 않도록 적절히 관리됩니다.

백그라운드 서비스

저희는 하루에 한 번 실행되면서 로컬 저장소를 기준으로 검사하여 사용자가 마지막으로 앱을 방문한 시기를 확인하는 백그라운드 서비스를 구현했습니다. 사용자가 2주일 이상 방문한 적이 없을 경우, 이 앱은 사용자가 앱을 다시 실행하여 새 비행기를 만들어 던져보라고 초대하는 알림을 전송합니다.

통신 네트워크

저희 애플리케이션은 Google Cloud Platform을 기반으로 하는 서버 네트워크에서 실행됩니다. 저희는 내장된 지오코딩 헤더를 사용하여 스탬프의 지리적 근사 위치를 가져오고 Socket.IO를 사용하여 WebSocket을 통해 모든 기기를 연결했습니다.

사용자는 가장 가까이 있는 서버에 접속하게 됩니다. 이 서버에서 단 하나의 메인 서버는 물론, 해당 지역에서 이 환경에 접속한 모든 데스크톱 컴퓨터로 메시지를 전달합니다.

향후 발전

이 접근 방식은 극히 훌륭한 효과를 발휘해, 모든 플랫폼과 폼 팩터에 걸쳐 원활하고 매력적인 환경을 지원하고 전 세계 각지의 사람들을 연결해 줍니다. 기본 기능을 사용하여 웹을 확장하는 것은 앞으로 탁월한 품질의 환경을 제공하기 위한 아주 유용한 경로가 된다는 것이 입증되었습니다. Android Experiments 웹사이트에서 자세한 내용을 확인하실 수 있습니다.

개발자 게스트 게시자: Active Theory

크롬 브라우저는 사용자가 안전하게 웹서핑을 할 수 있도록, 주소 표시줄에 연결 보안 아이콘을 표시합니다. 더 나아가, 모든 일반적인 HTTP 사이트에 관해 비보안("Not secure") 표시를 추가할 계획을 갖고있습니다. 이런 장기 계획의 일환으로, 2017년 1월(Chrome 56)부터 암호나 신용카드를 전송하는 HTTP 사이트들을 비보안으로 표시될 것입니다.
크롬 브라우저는 사용자가 안전하게 웹서핑을 할 수 있도록, 주소 표시줄에 연결 보안 아이콘을 표시합니다. 더 나아가, 모든 일반적인 HTTP 사이트에 관해 비보안("Not secure") 표시를 추가할 계획을 갖고있습니다. 이런 장기 계획의 일환으로, 2017년 1월(Chrome 56)부터 암호나 신용카드를 전송하는 HTTP 사이트들을 비보안으로 표시될 것입니다.

현재 크롬 브라우저는 중립적 표시자를 사용해서 HTTP 연결을 표시하고 있습니다. 하지만, HTTP를 통해 웹사이트를 로드할 때, 그 사이트가 여러분 앞에 열리기 전에 네트워크 상의 누군가가 그것을 보거나 수정할 수 있습니다.

이제 웹 트래픽의 상당 부분이 HTTPS로 넘어왔으며, HTTPS의 사용량은 꾸준히 증가하고 있습니다. 최근에 크롬 데스크톱 페이지 로드의 절반 이상이 HTTPS를 통해 이루어지기도 했습니다. 뿐만 아니라, 지난 2월에 저희가 HTTPS 보고서를 발표한 이래 상위 100대 웹사이트 중 12곳 이상이 기본 프로토콜을 HTTP에서 HTTPS로 바꿨습니다.

연구 결과들은 사용자들이 "보안" 결여 아이콘을 경고로 인지하지 않고, 또한 너무 빈번히 나타나는 경고에 대해 둔감하다는 사실을 보여주고 있습니다. HTTP 사이트들에 좀더 분명하고 정확하게 비보안으로 라벨을 표시하려는 계획은 완만하게 단계적으로 진행될 것입니다. 2017년 1월부터 (Chrome 56 버전) 특별히 민감한 암호나 신용카드 양식 필드가 있는 HTTP 페이지에 "비보안" 라벨을 붙일 것입니다.

저희는 그 이후의 릴리스에서 HTTP 경고를 계속 확대해 나갈 것입니다. 예를 들어, 사용자들의 개인정보 보호에 대한 기대치가 높은 HTTP 페이지에 익명 모드로 "비보안" 라벨을 붙이는 식으로 말이지요. 결국에는 모든 HTTP 페이지에 비보안 라벨을 붙이고, HTTP 보안 표시자를 현재 저희가 작동 중단된 HTTPS에 사용하는 빨간색 삼각형으로 바꿀 계획입니다.

장차 릴리스 시기가 가까워지면 이 계획에 대한 업데이트를 발표하겠지만, HTTPS로 옮겨가기 위해 그때까지 기다리실 필요는 없습니다. HTTPS는 이전보다 쉽고 싸졌으며, 웹이 제공할 수 있는 최고의 성능과 HTTP에서는 너무 민감한 강력한 기능, 이 두 가지를 모두 제공합니다. 저희의 셋업 가이드를 참고하면서 시작해 보세요.


GDG(Google Developer Group) Korea 에서는 올해도 국내 개발자들이 한자리에 모여 서로 지식을 교환하고, 아이디어를 공유하고, 기술에 대한 열정을 표출할 수 있도 ...
GDG(Google Developer Group) Korea 에서는 올해도 국내 개발자들이 한자리에 모여 서로 지식을 교환하고, 아이디어를 공유하고, 기술에 대한 열정을 표출할 수 있도록 GDG DevFest Seoul 2016 을 개최합니다!!




  • 일시: 2016년 11월 5일(토) 오전 11시 ~ 오후 5시 50분 
  • 장소: 서울대학교 글로벌컨벤션플라자 (서울대학교 38동 글로벌공학교육센터 5층) 
  • 대상: 구글 기술을 사용하고 있거나 혹은 관심을 가지고 학습하는 개발자 
  • 예상 참석인원: 약 1,000명 
  • 프로그램 구성: 3개 세션/ 3개 워크숍(세션 + 코드랩)/ 기업 부스/ 레쥬메 클리닉 등    

From Newbie to Expert

늅투촋 - 뉴비(초보)부터 초고수가 함께 하는 GDG DevFest Seoul 2016

이번 GDG DevFest Seoul 2016 은 개발을 막 시작한 뉴비부터 오랜 경력을 가진 초고수까지 모든 분들을 초대합니다. 여러분이 개발자로서 다음 단계로의 도약에 도움이 되기를 바라는 마음으로 행사를 준비했습니다.

개발을 이제 막 시작하는 개발자들에게는 개발의 즐거움을 알려주고, 신선한 자극이 필요한 경력 개발자들에게는 새로운 동기가 부여되도록 세션들을 알차게 구성하였습니다. (자세한 아젠다는 등록 페이지를 참고해 주시기 바랍니다.)

앞으로 세상에 나올 기술들과 익숙해져야 할 기술들 그리고 경력 관리에 대하여 소개하고 경험을 공유하는 자리가 만들어집니다.

더욱 풍성해진 GDG DevFest Seoul 2016 을 경험해 보세요!


1. 행사장에 마련된 기업 부스를 방문해 보세요!

GDG DevFest Seoul 2016 에 함께 참여한 기업들의 부스를 방문해 보세요. 구인 홍보, 서비스 소개, 도서 전시 등의 다양한 이벤트가 여러분을 기다리고 있습니다.


2. 원티드와 함께하는 레쥬메 클리닉에 참여해 보세요!

GDG DevFest Seoul 2016 행사장에 레쥬메 닥터분들이 여러분의 이력서를 상담해주는 자리를 원티드와 함께 마련합니다. 자세한 방법은 등록페이지에서 확인 바랍니다. (레쥬메 닥터: 권순선(구글 코리아), 황리건(원티드) 외 다수)

참가신청하러 가기!


페이스북 게시글 공유 이벤트!

GDG Korea 페이스북의 GDG DevFest Seoul 2016 게시글을 여러분의 타임라인에 공유해 주세요. 총 50분을 선정해 개발 도서 1권을 11월 5일(토) 행사장에서 드립니다.
  • 이벤트 기간: 2016년 10월 13일(목) 08:30 - 11월 2일(수) 24:00 
  • 당첨자 안내: 2016년 11월 3일(목) 개별 안내

Accelerated Mobile Pages에 관심이 있지만 어떻게 시작해야 할지 모르시나요? 사이트의 AMP 버전 페이지를 제작하여 빛처럼 빠른 속도를 확보하는 일은 생각보다 어렵지 않습니다.

WordPress, Drupal, Hatena 등의 콘텐츠 관리 시스템(CMS)을 사용하는 경우 AMP 설정은 플러그인을 설치하고 활성화하는 것만큼이나 쉽습니다. 각 CMS는 페이지 AMP 버전 제작에 약간씩 다른 접근방식을 취하고 있기 때문에 AMP 버전 제작을 시작하는 방법에 대해 공급업체에 문의하는 것도 좋습니다.
AMP-3.jpg

Accelerated Mobile Pages에 관심이 있지만 어떻게 시작해야 할지 모르시나요? 사이트의 AMP 버전 페이지를 제작하여 빛처럼 빠른 속도를 확보하는 일은 생각보다 어렵지 않습니다.

WordPress, Drupal, Hatena 등의 콘텐츠 관리 시스템(CMS)을 사용하는 경우 AMP 설정은 플러그인을 설치하고 활성화하는 것만큼이나 쉽습니다. 각 CMS는 페이지 AMP 버전 제작에 약간씩 다른 접근방식을 취하고 있기 때문에 AMP 버전 제작을 시작하는 방법에 대해 공급업체에 문의하는 것도 좋습니다.

사이트에서 맞춤형 HTML을 사용하거나 AMP가 실제로 어떻게 작동하는지 알고 싶은 경우 AMP Codelab에서 처음으로 페이지를 개발하는 과정을 경험할 수 있게 만들어진 실제 코드 제작 과정을 안내에 따라 체험해 보세요. Codelab에서는 다음과 같은 기본적인 항목을 다룹니다.


       AMP가 모바일 웹에서 사용자 환경을 개선하는 방법
       AMP 페이지 기초
       AMP 제한사항
       AMP 웹 구성요소가 일반적인 문제를 해결하는 방식
       AMP 페이지 확인 방법
       Google 검색용으로 AMP 페이지를 준비하는 방법


기본 항목을 학습했다면 이제 고급 개념 Codelab을 좀 더 파고들어 보면 어떨까요?

Codelab을 사용해 보았거나 AMP 플러그인을 사이트에 추가하셨나요? 아래의 댓글이나 Google 웹마스터 Google+ 페이지에 의견을 공유해 주세요. 질문이 있거나 도움이 필요하다면 자유롭게 웹마스터 도움말 포럼에 글을 게시하세요.

게시자: Tomo Taylor, AMP 커뮤니티 관리자

확보(Acquisition) - 어떻게 사용자를 확보하는가?

요즘엔 "앱을 만들기만 하면 사용자들이 오게 돼있다"는 말은 거의 통하지 않습니다. 사용자 확보는 매우 중요합니다. 광고, 홍보, 마케팅 등 여러가지 다양한 방법을 사용해야합니다.

지난 번의 게시글에서 ...

확보(Acquisition) - 어떻게 사용자를 확보하는가?

요즘엔 "앱을 만들기만 하면 사용자들이 오게 돼있다"는 말은 거의 통하지 않습니다. 사용자 확보는 매우 중요합니다. 광고, 홍보, 마케팅 등 여러가지 다양한 방법을 사용해야합니다.

지난 번의 게시글에서 저는 해적 지표의 5 가지 구성요소(확보, 흥미 유발, 유지, 추천, 수익창출)를 소개드렸습니다. 이번에는 그 중 첫 번째 지표인 사용자 확보에 관해 이야기하려고 합니다. Firebase를 활용해 사용자가 얼만큼 추가되고 있는지 추적하고 어떻게 이를 향상시킬 수 있을까요?




지금까지 구글이 제공하는 사용자 유치를 위해 핵심적인 서비스는 바로 Adwords였습니다. 여러분은 이미 Adwords 캠페인을 통해 검색 결과에서 뿐만 아니라 YouTube와 Google Play 같은 장소에서도 사용자들에게 다가갈 수 있었습니다. 새로운 Firebase의 Adwords 통합 기능을 이용하면, 이를 보다 강화할 수 있습니다.

첫째, 사용자들의  '앱 열기' 이벤트를 추적해, 캠페인이 올바른 사용자들에게 접근하고 있는지 자동적으로 확인할 수 있습니다.

여러분이 게임을 새로 개발해서 그 게임을 위해 여러 개의 광고 캠페인을 운영하고 있다고 가정해 봅시다. 어느 캠페인이 더 많은 사용자를 더 나은 속도로 이 게임에 끌어오는지 뿐만 아니라, 어느 캠페인을 통해 더 많은 사용자를 실재로 게임을 플레이하고 있는지를 쉽게 확인할 수도 있습니다.

또한 30 개 이상의 다른 광고 네트워크를 통해 사용자를 확보하고, Firebase Analytics에서 곧장 캠페인의 성과를 추적할 수도 있습니다. 그리고, 예상하신대로, 다양한 소스로부터 유입된 사용자들을 각각 서로 다른 Audiences로 분류할 수 있습니다.

그밖에, 인앱 이벤트 중에서 중요한 것들을 지정해서 Adwords가 이벤트를 수행할 가능성이 있는 사용자들을 자동적으로 타겟팅하도록 할 수도 있습니다. 앞의 게임을 계속 예로 들어, 그 게임이 단독 모드와 멀티플레이어 모드를 둘 다 가지고 있다고 가정해 봅시다. 간단히 Adwords가 멀티플레이어 게임 시작 이벤트를 알도록 하는 것만으로도 멀티플레이어 게임을 원하는 사용자들을 유치할 가능성을 높일 수 있습니다.

끝으로, Firebase Analytics에서 생성한 잠정 사용자들을 목표로 삼을 수 있습니다. 이는 특정 레벨에서 고군분투하다가 게임을 그만둘 수도 있는 사용자에게 특별한 강화능력을 제공하여 다시 데려오는 등의 리타겟팅을 위한 엄청나게 강력한 기능이 될 수 있습니다.

Adwords와의 Firebase 통합은 여러분이 들인 수고에 대해 최상의 결과를 얻도록 해드립니다. 당사의 공식 문서에서 자세한 내용을 확인하세요.

Adwords 외에 저희가 Firebase의 일부로서 제공해드리는 또 하나의 실용적 도구로 Dynamic Links가 있습니다. Dynamic Links는 하나의 URL을 만들어 잠재적 사용자들과 공유하도록 합니다. 사용자들은 Android나 iOS에서 다운로드하기 위해 적절한 스토어로 리디렉션됩니다. 또한 몇 가지 맞춤형 데이터를 링크에 추가하여 앱 설치 프로세스를 견뎌낼 수도 있습니다. 이 기능을 사용하여 소셜 미디어 같은 채널로부터 사용자 유치를 크게 향상시킬 수 있습니다.

한 예로, 판매할 수 있는 제품을 전자상거래 애플리케이션에서 강조표시하고 싶다면, 간단히 Dynamic Link를 만들어 앱이 사용할 수 있는 ID 등의 정보를 추가한 다음 곧바로 제품에 딥링크하면 됩니다. 앱을 가지고 있는 사용자들이 해당 제품 페이지로 안내될 것입니다. 앱을 가지고 있지 않은 사용자들은 먼저 Play Store나 App Store로 안내되고, 그들이 애플리케이션을 처음 열 때 제품 페이지에 곧장 안내될 수 있습니다.

앞으로 게시글에서 Dynamic Links에 관해 다시 자세히 다루겠지만, 그전에 직접 문서를 확인해 보시는 것도 좋을 것입니다.

다음 게시글에서는 흥미 유발에 대해 말씀드리겠습니다.

구글 기술을 사용한 다양한 프로젝트를 전시하고 체험해볼 수 있는 이 10월 15일(토) 부터 16일(일) 까지 이틀 동안 서울혁신파크에서 개최됩니다.
구글 기술을 사용한 다양한 프로젝트를 전시하고 체험해볼 수 있는 Google HackFair 2016 이 10월 15일(토) 부터 16일(일) 까지 이틀 동안 서울혁신파크에서 개최됩니다.



  • 일시: 2016년 10월 15일(토) 11:00 - 18:00/ 10월 16일(일) 11:00 - 18:00
  • 장소: 서울혁신파크 (서울 은평구 녹번동/ 3호선 불광역)
  • 가격: 청소년 및 성인 8,000원 - 온라인으로 사전 등록한 경우 (Maker Faire Seoul 입장을 위해 관람료가 발생됩니다.)

Google HackFair 2016 에서만 만나볼 수 있는 두 가지 새로움을 경험해 보세요!!


1. 구글러가 직접 소개하는 구글의 최신 기술

구글러가 직접 전시에 참여해 구글의 최신 기술 및 최신 기술을 활용한 재미있는 프로젝트를 선보입니다.
  • 미래의 Car Life 를 업그레이드 시켜줄 Android Auto
  • FirebaseGoogle Maps 기술을 사용한 대기 오염 측정기
  • Cloud Vision API 로 주변의 사람과 사물을 인식하는 vBot 
  • 스마트 TV의 세계를 경험할 수 있는 Android TV 


2. 국내 최대 규모의 메이커 페어 서울과의 콜라보

직접 만든 프로젝트를 서로 공개하고 체험해보는 국내 최대의 메이커 축제 메이커 페어 서울과 함께 합니다. Google HackFair 전시팀 뿐만 아니라 약 100개 팀이 직접 만든 재미있는 프로젝트를 한번에 체험해 보실 수 있습니다. (Maker Faire Seoul 입장을 위해 관람료가 발생됩니다.)


페이스북 게시글 공유 이벤트!

GDG Korea 페이스북의 Google HackFair 2016 게시글을 여러분의 타임라인에 공유해 주세요. 총 20분을 선정해 Google HackFair 2016 초대권을 2매씩 발송해 드립니다.
  • 이벤트 기간: 2016년 10월 7일(금) 08:30 - 10월 9일(일) 24:00
  • 당첨자 안내: 2016년 10월 10일(월) 개별 안내

오늘날의 사용자들은 모바일 웹사이트가 매우 빠르게 로드되길 바랍니다. 하지만 몇 초 정도 걸리는 것이 사실입니다. 웹사이트 로드가 3초를 넘어가면 웹사이트를 보지 않는 사람이 40%에 이른다는 사실은 놀라운 얘기도 아닙니다. 사용자의 휴대기기에 콘텐츠가 로드되는 시간을 줄이기 위 ...
오늘날의 사용자들은 모바일 웹사이트가 매우 빠르게 로드되길 바랍니다. 하지만 몇 초 정도 걸리는 것이 사실입니다. 웹사이트 로드가 3초를 넘어가면 웹사이트를 보지 않는 사람이 40%에 이른다는 사실은 놀라운 얘기도 아닙니다. 사용자의 휴대기기에 콘텐츠가 로드되는 시간을 줄이기 위해 Google에서는 Accelerated Mobile Pages 프로젝트를 시작했습니다. 이는 모든 사용자를 위해 모바일 웹 사용환경을 개선하는 것을 목표로 하는 오픈소스 프로젝트입니다.

Accelerated Mobile Pages는 HTML 페이지로서 다양한 기술적 접근방식을 활용하여 속도를 최우선순위로 삼고 콘텐츠를 거의 즉시 로드함으로써 사용자에게 더욱 빠른 사용 환경을 제공합니다.

올해 말부터 AMP 페이지를 제작한 모든 유형의 사이트는 전자상거래, 엔터테인먼트, 여행, 요리 사이트 등 모든 Google 검색결과에 더 많이 노출되게 됩니다. AMPProject.org의 '누구' 페이지를 방문하여 이미 AMP 콘텐츠를 제작한 사이트는 어떤 느낌인지 살펴보고 g.co/ampdemo에서 데모를 통해 라벨이 붙은 AMP 버전 페이지를 확인하세요.



Google 검색에서 AMP를 확대하기 전에 다음 몇 주간 여러분께서 사이트를 #AMPlify하는 데 도움이 될 몇 가지 도움말을 게시할 예정입니다. #AMPlify 해시태그를 G+Twitter에서 팔로우하세요.

벌써 사이트에 AMP 페이지를 만드셨나요? 아래의 댓글이나 Google 웹마스터 Google+ 페이지에 의견을 공유해 주세요. 질문이 있거나 도움이 필요한 경우 자유롭게 웹마스터 도움말 포럼에 글을 게시하세요.

게시자: Tomo Taylor, AMP 커뮤니티 관리자