[go: up one dir, main page]

Firebase 앱 인덱싱을 통해, 사용자는 Google 검색 결과를 클릭해 바로 여러분의 앱을 시작할 수 있습니다. 오래전 앱을 설치한 후에, 그만 여러분의 앱에 관해 잊고 있던 사용자가 다시 한 번 앱에 관심을 두는 기회가 될 수 있겠지요.



모바일 앱 사용자가 Google에서 무언가를 검색하는 경우, 여러분의 앱이 사용자의 질문과 연관성 높은 콘텐츠를 제공한다면, 사용자는 검색 결과를 클릭해 바로 여러분의 앱을 시작할 수 있습니다.


더 많은 사용자가 여러분의 앱을 사용하도록, Firebase 앱 인덱싱 SDK를 사용해 검색 결과에서 해당 콘텐츠의 순위를 올리고, 검색 자동 완성 기능도 제공할 수도 있습니다.



또한, 사용자의 기기에 개발자 여러분의 앱이 설치되어 있지 않을 경우, 사용자가 유사한 앱을 검색할 때 검색 결과에 앱 설치 카드가 나타나도록 할 수 있습니다.


Firebase 앱 인덱싱을 사용하는 이유는?

연구 결과, 미국의 모바일 사용자들은 1인당 평균 36개의 앱을 자신의 모바일 기기에 설치해두고 있으나 그 중 75%를 정기적으로 사용하지 않고 있는 것으로 나타났습니다. Firebase 앱 인덱싱은 앱 내의 중요한 콘텐츠를 드러내어 사용자들이 앱을 재발견할 수 있도록 디자인되어 있습니다. 이제 전 세계적으로 데스크톱보다는 모바일 기기에서 검색을 하는 경우가 더 많고, 검색 결과의 40%는 인덱싱된 앱입니다. Firebase 앱 인덱싱을 사용하는 것은, 여러분의 콘텐츠에 흥미를 보이는 사용자들이 자연스럽게 여러분의 앱을 사용할 수 있도록 만들어 줄 수 있는 훌륭한 기회입니다.

Firebase 개발자 사이트에서 시작하는 방법을 포함하여 Firebase 앱 인덱싱에 대해 자세히 알아보세요.

Firebase 알림은 Android 및 iOS 기기에서 사용자 알림을 사용할 수 있도록 해주는 무료 서비스입니다. Firebase 콘솔을 통해 서버 코딩을 할 필요 없이 여러 플랫폼에 걸쳐 신속하고 쉽게 알림을 보낼 수 있습니다. 개별 사용자, 각 사용자가 구독하는 주제 또는 Analytics에 의해 잠재 고객 목록을 대상으로 알림을 전달 할 수 있습니다.

알림은 Firebase 클라우드 메시징기능을 통해 구현되며, 최소한의 코딩 작업으로 알림 플랫폼을 만들 수 있습니다. 이 서비스는 메시지 전송을 위한 그래픽 콘솔을 지원하므로 서버를 만들 필요가 없습니다. 알림을 통해 사용자 기반을 유지하고, 앱의 성장을 촉진시키고, 마케팅 캠페인을 지원할 수 있습니다.

현재 Google 클라우드 메시징을 사용하고 있다면, Android 및 iOS 앱이 Firebase 알림의 이점을 활용할 수 있도록 Firebase 클라우드 메시징으로 마이그레이션할 것을 적극 권장합니다. 여기에서 마이그레이션 가이드를 확인해 보세요.

Firebase 알림은 Firebase Analytics와 밀접하게 통합되어, 사용자 지정 잠재고객을 정의하고 이들에게 알림을 보낼 수 있습니다. 예를 들어, 특정 앱, 앱 버전 또는 언어의 사용자 세그먼트를 대상으로 알림을 보낼 수 있습니다.

알림은 무척 간단하게 만들 수 있습니다. 콘솔에서 Firebase 알림 GUI를 사용하여 알림을 작성해서 콘솔에서 프로젝트에 연결된 앱으로 보내면 됩니다. 앱이 사용자 기기의 백그라운드에 있을 때는 알림이 시스템 트레이로 배달됩니다. 알림을 탭하면 앱이 열립니다. 약간의 코드로 손쉽게 핸들러를 추가하여 앱이 포그라운드에 있을 때 메시지를 수신하고, 포그라운드 액티비티를 시작하는 등의 방법으로 메시지에 응답하도록 할 수 있습니다.
Google I/O 2016의 이 강연에서는 Firebase 알림에 대해 짚어보고 콘솔이 어떻게 작동하는지, 그리고 앱이나 사이트에 알림을 구현하기 위한 코드 작성이 얼마나 쉬운지 보여주었습니다.

Firebase 알림으로 세계 곳곳을 여행하는 고객들을 쉽사리 사로잡은 Busbud

Busbud는 버스 여행 예약 웹사이트로, 세계적으로 매주 천만 명이 넘는 여행자들이 여행을 떠나도록 돕고 있습니다. 이 사이트에서는 사용자가 수천 개의 도시와 버스 노선을 운행하는 수백 개의 버스 회사 티켓을 검색하고 서로 비교해보고 구입할 수 있습니다. 이 사이트는 알림을 통해 사용자들에게 관련된 변경 사항을 알려주고 할인 코드와 판촉 행사를 이용해 그들을 다시 재구매 고객으로 끌어들입니다.
사용자들은 Firebase 알림을 사용하여 3분 이내에 푸시 알림을 전송, 수신, 확인할 수 있었습니다. 이를 위해 그들이 한 일이라고는 Firebase 라이브러리를 사용해 앱을 다시 컴파일한 것이 전부였습니다. 그 다음부터는 단 한 줄의 코드로 사용자들에게 특정 언어, 대상 또는 주제의 메시지를 보낼 수 있었습니다.
“Firebase 알림을 통해, Busbud는 유지 관리하고 싶지 않던 불필요한 코드를 버릴 수 있고 그 덕분에 사용자 참여를 추적하면서 콘솔을 통해 아주 간단히 새로운 표적 알림을 보낼 수 있었습니다. Firebase 알림은 Busbud 앱을 버스 여행자들의 좋은 벗으로 만들어주는 강력한 도구입니다.” - Jean Baptiste Morin, Busbud 책임 모바일 개발자

Firebase 알림 문서 및 Android와 iOS에서의 예를 볼 수 있는 Google 개발자 사이트를 방문하면 Firebase 알림에 대해 더 많은 것을 아실 수 있습니다.

웹사이트에서 사용자를 특정한 장소로 데려가는 URL의 개념에 대해 모두 잘 알고 계실 겁니다. 여기서 더 나아가, 모바일에서는 사용자가 모바일 앱 내부의 특정한 지점으로 이동할 수 있게 해주는 URL이 소개되었습니다. 바로 우리들 대부분이 알고 있는 딥 링크 라는 개념입니다.

딥 링크라는 발상은 꽤 설득력이 있는데, 그 이유는 이해하기 쉽습니다. 단 하나의 URL로 사용자들을 곧장 여러분의 앱으로 보낼 수 있을 뿐만 아니라 앱 안의 정확한 위치로 보낼 수 있기 때문이죠. 여러분이 개발한 앱의 새 기능을 홍보하는 이메일 캠페인에서 단 한 번만 클릭하면 사용자들이 곧장 그 새 기능이 있는 곳으로 갈 수 있다고 상상해 보세요. 또는 사용자가 웹사이트에서 "Try our app" 버튼을 누르면 바로 해당 앱으로 연결될 뿐 아니라 애초에 그 사용자에게 앱을 설치할 마음을 품게 해준, 웹사이트 상의 콘텐츠로 곧장 안내해 준다고 생각해 보세요.

하지만, 유감스럽게도, 앱 안으로의 딥 링크는 완벽하지 않습니다. 동일한 링크가 iOS 및 Android 앱을 모두 가리키도록 하기란 어려운 일입니다. 게다가 사용자가 앱을 설치하지 않았다면 이 둘이 각각 다르게 작용하거나 그냥 링크가 끊어질 수 있습니다. 가장 중요한 점은, 대상 사용자가 먼저 앱 스토어에서 앱을 설치해야 한다면 원래 링크의 컨텍스트가 종종 손실되며 사용자는 맞춤화된 환영 화면 대신 일반적인 홈 화면을 대하게 된다는 사실입니다.


이러한 문제들을 해결하기 위해 Firebase 동적 링크 기능을 만들었습니다. 사용자가 iOS 또는 Android 앱을 설치한 경우에는 단 한 개의 링크로 사용자를 해당 iOS 앱이나 Android 앱으로 보낼 수 있습니다. 사용자가 앱을 설치하지 않은 경우에는 사용자에게 앱 스토어나 Google Play의 적절한 목록을 보여 줄 수 있습니다. 이런 링크들은 설치 과정 이후에도 존속하므로, 사용자가 앱을 처음 시작했을 때 애초에 사용자를 여러분의 앱으로 인도한 딥 링크 URL을 여전히 불러올 수 있다는 점이 가장 중요합니다.

동적 링크로 코카콜라와 노래 공유

Shazam은 최근에 재미있는 여름철 판촉 행사로, 코카콜라와 파트너 관계를 맺고 사용자들이 각자 좋아하는 곡을 재미있는 립싱크 동영상을 통해 친구들과 공유할 수 있도록 했습니다.

동영상을 받은 친구들은 웹 페이지 안에서 그 동영상을 볼 수 있습니다. Firebase 동적 링크를 구현하기 전에는 이런 웹 페이지에 두 개의 링크가 따로 있었습니다. "Install the app"과 "Make your own video"였는데, 어떤 것을 클릭할지는 사용자에게 달려 있었습니다. 그러나 Firebase 동적 링크를 구현한 후, Shazam은 이 두 개의 링크를 미래의 립싱크 스타를 곧장 앱으로 안내하거나 해당 플랫폼의 적절한 앱 스토어로 안내하는 "Make your own video with Shazam"라는 하나의 링크로 대체할 수 있었습니다.

Shazam이 동적 링크를 사용한 덕분에 앱을 설치한 사용자들은 앱에서 관심 있는 곳으로 직접 갈 수 있었으며, Shazam은 이 같은 종류의 온보딩 흐름을 통해 앱을 설치한 사용자들이 2주일이 지난 후 일반적인 방식으로 앱을 시작한 사용자들보다 15% 더 높은 유지율을 보인다는 사실을 알게 되었습니다.

동적 링크 만들기

Firebase 동적 링크는 즉시 만들 수 있으므로, 앱이나 웹사이트에서 원할 때면 언제든 새 링크가 생성될 수 있습니다. 또한, 팀에서 비기술 업무를 담당하는 구성원이 자신의 링크를 만들고 싶지만 수동으로 URL을 인코딩하는 데 시간을 보내고 싶지 않은 경우 Firebase 콘솔에서 온라인 양식을 이용해서 동적 링크를 만들 수도 있습니다.

Firebase 동적 링크는 Firebase 플랫폼의 일부이기 때문에 Firebase Analytics 등의 다른 기능들과 함께 작동합니다. Firebase 플랫폼은 링크를 클릭한 사람의 수와 같은 기본 정보를 제공할 수 있을 뿐 아니라, utm_ 매개변수를 자동 추적하기도 하므로(이것은 일반적으로 마케팅 팀에서 외부 캠페인에 추가하는 매개변수임), 이런 사용자를 처음에 그곳으로 데려온 캠페인이나 매체별로 중요한 인앱 이벤트를 분석할 수 있습니다.

지금 시작하세요!

Firebase 동적 링크는 무료이고 지금 즉시 사용할 수 있습니다. Firebase 플랫폼을 얼마나 많이 사용하든 적게 사용하든 상관없습니다. 시작하기 위해 아이디어가 좀 필요하신가요? 몇 가지 제안을 드리지요.
  • 모바일 게임의 경우 동적 링크를 생성해서 게임 내에서 특정 레벨이나 재생 장면을 공유하세요. 사용자가 친구들에게 도전해서 똑같은 레벨에서 친구들의 점수를 넘어서게 하거나 캐릭터의 프로필에 링크하도록 해주세요. Firebase 동적 링크는 앱 내에서의 사용자 간 공유에 완벽한 방법입니다.
  • 데스크톱 사용자를 모바일 사용자로 전환하세요! 웹사이트를 보유하고 있는데 사이트 사용자들이 모바일 앱에서도 따라오도록 하고 싶다면, 동적 링크를 사용해서 "휴대폰에서 이 페이지 보기" 기능을 구동할 수 있습니다. 사실 Google Maps의 "휴대폰으로 보내기" 기능은 이와 똑같은 방법으로 SMS나 이메일을 통해 위치를 공유하고 있습니다.
  • 마찬가지로, 사용자가 모바일 기기에서 여러분의 웹사이트를 보고 있는데, 그들이 그 콘텐츠를 여러분의 앱에서 보도록 권하고 싶을 경우, 동적 링크는 사용자가 앱을 실행하여 곧바로 필요한 콘텐츠로 가도록 보장해줄 수 있습니다.
물론, 동적 링크는 최신 이메일, SMS 또는 소셜 미디어 캠페인에도 매우 적합합니다.

Firebase 동적 링크에 대해 더 자세히 알아보려면 여기에서 관련 문서를 확인하고, Firebase 콘솔로 넘어가 시작해 보세요.

게시자: Jason Guo, 개발자 프로그램 엔지니어, Project Tango

Project Tango는 증강 현실(AR) 환경에 생명을 불어넣어 줍니다. Project Tango 앱을 사용하면 실용적인 것에서부터 기발하고 엉뚱한 것에 이르기까지 어떤 가상 물체라도, 새 거실용 가구에서부터 실물 크기의 공룡까지 실제 세계에 배치할 수 있습니다.
지난달에 이미 AR에서 빠르고 쉽게 간단한 태양계를 만드는 방법을 보여드렸었지요. 그렇지만, 더 고급스러운 수준의 기술을 받아들일 준비가 되신 분들을 위해, 아래의 튜토리얼에서 가상의 물체를 실제 세계의 물체와 연계하기 위해 Project Tango의 Depth API를 사용하는 방법을 설명해 드리겠습니다. 또한, 어떤 환경에서 평면인 표면을 찾기 위해 Tango Support Library 함수를 사용하는 방법도 보여드리겠습니다.
그런데 이 새 튜토리얼 프로젝트는 어떤 것이냐고요? 저희는 고양이들이 인터넷을 지배하고 있다고 판단했기 때문에, 가상 고양이를 AR에 배치하기로 했습니다! 개발자 환경은 단순하게 디자인했습니다. 즉, 사용자가 화면 위를 탭하면 앱이 실제 세계의 기하학적 조건을 바탕으로 가상 고양이를 만들어 냅니다. 그런 다음, Depth Camera 를 사용해서 사용자가 탭한 표면을 찾아내고, 고양이를 올바른 3D 위치에 등록(배치)합니다.

고양이를 데려오세요!

시작하기 전에 먼저 Project Tango Unity SDK를 다운로드해야 합니다. 그러면 아래 단계에 따라 자신의 고양이를 만들 수 있습니다.
1단계: 새 Unity 프로젝트를 만들어 Tango SDK 패키지를 프로젝트로 가져옵니다.
2단계: 새 장면을 만듭니다. 새 장면을 만드는 방법을 모르시면 태양계 튜토리얼을 복습해 보세요. 태양계 프로젝트에서와 마찬가지로, 장면에서 Tango Manager와 Tango AR 카메라를 사용하고 기본 Main Camera gameobject를 제거합니다. 이 단계를 마치면 다음과 같이 장면 계층 구조가 구성됩니다.

3단계: 일단 빌드하고 실행하여 애플리케이션이 Tango의 카메라로부터 동영상 피드를 표시하는지 확인합니다.
4단계: Tango Manager gameobject에서 Depth 확인란을 선택합니다.

5단계: TangoPrefab 폴더에서 Tango Point Cloud prefab을 Scene으로 끌어다 놓습니다.
Tango Point Cloud에는 바닥 찾기, pointcloud를 Unity 글로벌 공간으로 변형하기, 디버그 포인트 렌더링하기 등의 유용한  함수들이 많이 포함되어 있습니다. 이 튜토리얼에서는 FindPlane 함수를 사용해서 터치 이벤트를 기반으로 평면을 찾을 것입니다.
6단계: 장면에 UI Controller gameobject를 만듭니다. Hierarchy 탭 아래서 "Create" 버튼을 클릭한 다음 "Create Empty"를 클릭합니다. 이 UI Controller가 (다음 단계에서 만들게 될) UIController.cs 스크립트를 실행하기 위한 호스트 gameobject가 됩니다.
7단계: Inspector 창에서 “UIController gameobject”를 클릭한 다음, "Add Component"를 클릭하여 KittyUIController.cs라는 이름의 C# 스크립트를 추가합니다. 이 KittyUIController.cs가 터치 이벤트를 처리하고, FindPlane 함수를 호출하고, 아기고양이를 장면에 배치합니다.
8단계: KittyUIController.cs 파일을 두 번 클릭하여 스크립트를 아래의 코드로 대체합니다.
using UnityEngine;
using System.Collections;

public class KittyUIController : MonoBehaviour
{
    public GameObject m_kitten;
    private TangoPointCloud m_pointCloud;

    void Start()
    {
        m_pointCloud = FindObjectOfType();
    }

    void Update ()
    {
        if (Input.touchCount == 1)
        {
            // Trigger place kitten function when single touch ended.
            Touch t = Input.GetTouch(0);
            if (t.phase == TouchPhase.Ended)
            {
                PlaceKitten(t.position);
            }
        }
    }

    void PlaceKitten(Vector2 touchPosition)
    {
        // Find the plane.
        Camera cam = Camera.main;
        Vector3 planeCenter;
        Plane plane;
        if (!m_pointCloud.FindPlane(cam, touchPosition, out planeCenter, out plane))
        {
            Debug.Log("cannot find plane.");
            return;
        }

        // Place kitten on the surface, and make it always face the camera.
        if (Vector3.Angle(plane.normal, Vector3.up) < 30.0f)
        {
            Vector3 up = plane.normal;
            Vector3 right = Vector3.Cross(plane.normal, cam.transform.forward).normalized;
            Vector3 forward = Vector3.Cross(right, plane.normal).normalized;
            Instantiate(m_kitten, planeCenter, Quaternion.LookRotation(forward, up));
        }
        else
        {
            Debug.Log("surface is too steep for kitten to stand on.");
        }
    }
}

코드 보충 설명

다음은 위의 코드에 대한 몇 가지 참고 사항입니다.
  • m_kitten은 Kitten gameobject에 대한 참조입니다(다음 단계에서 모델을 추가할 것임).
  • m_pointCloud는 Tango Point Cloud gameobject의 TangoPointCloud 스크립트에 대한 참조입니다. FindPlane 메서드를 호출하기 위해 이 참조가 필요합니다.
  • Start() 함수에서 m_pointcloud 참조를 할당합니다.
  • 한 번의 터치가 끝났을 때 Update() 함수에서 터치 횟수와 그 상태를 확인합니다.
  • 고양이를 3D 공간에 배치하기 위해 PlaceKitten(Vector2 touchPosition) 함수를 불러옵니다. 이 함수는 메인 카메라(이 경우에는 AR 카메라)의 위치를 쿼리한 다음, 카메라의 위치와 터치 위치에 근거하여 FindPlane 함수를 호출합니다. FindPlane은 터치 지점에서 추정 평면을 반환한 다음, 그 평면이 너무 가파르지 않다면 고양이를 평면에 배치합니다. 참고로, FindPlane 함수는 Tango Support Library에서 제공됩니다. TangoSDK/TangoSupport/Scripts/TangoSupport.cs에서 모든 기능들을 확인할 수 있습니다.
9단계: 고양이 모델과 몇 가지 간단한 애니메이션이 포함되어 있는 kitty.unitypackage를 다운로드하여 모든 것들을 하나로 합칩니다. 이 패키지를 두 번 클릭하여 프로젝트로 가져옵니다. 프로젝트에 KittyUIController의 Kitten으로 끌어다 놓을 수 있는 Kitty prefab이 있을 것입니다.


10단계: 애플리케이션을 다시 컴파일하여 실행합니다. 화면을 탭하여 아기고양이들을 여기저기 배치할 수 있어야 합니다! 고양이와 AR의 마술이 결합하는 방법을 설명한 이 튜토리얼이 유익했기를 바랍니다. 이 블로그를 계속 주목해 주세요. 앞으로 더 많은 AR 업데이트와 튜토리얼을 소개할 예정입니다!

튜토리얼에 대한 마지막 참고 사항

여러분은 방금 AR에 사는 가상 고양이를 만드셨습니다. 멋지군요. 하지만 코딩 면에서는, 정확히 성능 기준에 맞는 AR 애플리케이션을 만들려면 다음의 추가 단계 몇 가지를 더 수행해야 합니다. 훌륭한 AR 애플리케이션 빌드하기에 대해 더 자세히 배우고 싶으시면 Github의 Unity 코드 예제(특히 증강 현실 예제)들을 살펴보세요. 그리고, 보충 학습이 필요하다면, I/O에서 Project Tango로 6DOF 게임 빌드하기에 관해 다룬 이 강연을 시청해 보세요.

훌륭한 앱을 성공적인 비즈니스로 발전시키려면 앱을 출시한 후에도 해야할 일이 많이 있습니다. 사용자의 피드백에 귀를 기울이고, 새로운 기능들을 테스트하고, 좋은 콘텐츠를 제공해야 합니다. 개발자분들은 Firebase Remote Config를 이용해 이러한 작업을 보다 쉽게 할 수 있습니다.

Firebase Remote Config를 활용해 앱을 재배포하지 않고도, 앱의 모양과 느낌을 변경할 수 있고, 사용자들의 요구에 즉각적으로 대응할 수도 있습니다. 또, 각기 다른 사용자에게 서로 다른 콘텐츠를 제공할 수도 있으며, 이를 활용해 특정  사용자를 대상으로 새로운 기능을 실험하고, 점진적으로 대상 사용자를 늘려갈 수도 있습니다. 여기서 더 나아가, 사용자가 앱을 사용하는 방법에 따라 맞춤화된 콘텐츠를 제공할 수도 있습니다.

Remote Config를 사용해 어떤 일들을 할 수 있는지 한 번 살펴봅시다.

새 버전 출시 없이 앱 업데이트

처음부터 완벽한 앱은 정말 드뭅니다. 앱 내부의  사소한 맞춤법 오류부터, 치명적인 난이도 조절 실패로 아무도 클리어할 수 없는 스테이지, 혹은 시간이 너무 오래 걸려 사용자가 한 숨 쉬게 만드는 애니메이션등등, 앱을 출시 한 후에야 발견되는 문제는 정말 다양합니다. 여태까지는 이 같은 종류의 실수들을 바로 잡으려면 코드 상에서 문제가 되는 부분을 직접 수정한 후, 새로운 버전의 앱을 빌드해서 출시한 다음, 모든 사용자들이 새 버전을 다운로드할 때까지 기다려야 했습니다.

그런데 정말 더 좋은 방법은 없는걸까요? Firebase Remote Config 기능을 활용하면, 앱 내의 주요한 변수들을 Firebase Remote Config 서비스와 연결하고, 해당 값들을 직접 Firebase 콘솔 상에서 빠르고 쉽게 변경할 수 있습니다. 사용자가 앱을 시작할 때, Remote Config 서비스를 통해 새롭게 업데이트된 값들이 자동으로 앱에 적용되고, 개발자 여러분은 직접 앱을 업데이트하지 않고도, 앱의 동작을 변경 할 수 있습니다.


알맞은 사용자에게 알맞은 콘텐츠 제공

Firebase Remote Config 서비스를 이용하면, 특정 사용자 그룹에 맞춰 서로 다른 설정 값을 지정할 수도 있습니다. 예를 들어, 특정 국가에 속한 사용자들을 위한 맞춤화된 값을 설정하거나, iOS와 Android 기기에 서로 다른 데이터 세트를 따로 보낼 수 있습니다.

여기서 더 나아가 Firebase Analytics에서 정의한 Audience를 기준으로 서로 다른 값을 제공할 수도 있습니다. 예를 들어, 이전에 여러분의 앱 내 상점에 방문한 적은 있지만 아직 아무 것도 구입하지 않은 플레이어들만을 대상으로 특별한 프로모션을 진행하고 싶다면, 오직 그 대상만을 위한 Remote Config 값을 만들어 적용할 수도 있습니다.

A/B 테스트 실행 및 점진적 출시

또한, Remote Config의 조건을 통해 임의의 사용자 집합에게 각기 다른 값을 제공할 수도 있습니다. 이 기능을 활용해서 A/B 테스트를 실행하거나 새 기능을 점진적으로 출시할 수 있습니다.

앱에서 새 기능을 출시하려고 하는데 대상 사용자들이 그 기능을 좋아할지 확신할 수 없다면, 코드 내에서 특정 플래그를 이용해 해당 기능을 활성화 하거나 비활성화 하도록 구현할 수 있습니다. 그런 다음, Remote Config를 사용해서 플래그의 값을 연동하면, 이제 앱을 업데이트 하지 않고도, Firebase 콘솔에서 이 값을  변경함으로써 그 기능을 켜거나 끌 수 있습니다. 이 후, 전체 사용자의 10%를 지정하여, "My New Feature Experiment" 조건을 정의한 후, 새로운 기능을 해당 사용자 집합에 대해서만 적용해볼 수 있습니다.  만일 사용자들이 해당 기능을 좋아한다면, 적용 범위를 점진적으로 늘려갈 수 있습니다.

마찬가지로 각기 다른 사용자 그룹에 각각 다른 값을 제공함으로써 A/B 테스트를 실행할 수 있습니다. 인앱 구매 버튼에 "Buy now"와 "Checkout" 중 어떤 것이 사람들이 구매를 완료할 가능성이 더 높은지 확인하고 싶으세요? A/B 테스트를 이용해서 쉽게 확인해 볼 수 있습니다. A/B 테스트의 결과를 추적하고 싶다면 여러분의 실험을 기반으로 Firebase Analytics에서 사용자 속성을 설정하면 됩니다. 그런 다음 이 속성에 따라 Firebase Analytics 보고서를 필터링할 수 있습니다(사용자가 구매 절차를 시작했는지 아닌지 등). 앞으로 나올 A/B 테스트 기능 개선에 관한 뉴스를 놓치지 않도록 이 블로그를 계속 살펴보시기 바랍니다.


엄청난 사용자 유지율 향상

저희의 초창기 파트너들 중 상당수가 이미 Firebase Remote Config를 사용해서 앱 내부에서 여러 가지 변경 사항을 테스트하고 있습니다.
듀크대학교(Duke University)에서 사람들이 더 좋은 생활 습관을 기르도록 돕기 위해 고안한 앱 Fabulous는 시작하기 절차를 실험해서 어떤 방법이 사용자들이 이 앱에서 시작하도록 하는 데 가장 효과적인지 확인하기를 원했습니다. 그들은 이미지, 텍스트, 버튼 레이블 등의 변경에 대해 A/B 테스트를 수행했을 뿐만 아니라, Remote Config를 사용해서 사람들이 어떤 대화 상자를 어떤 순서로 보았는지 판단함으로써 온보딩 절차 전체를 A/B 테스트했습니다.
Fabulous는 Remote Config를 사용해서 실시한 실험 덕분에 온보딩 절차를 완료한 사용자 수를 42%에서 64%로 늘리고, 하루 유지율을 27% 늘릴 수 있었습니다.
연구 결과, 평균적인 앱은 첫 3일 내에 사용자의 과반수를 잃는 것으로 나타났습니다. 따라서 앱의 온보딩 절차를 이같이 개선하고, A/B 테스트를 실시하여 그 효과를 확인하는 것은 앱의 장기적 성공을 보장하는 데 매우 중요할 수 있습니다.

앱이 연결되어 있나요?

Remote Config를 사용하면, 앱에서 바로 사용할 수 있는 기본값들을 제공하고, 기본값과 차이가 있는 값들에 대해서만 클라우드 상에서 내려받습니다. 앱의 주요한 변수들을 Remote Config를 통해 구성할 수 있도록 지원하고, 동시에 네트워크 호출을 가볍게 유지하는 유연성을 제공합니다. 그러니 주저하지 말고 하드코딩한 문자열, 상수, 그리고 AppConstants 파일(괜찮습니다. 우리 모두 하나씩 가지고 있으니까요)을 Remote Config에 모두 연결하세요!

Firebase Remote Config는 Firebase 플랫폼의 일부이며, iOS와 Android에서 모두 무료로 이용할 수 있습니다. 이 서비스에 대해 더 자세히 알고 싶으면 저희가 준비한 문서를 참고하시고, 꼭 Firebase SDK의 모든 기능들을 탐구해 보세요.

게시자: Laurence Moroney, 디벨로퍼 어드보케



Firebase는 모바일 앱 개발을 위한 통합 플랫폼 입니다. 개발자 여러분이 더 좋은 앱을 보다 쉽게 만들 수 있도록 Firebase가 제공하는 핵심 기능 중 하나는 바로 Firebase 클라우드 메시징(FCM)과 Firebase 알림(FN) 입니다.






FCM은 기존 구글 클라우드 메시징(GCM) 보다  발전된 기능 (보다 사용하기 쉬운 클라이언트 SDK, 알림 메세지 전송을 위한 웹 프론트엔드 등등) 을 제공합니다. 물론, 구글은 안드로이드, iOS 그리고 웹에서 기존과 마찬가지로 구글 클라우드 메시징을 계속 지원할 것이며, GCM SDK를 이용하여 구현된 앱들은 앞으로도 정상적으로 동작할 것 입니다. 다만, 앞으로 클라이언트 측의 새 기능들은 FCM SDK에 추가될 것입니다. 이에 따라, FCM으로 업그레이드하실 것을 적극 권장합니다. 여기서 FCM SDK에 대해 더 자세히 알아볼 수 있습니다.


  • FCM은 단일 기기, 기기 그룹 또는 주제 처리 등을 포함하여 여러분이 구글 클라우드 메시징에서 사용하던 모든 기능을 지원합니다.
  • FCM SDK를 사용하면 클라이언트 개발을 간소화할 수 있습니다. 예를 들어 이제는 등록 또는 구독 재시도를 위한 코드를 직접 작성할 필요가 없습니다. 서버에 관해서라면(아직도 서버를 사용하기 원하는 경우), 이전 버전과의 호환성에 문제가 되는 변경 사항은 없습니다. . FCM 서버 문서에서 업데이트된 세부 정보를 보실 수 있습니다.


저희는 Firebase를 구글의 통합 모바일 플랫폼으로 만들기 위해 많은 투자를 하고 있습니다. 또한, iOS와 웹을 포함하여 안드로이드 너머로 메시징 플랫폼을 계속 확장해 나가고 있습니다. Firebase는 처음부터 다양한 플랫폼을 지원하고 있었고, 메시징은 더 좋은 앱을 만들기 위한 핵심적인 기능 중 하나입니다. 따라서, 새롭게 확장된 Firebase에 메시징 기능이 포함되는 것은 자연스러운 방향입니다.

기존의 구글 클라우드 메시징을 Firebase로 통합하면 메시징 기능이 한층 더 유용해질 것이라고 믿습니다. 메시징 서버를 직접 구축 할 필요 없이 Firebase 콘솔에서 직접 앱에 메시지를 보낼 수 있게 됩니다. 구글 클라우드 메시징에서 FCM으로 업그레이드하거나 이에 대해 자세히 알고 싶으면 AndroidiOS 앱을 위한 가이드를 참고하세요.



게시자: Dave Burke, 엔지니어링 부사장


올 늦여름에 소비자들에게 선보일 안드로이드 차기 릴리스에 마지막 손질을 하면서, 최종 안드로이드 N SDK를 포함하는 4번째 안드로이드 N Developer Preview를 릴리스할 예정입니다. 지난 세 차례의 릴리스에 대한 여러분의 지속적인 피드백에 힘입어, 이제 모든 API 역시 최종 마무리되었습니다. 이미 안드로이드 베타 프로그램(android.com/beta)에 기기를 등록하신 분들은 조만간 이 Developer Preview에 대한 업데이트를 받으실 것입니다.

안드로이드 N용으로 앱을 준비하세요.

안드로이드 N용 최종 SDK는 Android Studio의 SDK Manager를 통해 다운로드할 수 있습니다. 이 SDK는 안드로이드 N 플랫폼에서 공식 API를 개발하고 테스트하는 데 필요한 모든 것을 제공합니다. 이 최종 SDK를 설치하고 나면 프로젝트의 compileSdkVersion을 API 24로 업데이트하여 안드로이드 N API로 개발하고 새 플랫폼에서 다중 창 지원, 직접 회신 알림 등의 새로운 기능에 대한 빌드 및 테스트를 수행할 수 있습니다. 또한, 앱의 targetSdkVersion을 API 24로 업데이트하여 안드로이드 N의 변경 사항에 맞추어 앱을 최적화하고 테스트하실 것을 권장드립니다. 앱을 최종 SDK로 설정하는 자세한 방법은 프리뷰 설정을 참조하세요. API 레벨 24에 대한 자세한 내용은 현재 온라인에 게재되어 있는 API 차이점과 업데이트된 API 참조를 확인해 보세요.

안드로이드 N 최종 SDK와 함께 안드로이드 지원 라이브러리도 24.0.0으로 업데이트했습니다. 이 라이브러리를 통해 다중 창 및 PIP 콜백, 새 알림 기능, 직접 부팅(Direct Boot) 지원을 위한 메서드, 새 MediaBrowser API를 이전 버전과 호환 가능한 방식으로 사용할 수 있습니다.

Google Play에서 알파, 베타 또는 프로덕션 채널에 앱을 발표하세요.

이제 최종 API 세트가 마련되어 있으므로 API 24로 컴파일하고 선택적으로 API 24를 대상으로 하는 업데이트를 Google Play에 게시할 수 있습니다. 이제 Google Play 개발자 콘솔에서 알파, 베타는 물론이고 프로덕션 채널에도 API 24를 사용하는 앱 업데이트를 게시할 수 있습니다. 이런 식으로 이전 버전과의 앱 호환성을 테스트하고 Developer Preview 4를 실행하는 기기를 가진 사용자들에게 업데이트를 푸시할 수 있습니다.

업데이트된 앱이 안드로이드 N과 이전 버전에서 모두 잘 동작하는지 확인하기 위해, Google Play의 베타 테스트 기능을 사용, 개발자 프리뷰 사용자를 포함하는 소그룹의 사용자들로부터 조기 피드백을 얻은 다음 업데이트된 앱을 전체 사용자에게 릴리스하면서 단계적인 롤아웃을 진행하는 것이 좋은 방법이 될 수 있습니다.

Developer Preview 4 설치하기

Developer Preview 4에는 지원되는 모든 Preview 기기 및 안드로이드 에뮬레이터에 대해 업데이트된 시스템 이미지가 포함되어 있습니다. 이미 안드로이드 베타 프로그램에 등록하셨다면, 기기로 즉시 Developer Preview 4 업데이트를 받을 수 있습니다. 아직 안드로이드 베타에 등록하지 않은 경우, android.com/beta를 방문하여 여러분이 갖고 계신 안드로이드 스마트폰이나 태블릿을 베타 프로그램에 등록할 수 있습니다. 그러면 곧 이 프리뷰 버전과 이후의 프리뷰 버전을를 자동으로 다운받을 수 있습니다.언제나처럼 이 업데이트 파일을 직접 다운로드하여 수동으로 플래시할 수도 있습니다. N Developer Preview는 현재 Nexus 6, Nexus 5X, Nexus 6P, Nexus 9, Pixel C 기기는 물론, General Mobile 4G[Android One] 기기와 Sony Xperia Z3에서도 사용할 수 있습니다.

지금까지 보내주신 모든 피드백에 감사드립니다. 저희는 올 늦여름에 소비자 릴리스를 목표로 작업하고 있으므로, 계속해서 N Developer Preview 이슈 추적기, N Developer Preview 커뮤니티 또는 안드로이드 베타 커뮤니티에서 피드백이나 요청 사항을 공유해주시기 바랍니다. 안드로이드 N에서 여러분의 앱을 보게 되기를 고대합니다!

Firebase 클라우드 메시징은 Android, iOS 또는 웹에 비용 부담 없이 안정적으로 메시지와 알림을 전달할 수 있는 메세징 솔루션입니다. 예를 들어, 데이타 동기화를 위한 정보라던가, 사용자를 다시 끌어들이기 위한 특별 할인 등 다양한 활용 방법이 있습니다. 메시지를 개별 기기, 기기 그룹 또는 해당 기기가 구독하는 주제에 전송할 수 있습니다.

메세지는 최대 4k에 페이로드 데이타를 갖을 수 있고, 기기에서 중앙 서버나 다른 기기로 업스트림 형식으로 전송될 수도 있습니다.

Firebase 클라우드 메시징은 Google 클라우드 메시징의 뒤를 잇는 솔루션으로, 이미 Google 클라우드 메시징을 사용하고 계시다면 여기에서 선택 가능한 옵션에 대해 자세히 알아볼 수 있습니다.

Firebase 클라우드 메시징을 사용해서 앱 빌드를 시작하기 원하는 분들을 위해 몇 가지 훌륭한 예제를 준비해 두었습니다. Android, iOS 또는 에 대해 소개된 단계를 차근차근 따라 하실 수도 있습니다.

게시자: Laurence Moroney, 디벨로퍼 어드보케

게시자: Mike Procopio(Google Drive 엔지니어링 매니저), Wesley Chun(Google Apps 디벨로퍼 어드보케)

WhatsApp은 전 세계에서 가장 인기 있는 모바일 앱 중 하나입니다. 매일 10억명 이상의 사용자가 이 앱을 통해 420억 개의 메시지, 사진, 동영상을 주고 받습니다. 빠르고 사용하기 쉽고 신뢰할 수 있기 때문입니다.

그런데, 휴대폰을 분실했다거나 다른 것으로 업그레이드하면 어떻게 될까요? 모든 정보를 잃게 되겠지요. 그래서 저희는 WhatsApp 사용자들이 데이터를 백업해 두었다가 새 휴대폰에 WhatsApp을 설치할 때 찾아올 수 있도록 하는 작업을 했습니다. 메시지와 콘텐츠들을 안전하게 저장해두면, 중요한 메세지들을 잃게 될까 염려할 필요가 전혀 없습니다.



10억 사용자를 위한 확장

이 기능을 구현할 때 가장 큰 어려움은 바로 확장성의 문제였습니다. 10억 명이나 되는 사용자들의 데이터를 어떻게 백업할까요? 이 기능이 원래 의도한대로 확실하게 작동하도록 하면서도 사용자들은 이를 알아차리지 못하게 하기 위해 수많은 시도가 이루어졌습니다. 저희는 어떤 방식으로 접근했느냐고요? 먼저 저희는 이 정도의 양을 처리할 수 있는 것으로 입증된 인프라에 의존했습니다. 바로 Google Drive 말이죠. 그 다음, 무엇을 백업할 것인지, 그리고 언제 백업할 것인지를 최적화했습니다. 여기서 관건은 똑같은 파일을 전송하는 대신 새로운 변경 내용만 업로드하는 것이었습니다.

서버 측(백엔드)에서는 바이트 저장소 및 WhatsApp과 Google 사이의 네트워크 호출 횟수 최적화에 중점을 두었습니다. 배포에 관해서는, 배포의 규모와 영향을 최소화하기 위해 몇 개월에 걸쳐 서서히 전개해 나갔습니다.

WhatsApp과 Google Drive의 매끄러운 통합

WhatsApp을 써본 적이 있는 분이라면, 이 앱을 굉장히 쉽게 사용할 수 있다는 것을 아실 겁니다. 따로 계정을 만들 필요가 없고, 암호를 관리하지 않아도 되며, 기억하거나 교환할 사용자 ID도 없습니다. 이는 다시말해 WhatsApp과 통합될 Google Drive도 그와 비슷한 기준이 요구된다는 것을 뜻합니다. 통합된 Google Drive가 마치 WhatsApp의 자연스러운 일부처럼 느껴져야 하고 그것이 WhatsApp 자체인 것처럼 원활하고 빠르고 안정적이어야 합니다.

저희는 Google Drive API를 사용함으로써 이런 기준을 충족할 수 있었습니다. 사용자 이름이나 암호를 입력할 필요가 없고, 앱에서 탭 조작만 몇 번 하면 WhatsApp이 백업을 시작합니다. 모든 개발자에게 공개된 도구와 API를 사용해 통합 작업이 진행되었습니다. Google Drive API를 사용하면 여러분도 손쉽게 원활하고 확장성 있게 Google Drive를 통합할 수 있습니다.

안내 동영상최신 API 사용법을 보여주는 동영상을 보면서 시작해 보세요. 그런 다음, developers.google.com/drive에서 개발자 문서를 참고하여 더 깊이 파고들어 보세요. 여러분이 Drive API를 사용해서 다음에는 무엇을 빌드할지 정말 기대가 됩니다. 저희는 여러분과 함께 확장해나갈 준비가 되어 있답니다!

지난 4월 28일 (목), 구글 코리아에서는 한국의 모바일 개발자분들을 모시고 Google Developers Summit Korea 2016 을 진행하였습니다. Chrome 과 Android 의 기술 담당자들, 그리고 Google Developer Expert (GDE) 분들이 행사에 참석해 Progressive Web Apps 과 Android 의 최신 업데이트를 중심으로 발표해 주셨습니다.

더 많은 한국의 모바일 개발자 분들과 발표 내용을 공유하기 위해 발표 영상을 업로드 하였으니, 모바일 개발자 분들의 많은 관심과 시청 바랍니다.


* 좌측 상단의 버튼을 누르시면 전체 목록 확인이 가능합니다.

여러분은 이번 Google I/O 에서 발표된 Firebase (이른바 불판)에 대해 얼마나 이해하고 계신가요? 성공적인 앱 개발을 위한 필수요소로 발전하고 있는 Firebase 에 대해 좀 더 자세한 내용을 알고 싶다면, 6월 19일 (일)에 개최되는 Google I/O Extended Seoul 을 놓치지 마세요!


Google I/O에서 발표된 주요 제품 중 하나가 바로 새롭게 탈바꿈한 Firebase 였습니다. 기존의 실시간 클라우드 데이타베이스에서 성큼 나아가, 모바일 개발자분들을 위한 통합 플랫폼으로 소개되었고, 사이트도 새롭게 리뉴얼되었으며, 거기에 개발자분들이 더 좋은 앱을 만들기 위해 꼭 필요한 사용자 분석, 알림과 메시징, 테스팅 등 핵심적인 기능들이 추가되었습니다.
6월 19일 (일)에 개최되는 Google I/O Extended Seoul 에 참가하시면 Firebase 와 관련해 아래와 같은 내용을 한자리에서 경험해보실 수 있습니다.


    Firebase 의 핵심 기능들 
    사용자 분석 기능을 어떻게 활용할 수 있는지에 대한 구체적인 팁
    개발 초기부터 구글과 함께 Firebase 를 적용한 말랑 스튜디오의 생생한 Firebase 경험담
    Firebase 의 주요 기능 8가지를 간단한 샘플 앱에 직접 적용할 수 있는 코드 랩


이번 Google I/O Extended Seoul 에서 더 좋은 앱 개발을 위해 Firebase 에 관심가지고 있는 많은 개발자분들을 볼 수 있기를 기대하고 있습니다. 현재 사전등록이 진행되고 있으니 참석을 희망하시는 분들께서는 참가 신청을 서둘러 주시기 바랍니다.


참가신청하러 가기!



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

GDG Korea 페이스북의 Google I/O Extended Seoul 게시글을 여러분의 타임라인에 공유하신 뒤 해당 URL을 GDG Korea 페이스북 메세지로 보내주세요. 총 50분을 선정해 소정의 기념품을 19일 현장에서 드립니다. :)

게시자: Dylan Reid, Elijah Taylor - Chrome OS 소프트웨어 엔지니어

크롬북의 속도, 보안, 단순성은 많은 사용자들을 매료시키고 있습니다.. IDC1에 따르면 올해 1분기에 미국에서 판매된 크롬북의 수량이 Mac을 넘어섰다고 합니다. 이제 Chrome OS는 미국에서 두 번째로 인기 있는 PC 운영 체제가 되었습니다.

구글은 지난 I/O에서 크롬북에서 Android 앱을 지원할 예정이라고 발표했습니다. 즉, 사용자가 자신에게 익숙하고 필요한 앱을 설치하고 사용할 수 있게 된다는 의미입니다. 올해 후반에는 여러분의 Android 앱이 지원할 수 있는 범위가 새 하드웨어 플랫폼과 더 많은 사용자를 대상으로 확대될 것이며, Google Play 생태계가 한층 더 발전할 것 입니다. 개인용, 업무용 또는 교육용에 상관없이 모든 크롬북 사용자가 기존의 풍성한 Android 앱을 이용해 더 많은 일을 더 효율적으로 할 수 있게될 것 입니다. 여러분의 앱이 크롬북에서도 잘 동작할 수 있을지 개발자 여러분은 여기에 설명된 대로 앱을 테스트해 보시기 바랍니다.





올해 후반부터는 개발자가 앱을 출시하기 전에 크롬폼에 앱을 최적화할 수 있을 것입니다. 다음은 이에 따른 몇 가지 이점입니다.
  • 최상의 경험을 위해 Android 앱을 3가지 서로 다른 창 크기로 표시할 수 있습니다.
  • 사용자는 데스크톱 브라우저와 함께 여러 Android 앱을 동시에 실행시킬 수 있습니다. 모든 것은 친숙한 Chrome OS 인터페이스 내에서 가능합니다.
  • 키보드, 마우스, 터치 입력이 서로 매끄럽게 연동됩니다.
  • 사용자가 크롬북에서 Android 알림을 받습니다.
  • Android 앱에서 사용자나 관리자가 설정한 Wifi 또는 Bluetooth 연결 설정을 활용합니다.
  • Files 앱을 통해 Chrome과 Android 앱 간에 매끄러운 파일 공유가 가능합니다.
  • 게임이나 디자인 앱과 같이 요구 수준이 높은 앱의 성능이 뛰어납니다.
개인용 기기로서의 뛰어난 성능과 더불어, 크롬북이 학교와 직장에서 인기 있는 이유 중 하나는 200개 이상의 정책을 활용해 중앙에서 모든 크롬북을 관리하고 구성할 수 있다는 점입니다. 관리자는 동일한 관리 콘솔을 사용하여 크롬북에서 Android 앱을 관리할 수 있습니다. 특정 앱을 허용 목록에 올리거나 사용자에게 푸시 방식으로 설치하도록 하는 기능과 더불어, 관리자가 조직의 구성원들에 대해 선별적으로 앱을 활성화하거나 비활성화할 수 있습니다.

개발자들이 앱을 테스트할 충분한 시간을 갖도록, Google에서는 6월 초에 Asus Chromebook Flip, Chromebook Pixel(2015) 및 Acer Chromebook R11에서 사용할 수 있는 기능을 준비하고 있습니다. 실제 출시와 그 이후에도 저희는 다음 목록에 나와 있는 기기에 대한 지원을 계속 추가할 예정입니다. 앱 테스트를 시작하는 방법은 자세한 지침을 참조하세요.

1 - IDC의 전 세계 분기별 PC Tracker, 2016년 5월

게시자: Andrey Doronichev, Google VR 그룹 제품 관리자

Daydream Labs에서 Google VR 팀은 가상 현실의 가능성을 탐구하고 우리가 배운 것들을 전 세계와 공유합니다. VR 커뮤니티는 아직 초창기이지만 하드웨어, 소프트웨어, 동영상 등을 통해 VR에서 제대로 작동하는 것이 무엇인지 확인하는 긴 여정에 이미 들어섰습니다. 하지만 VR 개발을 더욱 흥미진진하게 만드는 부분은 아직도 탐구할 과제들이 많다는 사실입니다.

앱은 Daydream Labs에서 크게 역점을 두는 분야입니다. 지난해에 우리는 다양한 사례와 상호 작용 디자인을 테스트하는 60여 회의 프로토타이핑을 진행했습니다.  매주 두 개의 새로운 앱 프로토타입을 만들었습니다. 모든 실험이 성공적인 것은 아니지만 각 실험에서 무언가 새로운 사실을 배웁니다.

예를 들어, 어느 한 주에 우리는 HTC Vive 컨트롤러를 드럼스틱으로 사용하는 가상 드럼 키트를 개발했습니다. 그 다음 주에는 VR을 보다 자연스럽고 재미있게 만들기 위한 입력 방법을 토의하면서, “작은 드럼들 중에서 키보드를 만들면 어떨까?” 하고 생각했습니다.


처음에는 드럼스틱이 직접 손으로 작동하는 것보다 더 효율적일 수 있을지 회의적이었지만 결과는 놀라웠습니다. 드럼스틱으로 입력하는 것은 레이저 포인터보다 빨랐고 정말 재미있었습니다! 우리는 분당 단어 수를 추적할 수 있는 게임도 개발했는데, 필자의 경우 분당 50단어라는 결과가 나왔습니다!

Daydream Labs는 이제 막 시작했을 뿐입니다. 이 게시물은 우리가 실험을 통해 배운 것들을 공유하는 시리즈의 시작일 뿐입니다. 앞으로 계속 지켜봐 주시기 바랍니다!

게시자: Nathan Martz, Daydream 제품 관리자

2년 전에 열린 Google I/O에서는 저희가 스마트폰에서 간단하고 재미있는 방식으로 가상 현실을 경험할 수 있는 Google Cardboard를 소개한 바 있습니다. 그 이후로 ExpeditionsJump로 Google VR 제품군을 확장했고, 지난 달 Google I/O에서 고품질 모바일 가상 현실용 플랫폼인 Daydream을 발표했습니다.


Jump—점점 더 많은 제작자가 사용하고 있는 VR 카메라 플랫폼

지난해 I/O에서 우리는 고품질의 VR 동영상을 간단히 제작할 수 있는 Jump라는 카메라와 소프트웨어로 구성된 제품을 발표했습니다. Jump 카메라는 Paramount Pictures, The New York Times, Discovery Communications와 같은 미디어 파트너가 사용하고 있습니다.  WEVR, Vrse, The Secret Location, Surreal, Specular Theory, Panograma, RYOT를 포함한 가상 현실 제작 업체도 이 카메라를 갖고 있습니다. 우리는 더 많은 VR 사용자들이 Jump 플랫폼으로 촬영된 고품질의 몰입형 동영상을 즐길 수 있기를 기대하고 있습니다.

다양한 모양과 크기 및 가격대의 카메라를 지원하기 위해, 현재 Jump 생태계는 새로운 파트너십을 통해 더욱 확장되고 있습니다. 먼저, 우리는 올해 후반기에 출시될 새 4K Action Cam을 기반으로 하는 장비가 Jump 플랫폼을 지원할 수 있도록  Yi Technology와 협력하고 있습니다.

또한, 영화 제작자들이 Jump에 큰 관심을 보이는 것도 알게 되었습니다. 물론 최고의 콘텐츠를 제작하려면 최고 품질의 시네마급 카메라가 필요합니다. 이러한 콘텐츠를 제작할 수 있도록 우리는 IMAX와 제휴하여 고성능의 시네마급 Jump 카메라를 개발 중입니다.

Expeditions—1년 만에 100만 명의 학생들이 체험

작년 5월에 Google에서 Google Expeditions Pioneer Program을 도입한 후로 11개국에서 100만 명 이상의 학생들이 Expedition을 체험했습니다. 이 프로그램을 통해 학생들은 버킹엄 궁전, 그레이트 배리어 리프의 바다 속, 세계에서 가장 높은 빌딩인 두바이의 버즈 칼리파(7학년 Lance Teeselink의 사례)를 포함한 200곳 이상의 장소에서 가상 현실 여행을 체험할 수 있습니다.


곧 AP 통신 및 Getty Images와의 신규 제휴를 통해 학생들이 더 많은 장소를 방문할 수 있게 될 것입니다. 이들 제휴업체는 학생들이 세계에서 무슨 일이 벌어지고 있는지 더 잘 이해할 수 있도록 고해상도 VR 이미지로 현재 사건에 대한 Expeditions 프로그램을 제공할 것입니다.


Daydream—Android 스마트폰에서 고품질 VR 체험

Daydream은 고품질 모바일 가상 현실을 위한 새로운 플랫폼으로, 올 가을 출시를 앞두고 있습니다. 시간이 지나면서 Daydream은 다양한 모양과 크기의 VR 기기를 포함하고 Daydream을 통해 Android 스마트폰에서 고품질 VR을 체험할 수 있게 될 것입니다.

우리는 수많은 스마트폰 제조업체와 협력하여 Daydream 지원 스마트폰의 사양을 만들고 있습니다. 이 스마트폰은 매끄럽고 정확한 헤드 트래킹을 위한 고성능 센서, 흐려지는 현상을 최소화하는 신속 응답 디스플레이, 강력한 모바일 프로세서로 VR을 경험할 수 있게 해줍니다. Daydream 지원 스마트폰은 Android에 내장된 강력한 가상 현실용 최적화 세트인 Android N의 VR 모드를 사용합니다.

Daydream과 함께 우리는 편안한 헤드셋과 직관적 컨트롤러를 위한 참조 디자인도 만들었습니다. 물론 저희도 실제 하드웨어를 만들고 있습니다. 헤드셋과 컨트롤러는 서로 연동되어 풍부한 몰입형 경험을 제공합니다. VR에서 컨트롤러가 어떻게 사용자와 상호 작용하는지 살펴보세요.



개발자를 위한 Daydream

가상 현실의 가장 중요한 부분은 무엇을 경험하는가 하는 것입니다. 몇몇 세계 최고의 제작업체와 게임 스튜디오는 자사의 콘텐츠를 Daydream에 구축하고 있습니다. Play Movies, Street View, Google Photos, YouTube를 비롯하여 여러분이 애용하는 Google 앱도 Daydream을 통해 VR 환경으로 즐길 수 있게 될 것입니다.

오늘 바로 Daydream에 호환되는 컨텐츠 개발 작업을 시작하실 수 있습니다. Google VR SDK에는 이제 C++ NDK가 포함됩니다. Unreal 또는 Unity로 개발하는 경우, Daydream은 기본적으로 두 엔진의 지원을 모두 받게 될 것입니다. Daydream 개발자 사이트를 방문하여 이런 도구들에 액세스할 수 있습니다. 또한, Android N Developer Preview 3에서는 Nexus 6P를 Daydream 개발자 키트로 사용할 수 있습니다.

이는 Daydream의 시작에 불과합니다. 우리는 향후 몇 개월에 걸쳐 이 블로그에서 더 많은 정보를 공유할 예정입니다. VR의 다음 장을 여러분과 함께 만들어 가게 되어 기쁩니다.

Google 태그 매니저는 분석, 리마케팅, 전환 추적 및 기타 다른 유형의 태그들을 웹사이트와 앱 전체에 걸쳐 손쉽게 배치 및 관리할 수 있도록 해주는 도구로 잘 알려져 있습니다. 그리고 iOS 및 Android 모바일 개발자를 위한 Google의 새로운 플랫폼인 Firebase가 도입되면서, 인앱 측정 구성을 위해 태그 매니저와 태그 매니저 360을 사용하기가 그 어느 때보다도 쉽고 강력해졌습니다!

Firebase는 Google의 제품과 서비스를 사용해서 이전보다 훨씬 수월하게 앱을 만들 수 있도록 고안된 통합적인 모바일 개발자 플랫폼으로 확장되었습니다. 그리고 Google 태그 매니저는 Firebase를 통해 제공되는 서비스들 중의 하나입니다! 최신 버전의 태그 매니저와 모바일 앱을 위한 태그 매니저 360은 개발자 및 마케팅 담당자 모두를 위해 확장할 수 있도록 설계되었습니다.

통합 인앱 측정 기기

Firebase의 심장부에는 특별히 모바일 앱을 위해 설계된 무제한 무료 분석용 제품인 Firebase Analytics가 있습니다. 그러나 Firebase Analytics는 단순한 분석 제품이 아니라, 개발자들이 핵심적인 비즈니스 요소부터 상세한 사용자 상호 작용까지, 앱에서 발생하는 그 어떤 것이든 죄다 측정할 수 있는 통합 도구입니다. 따라서 사용자의 인앱 액티비티에 대해 정확히 분석된 정보를 다른 Firebase 기능 및 Google 제품들과 공유할 수 있습니다. 태그 매니저의 경우 이는 Firebase Analytics를 새로운 데이터 계층으로 만들어줍니다. 다시 말해, Firebase Analytics를 사용하는 사람이라면 누구나 코딩을 다시 하지 않고도 즉시 태그 매니저를 이용할 수 있다는 뜻입니다.

Google 태그 매니저와 태그 매니저 360을 사용하려면 Firebase에 등록하고 태그 매니저에 로그인하여 새 Firebase 컨테이너를 설정한 다음, Firebase AnalyticsGoogle 태그 매니저를 모두 앱에 추가하면 됩니다. Firebase Analytics를 사용해 측정하는 모든 것들을 즉시 태그 매니저에서 태그, 트리거 및 변수로 사용할 수 있습니다.

동적 앱 측정

Firebase Analytics는 앱에서 일어나는 일들을 쉽게 측정할 수 있도록 해줍니다. 그러나 이벤트에 레이블을 잘못 지정했다거나 아주 중요한 매개변수를 깜박 잊고 추가하지 않았다면 어떻게 될까요? 태그 매니저 또는 태그 매니저 360을 앱에 추가하면 힘들게 앱 업데이트 과정을 거치지 않고도 측정 설정을 변경할 수 있습니다.

경험해 본 마케팅 담당자들은 잘 알겠지만, 태그 관리 기능이 없으면 아주 기본적인 태그 지정 변경에도 엄청난 시간과 노력을 들여야 하고, 마케팅 팀과 개발 팀 사이에 조정이 이루어져야 하며, 다른 프로젝트로부터 리소스를 끌어와야 합니다. 태그 매니저와 Firebase를 사용하면 측정 변경을 빌드 주기로부터 분리시킬 수 있게 되고, 이를 통해 개발 팀과 마케팅 팀의 협업 방식이 간소화됩니다.

하나의 SDK, 많은 옵션 


Firebase의 목표는 이전 어느 때보다도 앱 개발 및 사용자 행동 측정을 쉽게 만들려는 것이지만, 이것이 어디에나 적용되는 솔루션이 된다는 의미는 아닙니다. 개발자와 마케팅 담당자들은 흔히 다수의 공급업체에서 제공하는 여러 가지 솔루션을 앱에 사용하기로 선택합니다. Google 태그 매니저와 태그 매니저 360은 이렇듯 이질적인 도구들을 이해하는 데 도움이 될 수 있습니다.

Firebase Analytics를 사용하면 단일 도구 세트에 제한될 필요 없이 앱에서 일어나는 일을 측정하기 쉽습니다. Google 태그 매니저와 태그 매니저 360을 통해 원하는 데이터를 선택하여 Google Analytics 등의 Google 분석 도구와 다른 파트너들의 여러 가지 다른 분석 도구로 보낼 수 있습니다. Kochava, Tune, adjust, AppsFlyer, Apsalar 등을 포함한 많은 선도적 앱 기여도 분석 솔루션 공급자와의 태그 공급업체 제휴 관계가 체결된 것을 발표하게 되어 무척 기쁩니다. Google 태그 매니저는 오랫동안 웹 측정에 대해 특정 공급업체에 구속받지 않겠다는 약속으로 잘 알려져 왔으며 모바일 앱에도 이와 똑같은 약속을 하게 되어 기쁩니다. 파트너들에게도 기쁜 소식이지요!

"저희는 Kochava가 항상 최상의 도구와 통합되도록 하여 개발자를 지원하는 일에 열정을 바쳐왔습니다. 그게 바로 우리가 Firebase를 통해 Google 태그 매니저를 위한 간편하고도 강력한 지원을 제공하게 되어 무척 기쁜 이유입니다."
- Charles Manning, Kochava CEO

찾고 계신 파트너를 찾지 못하더라도 걱정하지 마세요. Google에서는 공급업체 태그 템플릿 프로그램을 통해 계속해서 파트너들을 추가하고 있으니까요.

아무 때나 편리한 때에 시작

이미 Google 태그 매니저 또는 모바일 앱을 위한 태그 매니저 360을 사용하고 계시더라도 괜찮습니다. 기존의 컨테이너와 현재의 SDK는 계속해서 원래대로 작동합니다. 그러나 모든 주요 기능 릴리스와 마찬가지로, 가급적 빨리 최신 버전의 모바일 앱용 태그 매니저 360으로, 그리고 이와 함께 Firebase로 업그레이드하는 것이 좋습니다. 그러면 모바일 태그 관리 환경을 최대한 활용하실 수 있습니다.

Google 태그 매니저를 사용할 준비가 되셨나요? 자세한 정보를 알아보고 지금 시작하세요!

게시자: Scott Herman, Google Tag Manager 제품 관리자


게시자: Rahul Roy-chowdhury, Chrome 제품 관리 부사장

웹의 장점 중 하나는 기기나 플랫폼에 상관없이 모든 인터넷 사용자가 정보에 접근할 수 있는 광대한 범위를 지니고 있다는 점입니다. 모바일 기기의 폭발적인 증가로, 웹은 작은 화면에서 훌륭한 사용 환경을 제공하도록 진화해야 했습니다. 이 여정은 몇 년 전에 시작되었는데, 저는 이제는 모바일 웹이 성황리에 영업 중이라고 말할 수 있어 무척 신납니다. 제가 Google I/O에서 모바일 웹 세계의 현황과 AMP 및 PWA(Progressive Web Apps) 같은 새로운 환경을 활용하여 최고의 모바일 환경을 제공하는 방법에 대해 토론한 녹화 자료를 시청해 보세요.




볼 시간이 없으신 분은 뛰어난 모바일 웹 환경구축에 초점을 맞추기 위해 설명한 네 가지 사항을 간단히 정리한 다음 내용을 살펴보세요.

가속화
표현력은 항상 웹의 강점이었지만, 때로는 뛰어난 표현력을 위해 로딩 시간이 오래 걸리거나 매끄럽게 스크롤되지 않을 수 있습니다. 예를 들어, 개발자는 이벤트 리스너를 통해 웹사이트에 사용자 지정 스크롤 효과를 낼 수 있지만, Chrome이 페이지를 스크롤하기 전에 터치 핸들러가 끝나기를 기다려야 하는 경우 쟁크(jank)가 발생할 수 있습니다. 새 패시브 이벤트 리스너 API를 통해 우리는 개발자에게 통제권을 되돌려주었습니다. 개발자는 자신이 스크롤을 처리할 계획인지, Chrome이 즉시 스크롤을 시작할 수 있는지 나타낼 수 있습니다.

속도도 사용자 환경의 개선보다 빠르게 향상되고 있습니다. 연구에 따르면 로드 시간이 3초 이상 걸리는 경우 사용자 중 40%가 소매 사이트를 떠나는 것으로 나타났습니다. 번개처럼 빠르게 웹 페이지를 사용자에게 표시할 수 있도록, Google에서는 AMP(Accelerated Mobile Pages)를 도입했습니다. AMP를 사용하면 페이지를 4배 빠르게 로드하고 최대 10배까지 데이터 사용량을 줄일 수 있음을 확인했습니다. 이미 많은 개발자들이 AMP를 채택하고 있고 640,000개 이상의 도메인에서 AMP 페이지를 서비스하고 있습니다.

참여
개발자는 PWA(Progressive Web Apps)를 통해 사용자에게 첫 순간부터 참여 경험을 제공하는 새로운 기술을 활용할 수 있습니다. 서비스 작업자로 불리는 새로운 API 덕분에, 웹 앱의 모든 중요한 부분을 캐싱하고 사용자가 다음에 다시 열 때 즉시 로드할 수 있습니다. 또한, 사용자가 오프라인 상태이거나 네트워크가 불안정한 경우에도 개발자가 이 캐싱을 통해 빠르고 의미 있는 사용 환경을 계속 제공할 수 있습니다. PWA는 사용자가 홈 화면에 추가할 수 있는 아이콘, 열릴 때의 시작 화면, 주소 표시줄이 없는 전체 화면 환경과 같은 폴리시 요소도 제공합니다.


image 9.gif

JalanTikus Progressive Web App

전환
로그인은 웹에서 가장 흔한 패턴이지만 사용자 중 92% 가 암호를 잊은 경우에 작업을 포기합니다. 이런 어려움을 줄이기 위해 Chrome의 암호 관리자는 월 80억 회 이상의 로그인을 활성화하고 있고, 우리는 Credential Management API를 통해 지원을 확대하고 있습니다. 웹 앱에서는 이 API를 사용하여 암호 관리자와 더 밀접하게 통합하고 로그인 프로세스를 간소화할 수 있습니다.

로그인한 후에도 체크아웃을 완료하는 과정이 복잡할 수 있습니다. 이는 우리가 Web Payment API 및 사용자가 양식을 정확히 채우도록 도와주는 개선된 자동 채우기와 같은 기능에도 투자하는 이유입니다. 우리는 자동 채우기를 사용할 경우 양식이 25% 더 많이완성되어 전환 가능성이 높아진다는 사실을 파악했습니다.

유지
일단 사용자와의 첫 상호 작용이 완료되고 나면 웹에 다시 관여하기 까다로울 수 있습니다. 푸시 알림은 기본 앱에서 이러한 문제를 해결하며, 이제 웹에서도 푸시 API 를 사용할 수 있습니다. 따라서 브라우저가 실행되고 있지 않아도 개발자가 사용자와 다시 연결할 수 있습니다. Chrome에서 매일 100억 개 이상의 푸시 알림이 보내지고, 그 수는 빠르게 늘어나고 있습니다. Jumia는 푸시 알림을 활성화한 사용자가 다른 사용자보다 알림 메시지를 38% 더 많이 열어 보고 장바구니에 담아만 두고 구매하지 않아 삭제되었던 제품 목록을 복구하는 빈도는 9배나 더 많다는 사실을확인했습니다.

    
Jumia 모바일 웹 푸시 알림

성공 사례
개발자들이 이러한 새로운 기술을 채택하기 시작함에 따라, 전 세계에서 성공 사례가 확인되고 있습니다. AliExpress는 세계 최대 규모의 전자상거래 사이트 중 하나로, PWA를 구축하고 나서 신규 사용자의 전환율이 104%까지 증가했습니다. 또한 세션당 74% 더 많은 시간을 사이트에서 보내는 것으로 밝혀졌습니다.

또 다른 훌륭한 예는 인도네시아의 뉴스 제공 서비스인 BaBe로, 그들이 기본 앱에 대한 기능 패리티를 포함한 PWA를 개발하기 전까지 앱 전용이었습니다. 출시 후 그들은 이 앱이 기본 앱보다 훨씬 빠르게 실행되고 각 세션마다 모바일 웹사이트와 기본 앱 모두에서 평균 3분이라는 비슷한 시간을 소비하는 것을 확인했습니다.

특정 PWA 기술 구현만 시작한 개발자도 성공적이었습니다.사우디아라비아의 선두 소매업체인 United eXtra 는 푸시 알림을 구현하고 옵트인한 사용자들의 복귀 비율이 4배로 늘어난 것을 확인했습니다. 또한 이렇게 복귀한 사용자들의 지출이 다른 채널에서 복귀한 사용자보다 100% 더 많았습니다.

이들은 PWA에 대한 투자의 과실을 수확하기 시작한 소수의 비즈니스에 불과합니다. 당사의 파트너가 PWA 기술을 사용하여 모바일 웹 경험을 어떻게 개선하고 있는지 자세히 알아보세요.

Screen Shot 2016-05-17 at 6.06.16 PM.png


YouTube 채널을 구독하여 Google I/O에서 모든 모바일 웹 세션에 대한 최신 정보를 얻으세요. 최신 정보가 준비되는 대로 계속 업로드할 예정입니다. 참석하고 시청해주셔서 감사드리며 특히 귀하의 웹 개발에 감사드립니다!

모바일 광고 환경이 빠른 속도로 발전하면서 개발자들에게 수익 창출에 도움이 되는 아주 다양한 광고 형식을 제공해주고 있습니다. 요즘은 소비자들이 버스를 기다리는 동안 모바일 기기를 사용하고 있을 때, 집에서 '나만의 시간'을 즐기고 있을 때, 또는 그 밖의 숱한 상황에서 동영상 광고를 보고, 광고를 클릭 합니다.

하지만 모바일 기기는 화면이 작습니다. 디자인이 형편없는 콘텐츠나 사용자가 거의 예상하지 못할 때 앱의 흐름에 끼어드는 콘텐츠는 사용자를 실망시킬 수 있는데, 이 점은 광고도 마찬가지입니다. 네이티브 광고는 모바일에서 좀 더 원활한 광고 환경, 즉 광고가 앱 디자인의 모양 및 느낌과 일치하는 환경을 만들기 위한 방법으로서 고안되었습니다. 이것은 전혀 새로운 발상은 아니지만, 모든 개발자가 이 목표를 이룬 것도 아닙니다. 오늘날의 네이티브 광고 솔루션 중 상당수가 구현하는 데 많은 리소스를 필요로 하며  유지보수를 위해 지속적인 부담이 될 수 있습니다. 앱의  핵심 기능 대신 광고를 표시하기 위해 기나긴 코드를 쓰고 싶은 사람이 있을까요?

저희는 개발자를 위해 더 나은 네이티브 광고를 만들고 싶습니다. 그래서 오늘, 앱에 네이티브 광고를 더 쉽게 구현할 수 있는 방법인 AdMob 네이티브 광고 익스프레스의 공개 버전 출시를 발표하게 된 것이 매우 기쁩니다.

네이티브 광고 익스프레스를 특별하게 만드는 점:

  • 시작하기가 정말 쉽다. 네이티브 광고 익스프레스 인터페이스에서 이용할 수 있는, 미리 정의된 여러 가지 템플릿 중에서 하나를 선택하고 그것을 자신의 필요에 따라 사용자 지정하면 5분 안에 아주 멋진 네이티브 광고를 만들 수 있습니다. 그래서 '익스프레스'인 것입니다. 앱에 구현하는 코드를 최소한으로 유지할 수 있습니다. 배너 광고를 요청할 때 추가하는 것과 같은 분량에 불과합니다.
  • 순식간에 라이브 광고가 된다. 네이티브 광고를 빌드하기 시작한 당일에 광고를 내보낼 수 있습니다(앱 스토어에서 앱이 승인되는 즉시). Google의 스마트 기술을 통해 맞춤형 광고의 타당성을 검사하여 광고가 Google의 지침을 준수하고 사용자들에게 훌륭한 경험을 제공할 수 있도록 도와 드립니다.
  •  최적화. 앱 코드를 다시 쓸 필요 없이 네이티브 광고 익스프레스에서 AdMob 인터페이스를 통해 광고 템플릿을 사용자 지정, 수정, 리디자인하고, 변경한 것을 미리 보고, 네이티브 광고를 내보내세요. 이제는 더 이상 최적화에 막대한 시간이 필요하지 않으므로, 어떤 것이 자신의 앱에 가장 좋은 네이티브 광고인지 쉽게 알아낼 수 있습니다. 베타 버전 네이티브 광고를 사용하는 어떤 퍼블리셔들은 같은 앱에서 다른 광고 형식을 사용할 때보다 4배 높은 CTR을 확인했습니다. 

네이티브 광고 익스프레스 인터페이스를 사용하여 광고 크기 선택 및 색상 맞춤 설정
Linghit Limited나 Cheetah Mobile 등, 수백만 명의 사용자를 보유하고 있는 개발사들이 이미 AdMob 네이티브 광고를 사용해서 성공을 거두었습니다. Linghit Limited는 이 회사의 중국 만년력 앱 Shunli를 통해 수익을 올리는 한편, 이 앱의 명성 높은 사용자 환경을 유지할 수 있는 방법이 필요했습니다. 그들은 AdMob 네이티브 광고 익스프레스를 구현했고, 그 결과 일일 광고 수익이 100% 증가했으며, 광고가 방문자에게 보여진 횟수도 114% 증가했습니다.
“네이티브 광고는 보다 직관적이어서 저희는 앱에서 눈에 잘 띄는 곳에 광고를 배치했죠. 광고 백엔드의 정보에 근거하여 사용자 클릭율에 미치는 효과를 실시간으로 확인할 수 있었습니다. 네이티브 광고를 신속하게 조정해 광고 효과를 극대화할 수도 있었어요.” 
Jinnee Lee, Linghit Limited 부사장
Cheetah Mobile은 이 회사의 인기 앱 Battery Doctor에 AdMob 네이티브 광고를 구현한 후 수익이 4배로 오른 것을 확인했습니다.

Cheetah Mobile의 인기 앱 Battery Doctor에서의 AdMob 네이티브 광고

Linghit Limited와 Cheetah Mobile이 어떻게 네이티브 광고를 이용해 앱에서 수익을 올렸는지, 이  동영상 사례 연구에서 자세히 알아보세요. 아직 사용자들에게 네이티브 광고를 보여주지 않고 있다면, 네이티브 광고 익스프레스로 시작하기를 참고해 보세요.

또한, AdMob이 현재 1백만 이상의 앱에서 사용되고 있다는 소식을 전해드리게 되어 기쁩니다. 많은 iOS 및 Android 개발자들은 사용자들이 사랑하는 앱을 빌드하고 그로부터 수익을 올리기 위해 AdMob에 의지하고 있습니다. Google 광고주 입장에서는, Google의 거대한 앱 네트워크가 곧 마케팅 담당자들이 모바일 기기를 사용하는 잠재고객들에게 더 많이 다가갈 수 있다는 것을 의미합니다.

게시자: Pasha Nahass, 제품 관리자, 모바일 앱 광고

게시자: Jamal Eason, Android 제품 관리자




Google I/O 2016에서 Android Studio 2.2 Preview 버전이 공개되었습니다. 빠르고 효율적인 Android용 통합 개발 환경(IDE)을 제공하는데 중점을 두고 진행된 대규모 업데이트입니다. Android Studio는 플랫폼과 동기화되어 개발되었으므로, 개발자가 최신 안드로이드 API와 기능을 사용하여 앱을 개발할 수 있습니다.


3년 전에 Google I/O에서 Android Studio를 출시한 이후, 우리는 개발자가 가장 원하는 기능에 대해 많은 피드백을 받았습니다. 현재 Google Play에서 활동하는 상위 125위 내에 드는 앱/게임 개발자 중 92%와 전 세계 수백만의 개발자들이 Android Studio를 사용하고 있습니다. 저희 팀은 Android 개발자가 더욱 효율적이고 생산적으로 개발을 진행할 수 있는 기능들을 계속 구현하고 싶습니다.
Android Studio 2.2 Preview에는 새로운 방식의 사용자 인터페이스 디자인에서 앱 빌드 및 디버깅에 이르기까지 전반적인 개발 과정을 더욱 효율적으로 만들 수 있는새로운 기능이 추가되었습니다.


디자인
  • Layout Editor: 앱에서 레이아웃을 시각적으로 디자인할 수 있는 새로운 사용자 인터페이스 디자이너. 레이아웃 청사진 모드와 새로운 속성 패널을 통해 레이아웃과 위젯을 더 빠르게 편집할 수 있습니다.
  • Constraint Layout: Android Studio 상에서 여러 레이아웃을 중첩시키지 않고 복잡한 UI를 표현할 수 있는 강력하고 유연한 새로운 레이아웃 입니다.
  • Layout Inspector: 에뮬레이터나 기기에서 실행되는 앱 레이아웃의 스냅샷을 손쉽게 디버깅할 수 있습니다. 뷰 계층 구조 및 해당 특성을 자세히 살펴볼 수 있습니다.
개발
  • Firebase 플러그인: Firebase가 제공하는 일련의 서비스를 살펴보고 적용할 수 있습니다. 몇 번의 클릭만으로 분석, 인증, 알림, AdMob과 같은 서비스를 추가할 수 있습니다.
  • 개선된 코드 분석: Android Studio는 코드 품질을 검사합니다. 260개의 lint 체크, Java 8 언어 사용에 대한 새 코드 품질 검사, 그리고 더욱 효율적인 파일 간 분석을 위한 검사 인프라를 포함합니다.
  • Samples Browser: 이제 Android 샘플 코드 참조가 더욱 쉬워졌습니다. 코드 편집기 창 내에서, Google Android 샘플 내부의 코드 조각을 직접 찾아보고 참조할 수 있습니다.
  • 개선된 C++ 지원: 이제 Gradle이 아니라 ndk-build 또는 CMake를 사용하는 기존 C++ 프로젝트도 편집, 빌드 및 디버깅 할 수 있습니다. 또한 기존 lldb C++ 디버거는 하나의 디버거 프로세스를 사용하여 Java 언어와 C++ 런타임을 모두 검사할 수 있도록 더욱 강력해졌습니다.
  • IntelliJ 2016.1: Android Studio 2.2는 JetBrains IntelliJ의 모든 최신 업데이트를 포함합니다.
빌드
  • Jack 컴파일러 개선: 주석 처리에 대한 지원은 물론, 빌드 시간 단축을 위한 증분 빌드가 추가됩니다.
  • 병합된 매니페스트 뷰어: 프로젝트 빌드 후에 AndroidManifest.xml이 어떻게 구성되는지 쉽게 살펴볼 수 있습니다.
테스트
  • Espresso Test Recorder: 일반 사용자처럼 앱을 사용하여 Espresso UI 테스트를 간단히 기록합니다. 앱 UI를 클릭하면 재사용 및 편집 가능한 테스트 코드가 자동으로 생성됩니다. Continuous Integration 환경이나 Firebase 테스트 랩에서 생성된 테스트를 실행할 수 있습니다.
  • APK Analyzer: APK를 분석하여 APK 크기 축소, 64K 메서드 제한 문제 디버깅, Dex 파일 내용 보기 등의 기능을 제공합니다.


Google I/O ‘16: Android 개발 도구의 새로운 기능
새로운 기능 상세 분석 Layout Editor

Android Studio 2.2에는 새로운 사용자 인터페이스 디자이너가 있습니다. 많은 개선 사항들이 있지만 몇 가지 주요 개선 사항을 소개하면 다음과 같습니다.
  • 색상표에서 디자인 화면이나 앱의 구성 요소 트리 뷰로 위젯을 끌어다 놓습니다.
  • 디자인 화면에는 레이아웃의 간격과 배치를 검사할 수 있는 청사진 모드가 있습니다.
  • 이제 속성 패널에 한 번의 클릭으로 전체 고급 속성 시트를 통해 위젯을 빠르게 편집할 수 있도록 선별된 속성 집합이 표시됩니다.
  • UI 빌더에서 메뉴와 시스템 기본 설정 파일을 편집할 수 있습니다.
Android Studio 2.2 Preview의 새로운 Layout Editor


새로운 Layout Editor의 편집 메뉴


Constraint Layout

이 새로운 레이아웃을 이용해, 여러 레이아웃을 중첩시키지 않고 복잡한 사용자 인터페이스를 구성할 수 있습니다. 지원 라이브러리로 제공되며, Android Studio의 Layout Editor를 통해 쉽게 사용할 수 있습니다. API 레벨 9 이상의 디바이스를 지원합니다.


얼핏 보면, Constraint Layout은 RelativeLayout과 비슷해 보입니다. 하지만 Constraint Layout은 Studio에서 사용하도록 개발되었고 더 적은 수의 View를 가지고도 효과적으로 복잡한 레이아웃을 구성할 수 있습니다. 마지막으로, 자동 제약 조건 추론 엔진이 기본 제공됩니다. 원하는 대로 자유롭게 UI를 디자인하고 힘든 작업은 Android Studio에게 맡기면 됩니다.


개발자가 손쉽게 시작할 수 있도록, 이제 Android Studio 2.2 Preview의 New Project Wizard에서 기본 제공되는 템플릿으로 Constraint Layout을 생성할 수 있습니다.  또는 새 Layout Editor에서 아무 레이아웃이나 마우스 오른쪽 버튼으로 클릭하고 Convert to ConstraintLayout 옵션을 선택해도 됩니다. 릴리스는 UI 디자이너 및 Constraint Layout의 초기 프리뷰로, 후속 릴리스에서 개선된 기능들을 신속히 추가할 예정입니다. Android Studio 도구 사이트에 대해 자세히 알아보세요.


Constraint Layout


Layout Inspector

새 레이아웃과 기존 레이아웃의 경우, 레이아웃이 예상대로 렌더링되는지 판별하기 위해 앱 UI를 여러 번 디버깅할 필요가 있었습니다. 새 Layout Inspector를 사용하면, 앱의 뷰 계층 구조를 세부적으로 탐색하고 화면에서 UI의 각 구성 요소의 특성을 분석할 수 있습니다. 이 도구를 사용하려면 Android 모니터 창에서 Layout Inspector 아이콘을 클릭합니다. 그러면 Android Studio가 탐색할 앱의 현재 뷰 계층 구조의 스냅샷을 자동으로 생성합니다.
Layout Inspector


Firebase 플러그인

Firebase는 개발자가 고품질 앱을 개발하고, 사용자 기반을 넓히고, 더 많은 돈을 벌 수 있도록 뒷받침하는 새로운 개발자 서비스 제품군입니다. Android Studio 내에서 새 Assistant 창을 사용하여 신규 또는 기존 Android 앱에 Firebase를 추가할 수 있습니다. Firebase 기능에 액세스하려면 Tools 메뉴를 클릭한 다음 Firebase를 선택합니다. 여기에서 Android Studio 내의 Firebase 통합에 대해 자세히 알아보세요.


Android Studio용 Firebase 플러그인


Code Sample Browser

Android 샘플을 가져오는 것 외에, Code Sample Browser는 Android Studio 2.2 Preview 내에서 프로젝트에 현재 강조 표시된 기호에 따라 Google이 제공하는 고품질 Android 코드 샘플을 찾을 수 있게 해주는 메뉴 옵션입니다. 이 기능을 사용하려면 코드에서 Variables, Types 및 Methods를 강조 표시한 다음 마우스 오른쪽 버튼을 클릭하여 Find Sample Code에 대한 상황에 맞는 메뉴를 표시합니다. 하단의 출력 상자에 결과가 표시됩니다.   
Code Sample Browser


CMake 및 NDK-Build

Android NDK 사용자들을 위해, Android Studio는 이제 기존 빌드 파일에서 Gradle을 가리키는 방식으로 CMake 및 NDK-Build Android 앱 프로젝트 빌드를 지원합니다. cmake 또는 ndk-build 프로젝트를 Gradle에 추가하면, 편집 및 디버깅을 위해 Android Studio에서 자동으로 관련 Android 코드 파일이 열립니다. CMake 사용자의 경우, Gradle 파일의 externalNativeBuild 섹션에 CMList.txt 파일의 경로를 추가합니다.
Android Studio의 CMake 빌드


NDK-Build 사용자의 경우, Gradle 파일의 섹션에 *.mk 파일의 경로를 추가합니다.
Android Studio의 NDK-Build
개선된 Jack 툴체인

Jack 툴체인은 Java 언어 소스를 Android dex 바이트코드로 컴파일합니다. Jack 컴파일러를 사용하면, 모든 Android 버전에서 람다와 같은 일부 Java 8 언어 기능을 사용할 수 있습니다. 또한, 증분 빌드 지원이 추가되고 주석 처리가 지원됩니다. Jack으로 증분 빌드를 사용하려면 build.gradle 파일에 다음을 추가하세요.


Jack 증분 컴파일 옵션 활성화



Jack은 클래스 경로에서 주석 프로세서를 자동으로 적용합니다. 주석 프로세서를 apk에서 번들링하지 않고 컴파일 시 사용하려면 다음의 새로운 annotationProcessor 종속성 범위를 사용합니다.

Jack 주석 처리 활성화
병합된 매니페스트 뷰어

이제 Android Studio에서 빌드 유형, 버전 및 변형에 따라 AndroidManifest가 종속성과 병합되는 방식을 더 쉽게 이해할 수 있습니다. AndroidManifest.xml로 이동하여 새 Merged Manifest 하단 탭을 클릭합니다. AndroidManifest의 각 노드가 어떻게 다양한 프로젝트 종속성과 융합되는지 알아봅니다.  
병합된 매니페스트 뷰어


Espresso Test Recorder

때로는 UI 테스트 작성 과정이 지루할 수 있습니다. Espresso UI 테스트 기록 기능으로, 이제 테스트를 생성하는 것이 앱을 사용하는 것과 마찬가지로 쉬워졌습니다. Android Studio는 모든 UI 상호 작용을 캡처하고 로컬에서 실행하거나 Firebase 테스트 랩에서도 실행할 수 있는 완전 재사용 가능한 Espresso 테스트로 변환합니다.  레코더를 사용하려면 Run 메뉴로 이동하여 Record Espresso Test를 선택합니다.


Espresso Test Recorder


APK Analyzer

새 APK Analyzer를 통해 APK에서 다양한 구성 요소의 콘텐츠와 크기를 파악할 수 있습니다. 또한, 이를 사용하여 Dex 파일에서 64K 참조 메서드 제한 문제를 방지하고, ProGuard 구성 문제를 진단하고, 병합된 AndroidManifest.xml 파일을 보고, 컴파일된 리소스 파일(resources.arsc)을 검사할 수 있습니다. 이를 통해 APK 크기를 줄이고 개발자가 기대하는 것들이 정확하게 APK에 포함되도록 할 수 있습니다. APK Analyzer는 원시 파일 크기는 물론, APK에 있는 다양한 구성 요소의 다운로드 크기도 함께 보여 줍니다. 다운로드 크기는 Google Play에서 APK가 제공될 때 사용자가 다운로드해야 하는 예상 크기입니다. 이 정보는 크기를 줄이기 위한 작업의 우선순위를 지정하는 데 도움이 될 것입니다. 이 새로운 기능을 사용하려면 Build 메뉴를 클릭하고 Analyze APK를 선택한 다음 분석하려는 APK를 선택합니다.


APK Analyzer


Java 인식 C++ 디버거

N 버전 이상을 대상으로 실행되는 C++ 코드를 디버깅할 때, 이제는 Java 언어를 인식하는 단일 lldb 인스턴스를 사용할 수 있습니다. 이 디버거는 빠른 단계 및 메모리 감시점과 같은 뛰어난 lldb 기능을 계속 지원하면서도 Java 언어 중단점에서 멈추고 Java 언어 메모리 내용을 볼 수 있습니다.


자동 디버거 선택

이제 Android Studio 앱에서 “Auto” 디버거 유형을 사용할 수 있습니다. 이 옵션은 적합한 디버거를 자동으로 활성화합니다(활성화된 경우 Java 언어 인식 C++ 디버거, 그렇지 않은 경우 C++ 프로젝트용 하이브리드 디버거).  Java 언어만 사용하는 프로젝트에서는 계속 Java 언어 디버거를 사용할 것입니다.
C++용 자동 디버거 사용
다음 단계 다운로드

이전 버전의 Android Studio를 사용하고 계시다면 탐색 메뉴의 Canary 채널에서 업데이트를 확인할 수 있습니다(도움말 → 업데이트 확인[Windows/Linux] , Android Studio → 업데이트 확인[OS X]). 이 업데이트는 새 버전을 다운로드하고 Android Studio의 기존 복사본을 패치하지 않을 것입니다. canary 릴리스 사이트에서 Android Studio 2.2 Preview를 다운로드할 수도 있습니다.


Android Studio 2.2 Preview의 경우, 새 canary와 함께 안정적인 버전을 실행하는 것이 좋습니다. 두 버전을 동시에 실행하는 방법은 도구 사이트를 참조하세요.


어떤 점이 마음에 드는지, 어떤 문제나 기능에 대해 알고 싶은지 피드백을 보내주시면 감사하겠습니다. Google+ 페이지Twitter에서 저희 Android Studio 개발 팀과 계속 소통하시기 바랍니다.