FiLMiC Pro Tutorial: Shoot Video with iPhone and Android like a PRO!

-이 비디오에서 우리는 완전한 단계별로 보여주는 FiLMiC Pro 튜토리얼 DSLR과 유사한 설정 잠금 해제 방법 iPhone 또는 Android 스마트 폰 카메라에서 정확하게 사용하는 방법 프로처럼 동영상을 촬영할 수 있습니다 저기, Primal Video의 저스틴 브라운입니다

우리는 기업가와 비즈니스 소유자를 돕습니다 비디오로 비즈니스와 브랜드를 강화하십시오 네가 여기 새로운 사람이라면, 구독 버튼을 클릭하십시오 우리가 언급 한 모든 것에 대한 모든 연결 고리 이 비디오에서 당신은 아래의 설명 상자에 링크 된 찾을 수 있습니다 그래서 그것에 뛰어 들어 봅시다

FiLMiC Pro는 최고의 선택 중 하나입니다 최고의 iPhone 및 Android 카메라 앱 다양한 기능을 갖추고 있습니다 즉시 DSLR과 유사한 설정을 잠금 해제합니다 iOS 또는 Android 카메라에서 그래서 언뜻 보면 거기에 거대한 범위의 기능이 있습니다 그것은 확실히 압도적 일 수 있습니다

기본적인 이해와 간단한 과정만으로, 당신은 비디오를 촬영 놀라운 결과를 얻을 수 있습니다 귀하의 안드로이드 또는 귀하의 아이폰과 함께 이제 우리는 FiLMiC Pro 둘러보기를 조금만 마쳤습니다 그 이후로 큰 변화가있었습니다 그래서이 비디오에서 우리는 완전한 업데이트를 할 것입니다 우리는 필요한 모든 것을 다 커버 할거야

놀라운 결과를 얻기 시작하고 시작하기 최신 FiLMiC Pro 버전을 단계별로 제공합니다 그리고 당신이보고있는 동안, 의견에 대해 알려주십시오 당신의 최고의 카메라 설정은 무엇입니까? 당신은 당신의 아이폰이나 안드로이드에서하지 않고 할 수있는? 그리고 한번보세요 나머지 커뮤니티도 게시하고 있습니다 그 아래에 항상 금괴가 있기 때문에

추가 보너스로, 우리가 연습을 끝내면, 보너스 팁을 보여 드리겠습니다 촬영을 쉽게 모니터링 할 수있는 방법 휴대 전화의 리어 카메라로 촬영하는 동안, 그래서 너에게서 멀어지는 사람 이걸로 모든 것을 쉽게 할 수 있습니다 좋아, 이제 우리는 FiLMiC Pro에있다 자,이 인터페이스를 보면, 바로 박쥐에서, 당신은 오른쪽에 볼 수 있습니다, 우리는 오디오 바를 가지고 있습니다

따라서 볼륨을 얼마나 크게 볼 수 있습니까? 우리 녹음에 다가 가고 있습니다 또한 실제로 오디오가 들어오고 있다는 것을 알 수 있습니다 가지고있는 훌륭한 도구입니다 동영상을 만들려면 그 확신을 얻었습니다 오디오가 실제로 작동하는지 확인하십시오

먼저 인터페이스를 살펴 보겠습니다 정말 빨리 큰 레코드 버튼이 아래쪽에 있습니다 재생 버튼과 설정도 있습니다 여기에 배터리 표시등이 있습니다

저장 용량 표시기도 함께 표시되므로 둘 다 남았습니다 시간 코드 나 카운터가 있습니다 녹음하는 데 걸리는 시간을 보여줍니다 여기에 초당 현재 프레임이 있습니다 거기에 비디오 화질이 표시됩니다

그래서 당신은 현재 K에 대해 초당 25 프레임을 볼 수 있습니다 그 다음 하나, A 일부 고급 촬영 옵션입니다 그게 A가 의미하는 것이 아니라고 확신합니다 그러나 거기에서 당신은 정점 같은 것들을 얻을 것입니다, 다른 디스플레이를 얻을거야 촬영하는 동안 FiLMiC Pro에 오버레이 할 수 있습니다

좀 더 고급 컨트롤을 얻으려면 그 다음 하나, 둥근 원, 그것은 표적처럼 보입니다 집중력과 노출을 조절할 수있는 곳입니다 그것을 잠그고 모든 것을 수동으로 설정하십시오 그리고 세 가지 색상은 화이트 밸런스를 조정하는 것입니다

또는 샷의 색온도, 보실 수 있습니다 여기에 측면에 표시됩니다 현재 62,500 켈빈 지금 당장 여기있는 모든 것들 앱을 열 때와 똑같습니다 모든 것이 완전히 자동으로 설정됩니다 그래서 내가 권하고 싶은 첫 번째 일은 앱을 열 때 설정으로 이동하는 것입니다 모든 것이 올바르게 설정되었는지 확인하십시오

자 여기에 설정의 힙이 있습니다 그리고 우리는 분명히 그들 모두를 통과하지 않을 것입니다 하지만 나는 가장 중요한 것들을 다룰거야 당신이 설정할 수 있습니다 그래서 당신이 가야 할 첫 번째 장소는 프레임 속도입니다

그래서 우리가 그걸 두드리면 여기에서 볼 수 있습니다 우리는 초당 24 프레임, 25, 30 프레임을 가지고 있습니다 현재 해상도로 선택할 수있는 이 휴대 전화에 설정된 회색으로 표시된 옵션을 볼 수 있습니다 48, 50, 60, 120 및 240에 대해 자, 분명히, 우리가 해상도를 바꾸면, 녹음 품질, 그럼 우리도 통제 할 수있다 프레임 속도를 변경합니다

실제로 초당 30 프레임을 초과하는 것 실제로 슬로우 모션으로 분류 될 수 있습니다 따라서 제작할 대부분의 비디오의 경우, 이 세 가지 프레임 속도 중 하나를 사용하려고합니다 24, 25 또는 30이다 제작할 대부분의 동영상의 경우, 나는 초당 30 프레임을 고집한다고 말할 것입니다 당신이 미국에 있다면

호주 나 유럽에 있다면, 휴대 전화를 초당 25 프레임으로 설정하십시오 이것은 기회를 제거하거나 줄이는데 도움이 될 것입니다 어떤 빛이라도 깜박 거리는 것의 당신의 장면에 있습니다 그래서 저는 지금 호주에 있습니다 그래서 우리는 그것을 25로 설정할 것입니다

그리고 일단 당신이 그것을 선택하면, 화면 어디에서나 탭할 수 있습니다 이전 메뉴로 돌아갑니다 보아야 할 다음 설정은 해상도입니다 이것이 실제 품질입니다 당신이 찍을 파일의 상단에는 다양한 가로 세로 비율이 있습니다

또는 실제로 푸티지를자를 수 있습니다 그래서 정사각형이거나 검은 색 막대가 있습니다 더 많은 영화 스타일의 비디오를 제작하는 경우 그러나 기본값은 16 x 9이어야합니다 하지만 여기서 바꿀 세팅은 그것이 4K 2160p를 말하는 곳입니다 이제 분명히이 전화기로 4K를 지원합니다

그러나 우리는이 결의안을 변경할 수도 있습니다 우리는 3K, 2K, 1080p, 720p 및 540p 자, 이상적으로, 여기에 최소 1080p이지만 휴대 전화에서 지원하는 경우, 그러면 4K까지 올라갈 수 있습니다 분명히 당신에게 더 높은 품질의 비디오를 줄 것입니다 그러나 또한 더 많은 저장 공간을 씹을 수도 있습니다

우리가 두 마리의 새를 가지고있는 것처럼 들린다 백그라운드에서 그래서 당신의 해상도가 결정되면, 4K, 실제 비트 전송률 또는 품질을 선택할 수 있습니다 그 4K 녹음의 우리가 여기서 다시 돌아 가면 경제는 우리가 가지고있는 가장 낮은 품질의 환경입니다

그런 다음 표준 FiLMiC 품질, 극단적 인 FiLMiC 이제 FiLMiC 극한이 최고의 품질입니다 당신이 실제로이 응용 프로그램에서 얻을 수있는, 사실, 많은 경우에 당신에게 줄 것입니다 훨씬 좋은 화질의 비디오 휴대 전화에 기본 제공되는 카메라 앱보다 따라서 사용 가능한 저장 공간이 있다면 당신은 최고 품질의 녹음을 원합니다 휴대 전화의 카메라에서 그러면 당신은 FiLMiC 극단적 인 것을 사용하고 싶습니다

그래서 우리는 그 화면에서 다시 빠져 나올 것입니다 또한 여기에서는 오디오를 제어 할 수 있습니다 그리고 당신은 선택하게됩니다 카메라 마이크를 사용하려면, 또는 외부 마이크가 연결되어있는 경우, 그럼 당신은뿐만 아니라 외부 마이크를 선택할 수 있습니다 그리고 당신은 또한 품질에 대한 통제력을 가지고 있습니다

다시 한 번 오디오 녹음을 시작합니다 이걸 48 킬로 헤르쯔로 두는 것이 좋습니다 그러나 오디오없이 비디오를 레코딩하려면, 그 다음에 당신도 그것을 돌릴 수 있습니다 이걸로 돌아가 자, 앞면 카메라로 전환하고 싶다면, 너도 여기서 그걸 할 수있어

카메라 버튼은 당신을 위해 그것을 바꿀 것입니다 그리고 여기에 옵션도 있습니다 광학 이미지 안정화를 켜거나 끄기 또는 휴대 전화에 내장 된 경우 안정화 모든 설정을 잠근 경우 네가 좋아하는 방식, 실제로 프리셋으로 올 수 있습니다 여기에 프리셋을 저장할 수 있습니다

여기에서는 프리셋에서 볼 수 있습니다 JB 4K에 대한 사전 설정이 있습니다 그래서 그것은 모든 것이 준비된 나의 프리셋이 될 것입니다 4K 레코딩의 최고 품질 이것이 기본값이 될 것이기 때문에 대부분의 녹음에 사용할 예정입니다 따라서 프리셋을 저장할 수 있습니다

1080p, 4K 용으로 저장할 수 있습니다 그것은 정말로 당신이 달성하고자하는 것에 달려 있습니다 만들고있는 비디오로 그래서 우리는 여기서 다시 나가서 다시 여기서 빠져 나갈 것입니다 이제 설정을 완료 했으므로 녹음을 시작하기 전에 다음으로하고 싶은 일 실제 촬영을 설정하는 것입니다 화면에 사각형과 원이 있습니다

여기이 사각형은 실제로 가져올 수 있습니다 당신은 그것을 움직일 수 있습니다 이것은 당신의 초점 광장입니다 그래서 당신이 그것을 떨어 뜨리는 것에 집중할 것입니다 제가 지금 손을 화면 앞에두면, 내가 광장을 내 손에 떨어 뜨리면, 그것은 내 손에 초점을 맞추기 위해 초점을 바꿀 것입니다

이제 우리가 그 사각형을 실제로 누르면, 당신은 그것이 지금 붉어지는 것을 볼 수 있습니다, 내 손을 움직일 때, 그러면 그것은 변하지 않을 것입니다 그 시점에서 초점 포인트가 잠겨 있습니다 따라서 초점을 잠글 수있는 쉬운 방법입니다 그리고 원과 정확히 동일합니다 그래서 동그라미가 당신의 노출입니다

또는 귀하의 촬영 밝기 그래서 내가이 일을 계속하도록 내버려두면, 그에 따라 밝기를 조정할 것입니다 우리가 이걸 여기로 옮기면, 당신은 그것이 총격을 어둡게하는 것을 볼 수 있습니다 내가 다시 여기로 옮기면, 그러면 어디를 가든 조정할 것입니다 다시 탭하면 빨간색으로 보입니다

이제 노출과 초점에 고정되어 있습니다 그 시점에서 그래서 사물이 변하기 때문에, 그것은 자동으로 조정하지 않을거야, 정말 정말 강력합니다 전문적인 비디오 빛이 끊임없이 변하기를 원하지 않는다

카메라를 움직일 때 자동으로 조정됩니다 또는 장면에서 사물이 변할 때 그리고 분명히, 자동으로 돌아가고 싶다면, 그러면 원이나 사각형을 탭하기 만하면됩니다 모든 것이 정상으로 돌아갑니다 그래서이 경우 여기에서 우리가이 장면을 촬영한다면, 우리는 아마 우리의 초점을 잠그고 싶을 것이다

여기 의자에, 그래서 우리는 거기로 옮길거야 그 시점에서 화면을 잠그는 것이 좋습니다 그리고 정확히 같은 노출 그래서 우리는 여기서 의자를 드러 낼 수 있습니다 그래서 조금 더 밝게

일단 우리가 행복해지면 탭하십시오 이제 우리의 총은 그 설정에서 잠겨 있습니다 그래서 이것이 당신이 할 수있는 가장 기본적인 방법입니다 자, 실제로 그것들을 훨씬 더 잘 제어 할 수 있습니다 원이나 사각형을 길게 누를 수 있습니다

고급 옵션을 가져 오려면 또는 당신은이 표적으로 여기 아래쪽으로 내려올 수 있습니다 이 원 안에는 작은 원이 있습니다 우리가 그걸 두드리면, 우리는이 슬라이더를 양쪽에서 모두 볼 수 있습니다 이제 우리는 우리의 노출을 고정 시켰습니다 우리는 실제로 여기 건너 올 수 있습니다

이 슬라이더를 위아래로 스 와이프합니다 우리의 총을 밝게하고 어둡게하기 위해서, 실제로 전화를 걸어 우리가 겪어 온 모습을 봅니다 그리고 똑같은 초점 여기에 초점 슬라이더가 있습니다 수동으로 초점을 맞출 수 있습니다

내가 여기에 손을 넣으면, 내 손에 집중할 때까지 조정할 수 있습니다 그것을 놓아 버려라 그 시점에서 모든 것이 잠겨 있습니다 정말 정말 강력합니다 특히 이러한 컨트롤을 사용하려면 우리 스마트 폰에

마지막 키 설정은 여기에서 나는 또한 당신이뿐만 아니라 자물쇠를 권하고 싶습니다 그래서 우리는 초점을 다했습니다 우리는 노출 또는 밝기를 완료했습니다 그래서 그것들은 변하지 않을 것입니다 마지막 하나는 색온도입니다

수동 모드로 전환 할 수도 있습니다 그게 자동으로 바뀔 수있는 또 다른 문제 야 당신의 장면에서 사물이 변하기 때문에 그래서 구름이 오면, 틀림없이 전체 모양과 느낌을 바꿀 수 있습니다 동영상의 그래서 우리가이 세 개의 동그라미를 여기 아래쪽으로 두드리면, 그러면 여기에서 자동 조정을하는 것을 볼 수 있습니다

우리는 현재 자동 화이트 밸런스 AWB를 사용 중입니다 우리가 그것을 누르면, 우리는 화이트 밸런스에 고정되어 있음을 볼 수 있습니다 우리가 그 자동 읽기에 만족하면, 우리는 이제 그 시점에서 그것을 고정 시켰습니다 자, 분명히 여기에 통제 장치가 있습니다 그 표정을 바꾸기 위해서

우리는 다른 프리셋을 아래쪽에 가지고 있습니다 우리가 순환 할 수 있습니다 그리고 장면이 완전히 바뀌는 것을 볼 수 있습니다 이 프리셋 중 하나를 선택합니다 또한 A 및 B 사전 설정으로 여기에 자신을 저장할 수 있습니다

보려는 방식에 맞게 사용자 정의하십시오 하지만 제가 권장하는 것은 자동 화이트 밸런스입니다 왜냐하면 그것은 정상적으로 꽤 좋은 직업을하기 때문이야 장면이나 장면 분석하기 그 화이트 밸런스가 정확 해지면 그러나 당신은 그것이 당신에게주는 것을 볼 수 있습니다 색온도

현재 약 6,280 읽는 중입니다 그리고 그것은 약간 변동하고 있습니다 그게 자동 조정이야 우리가 이것을 잠그지 않았기 때문입니다 하지만 실제로이 슬라이더를 잡을 수 있습니다

직접 조정할 수 있습니다 그래서 우리가 더 시원한 발사가되고 싶다면, 우리는 그것을 내려 놓고 더 푸른 색을 더했습니다 우리가 샷에 더 많은 온기를 더하고 싶다면, 그러면 우리는 이것을 들어 올릴 것입니다 그리고 일단 당신이 그것을 원할 것 같은 곳에 대해 알게되면, 그 슬라이더를 놓아 둘 수 있습니다 화면을 누릅니다

그리고 당신의 총은 잠겨 있습니다 지금, 분명히,이 발사를 위해, 우리는 여기에 초점을 맞춰서 그것을 설정하고있었습니다 그래서 우리는 여기 화면을 다시 누를 수 있습니다 분명히 우리의 초점을 재조정합니다 다시 소파에

그래서 그것이 얼마나 단순한가입니다 그런 다음, 분명히, 당신이 기록하고 싶을 때해야 할 모든 것 녹음 버튼을 누르는 것입니다 아래 오른쪽 구석에서 아래로, 녹음 타이머가 카운트되고 있음을 볼 수 있습니다 이 앱에 대해 내가 정말로 좋아하는 것 당신이 모니터 할 수 있다는 사실 외에 녹음하는 동안 오디오 그것은 분명히 당신을 보여주는 것입니다 얼마나 많은 배터리가 남았 는가? 얼마나 많은 스토리지를 남겨 두었습니까? 그리고 분명히, 이것들이 우리의 전화이기 때문에, 이것들은 꽤 빨리 다 쓸 수있는 것들입니다

너무 쉽게 만들 수있는 것은 정말 멋진 일입니다 실제로 동영상을 녹화하는 동안 FiLMiC Pro에 대한 간단한 연습입니다 그리고 당신이 알아야 할 모든 설정 최고의 결과를 얻으려면 이제는 Android 기기에서 촬영되었습니다 설정과 모든 것은 완전히 동일합니다

iOS에서도 마찬가지입니다 그래서 그것은 완전한 연습입니다 너가 알 필요가있는 모두에 FiLMiC Pro를 사용하여 훌륭한 결과를 얻기 시작하는 방법 iPhone 또는 Android 기기에서 자, 만약 당신이 이런 비디오를 만들 수 있다면 당신이 카메라에 선물 할 곳 너 혼자서 쏴 버릴거야 그래서 너를 도울 사람이 없어 기본 카메라를 사용하려면, 스마트 폰의 주요 고품질 카메라, 그러면 다소 어려울 수 있습니다

화면이 너에게 멀어지기 때문이다 따라서 모니터하기가 어려울 것입니다 당신이 실제로 녹음하고있는 것, 모든 것이 당신이 원하는 방식으로 보인다 그리고 아무것도 변화가 없다고 실제로 레코딩하는 동안 촬영을 방해하게됩니다 그래서 당신이 이것을 할 수있는 몇 가지 방법이 있습니다

iPhone이 있거나 iOS 기기를 사용하는 경우, FiLMiC Remote라는 앱이있다 이것은 분명히 FiLMiC Pro에 직접 연결될 것입니다 그래서 당신이하는 일은 FiLMiC Remote를 설치하는 것입니다 추가 iOS 기기에서, 아마도 iPad 당신이 가지고있는 경우에는 두 번째 전화 나는 얼마나 많은 사람들이 두 개의 아이폰을 가지고 있는지 알지 못한다

하지만 어쩌면 당신 중 일부는 할 수 있습니다 두 번째 iOS 기기가 앱을 거기에 올려 놓습니다 당신은 무슨 일이 일어나고 있는지 볼 수 있습니다 해당 장치로 전화 화면을 미러링하십시오 또한 제어 할 수도 있습니다

따라서 원격으로 녹음을 시작할 수 있습니다 모든 것이 마음에 드는지 확인하십시오 이제 iOS 기기가없는 경우 또는 여러 개의 iOS 기기, 그러면 Reflector라는 소프트웨어를 사용할 수도 있습니다 그러면 휴대 전화 화면을 무선으로 모니터링 할 수 있습니다 iOS 또는 Android를 Mac 또는 PC 컴퓨터에 연결합니다

이제 우리는 그 과정을 통해 이야기하는 비디오를 가지고 있습니다 반사경 설치 방법 및 작동 원리 훨씬 더 자세하게 나는 그것을 카드에 넣을 것이다 그러나 그 비디오에서, 우리는 또한 당신을 위해 몇 가지 다른 옵션을 다뤘습니다 Reflector 또는 FiLMiC Pro Remote가 작동하지 않는 경우, 그 비디오를 체크 아웃했는지 확인하십시오

거기에 더 많은 옵션이 있기 때문입니다 이제 촬영 된 사진을 분류 했으므로 이제 iPhone 또는 Android 기기를 사용할 차례입니다 궁극의 비디오 제작 강국으로 화면에 링크 된 동영상을 확인하십시오 최고의 비디오 편집 앱 리뷰를보기 두 플랫폼에서 데스크톱과 같은 편집 기능을 제공 할 것입니다 스마트 장치에서 바로

그리고 곧 너를 보자

HOW TO DOWNLOAD AND INSTALL FORZA HORIZON 3 ON ANDROID/IOS AND PC FOR FREE!! By Tech Bhushan

이게 뭐야,이게 내가 할 수있는 건 포자 지평선이다 그래서 오늘 나는 Forza horizon 3을 Android 또는 iOS에서 다운로드하는 방법을 알려 드리겠습니다

이 장치는 당신이 그것을 좋아할지도 모르는 매우 쿨하고 매우 멋진 자동차 레이싱 게임입니다 다운로드 방법을 알아 보도록하겠습니다 처음부터 시작하겠습니다 Android 또는 iOS에서 androidgames4ucom을 검색해 보겠습니다

내 컴퓨터가 열리면 웹 사이트가 열리면 여기서 많은 게임을 찾을 수 있습니다 거기에 많은 게임이 있다는 것을 알 수 있습니다 많은 게임들이 있습니다 좋아, 그렇게 위쪽으로 검색 막대를 얻을 수 있으므로 클릭하여 검색 할 수 있습니다 게임은 GTA 5 또는 csgo를했는지에 상관없이 Forza horizon 3을 검색 할 것입니다

안드로이드 용 Forza horizon 3 다운로드를보고 클릭하십시오 클릭 후 몇 초 기다렸다가 클릭 후 자세히 읽으십시오 더 많이 읽으면이 게임의 정보를 얻고 스크롤 할 것입니다 아래로 내려 가면 다운로드 버튼을 찾은 후 클릭합니다 왼쪽에있는 그것을 클릭하면 우리는 horizonte 'apk 그것을 클릭하면 forza horizon 3과 같이 이미 해당 게임을 설치했습니다

파일에 내가 당신이 비디오를 좋아했기를 바라는 희망의 링크를주었습니다 like leave을 남겨두고 내 채널을 구독하십시오 다음에 시청할 수 있습니다

Migrate your existing app to target Android Oreo and above (Google I/O '18)

[음악 재생] 알았어 "Android 앱 마이그레이션"에 오신 것을 환영합니다

Android O 및 그 너머에 " FRED CHUNG : 안녕하세요 나는 개발자 옹호자 프레드 정입니다 Dan GALPIN : 안녕하세요, 저는 개발자 Galphin입니다 ERIC KUXHAUSEN : 안녕하세요, 저는 개발자 대변자가 아닌 에릭입니다

저는 마이그레이션을 담당하는 리드 소프트웨어 엔지니어입니다 API 26을 타겟팅 할 Google Play 스토어 앱 단 갈린 : 오후에 우리와 함께 해줘서 고마워 마지막 날의 가장 기대되는 세션을 예약하는 곳입니다 우리가 기록하지 않는 재미있는 즉흥적 인 것을 제외하고 죄송합니다

집 시청자입니다 그래서 네가 진짜 여기있는거야 구글 I / O의 대단원 FRED CHUNG : 음, 대단원이 시작됩니다 그렇다면 왜 마이그레이션해야합니까? 많은 이유가 있지만, 무엇보다도 마음에, 특히 Google Play에서 배포하는 경우, 올해 말까지 2018 년 8 월에 새로운 앱이 출시 될 예정입니다 최소한 API 레벨 26 또는 Android 8

0을 타겟팅해야합니다 마찬가지로 앱 업데이트의 경우에도 앱 업데이트가 필요합니다 2018 년 11 월까지 최소 API 수준 26을 타겟팅해야합니다 다시 말해서 앞으로 앱 업데이트 DAN GALPIN : 이제 모든 새로운 Android 버전 중요한 보안을 가져 오는 변경 사항을 소개합니다

성능 향상 및 경험 향상 전체적으로 Android 이러한 변경 사항 중 일부는 명시 적으로 선언 한 앱에만 적용됩니다 타겟 SDK 버전 매니페스트 속성을 통한 지원, 타겟 API 레벨이라고도합니다 실제로 타겟을 사용하여 APK를 업로드하려고하면 SDK가 26 미만이면 친숙한 알림을 볼 수 있습니다 이런 식으로 ERIC KUXHAUSEN : 저는 우리가 여기 있기 때문에 여기 있습니다

Google Play에서 Play 스토어 앱을 계속 업데이트하고 싶었습니다 11 월 마감 이후 프레드 (FRED CHUNG) : 그래서 몇 가지 기본 사항을 빠르게 살펴 보겠습니다 각자 모두 최소 SDK는 가장 낮은 플랫폼 버전입니다

앱이 기꺼이 지원할 것입니다 종종 시장 침투와 관련된 결정입니다 다양한 Android 출시 DAN GALPIN : 컴파일 SDK는 말 그대로입니다 프로젝트가 링크하는 SDK 헤더 및 스텁 라이브러리 ERIC KUXHAUSEN : 중요한 것은 물론, 내가 말하는거야 targetSdkVersion은 플랫폼의 방식입니다

하위 호환성을 보장합니다 즉, 특정 행동 만 취할 수 있습니다 변경 사항은 특정 특정 대상 SDK 버전으로 적용됩니다 FRED CHUNG : 기술적으로 이것은 사실 일 필요가 있습니다 그리고 이것은 전형적이고 권장되는 사례입니다

당신이 아마 걱정하기 때문에, 대략 95 %의 사용자 최신 버전을 대상으로하지는 않습니다 Androids의 버전은 아직 그것을 개선하기 위해 노력하고 있습니다 DAN GALPIN : 목표를 변경하지 않으면 SDK가 버전 26 이상인 경우 런타임 권한과 같은 것을 처리해야하며, AlarmManager가 변경되어 다양한 방법으로 작동합니다 BroadcastReceiver 동작을 처리하려면, 배경 서비스를 피할 수 있습니다 ERIC KUXHAUSEN :하지만 좋은 기회가 있습니다

앱이 네트워크 및 배터리를 낭비 할 것이라는 점, 장치의 경험을 덜 빠르고 유동적으로 만듭니다 프레드 (FRED CHUNG) : 프리 -M 버전에서 마이 그 레이션하는 경우, 더 큰 변화 중 하나는 아마도 지원 일 것입니다 런타임 권한 런타임 권한은 실제로 사용자 개인 정보 보호 및 신뢰에 관한 것입니다 하지만 앱이 민감한 권한을 요청할 수도 있습니다

문맥 그리고 그것은 애플 리케이션을위한 좋은 일이다 누군가 당신의 앱을 설치하지 않기를 원하기 때문에 당신이 허락을 구하고 있기 때문에 하나의 특정 흐름에있는 민감한 정보 앱 내에서 따라서 우선, 모든 권한이 아닙니다 런타임 것들이 간단하고, 이것을 기억하기 쉽습니다 FRED CHUNG : 개발자는 걱정하지 않습니다

사용 권한을 생각할 수 있습니다 사용자는 이러한 광범위한 범주의 측면에서 볼 수 있습니다 그리고 당신이 가지고 있어야 할 첫 번째 질문 앱이 정말로 조항을 필요로하는지 여부입니다 결국 허가를 제거하는 것은 쉽습니다 자, 에릭, Play 스토어 앱에서 어떻게 처리 했습니까? ERIC KUXHAUSEN : 간단합니다

당신이해야 할 일은 앱이 시스템 이미지에 대한 권한을 미리 부여했습니다 FRED CHUNG : 그건별로 도움이 안돼, Eric ERIC KUXHAUSEN : 말하자면, 우리도 시도하고 사용합니다 가능한 한 이들 중 적은 수만큼 DAN GALPIN : 물론, 앱이 아직 준비되지 않았기 때문에 M을 타겟팅한다고해서 사용자가 가서 원하지 않는 권한을 비활성화하십시오

FRED CHUNG : 특별 권한이 있습니다 얻기 위해 사용자를 설정으로 리디렉션해야합니다 예를 들어, 오버레이 창 그리기, 또는 일부 행렬 권한이 될 수 있습니다 같은 화면 캡처 단 갈린 (DAN GALPIN) : 이제 UI의 작업으로, 런타임 권한은 실제로 활동이나 프래그먼트가 필요합니다

onRequestPermissionResult를 재정의 한 방법 자, 이것은 당신의 뷰 레이어, 활동과 파편과 같은 실제로 필요한 모든 사용 권한을 예상한다 다른 층에 의해 자, 대단한 변화가 있습니다 알람에 대해 이야기 해 봅시다

Android의 알람은 두 가지 기본 형식을 취합니다 앱이 스스로 깨어나도록 허용하는 리터럴 알람입니다 실시간 이벤트에 대한 알림을 전달하기 위해 당신을 깨우는 것과 같은 약속 또는 곧 예정된 약속 또는 그들은 일을 스케쥴링하는 방법입니다 앱이 종료 된 후 얼마 후에 발생합니다 Android 초기에는 단일 API였습니다

하지만 KitKat을 통해 AlarmManager가 정확하지 않게되었습니다 명시 적으로 요청되지 않은 한, 향후 작업 일정을 수립 할 때 더 좋습니다 이제 앱이 정확한 시간에 사용자에게 알릴 필요가 있다면, setExact 메소드를 추가했습니다 여기에 우리가 구현 한 곳이 있습니다 KitKat 이상에서이를 호출하는 지원 라이브러리의 메소드

ERIC KUXHAUSEN : Play 스토어에서 정확한 알람을 사용하지 않습니다 앱 우리가 사용하는 알람은 정확하지 않습니다 시스템이이를 더 잘 배치 할 수있게 해준다 배터리 및 시스템 상태

DAN GALPIN : 이제 Android Marshmallow Android를 유휴 상태로 만들 때 경보는 일반적으로 발화합니다 그래서 우리는 명백한 메소드 인 setExactAndAllowWhileIdle을 추가했습니다 알람을 울리면 장치를 깨울 수 있습니다 그리고 우리는 그 지원 라이브러리에 메소드를 구현했습니다 게다가

그리고 실제로 이전 지원 라이브러리를 호출합니다 이전 플랫폼 버전의 setExact 메소드 FRED CHUNG : 그래서 그 박람회가 끝나면, 테이크 어웨이는 꽤 간단합니다 맞습니까? WorkManager를 통해 향후 작업을 GCM 작업으로 옮기는 것을 고려하십시오 WorkManager는 새로운 작업 스케줄링 작업입니다 우리가 시작했다

DAN GALPIN : 이제 WorkManager는 Jetpack의 일부입니다 그리고 당신의 임무를 수행하는 가장 좋은 방법을 선택합니다 API 버전 및 앱 상태와 같은 항목을 기반으로합니다 안정적으로되면 권장 API가됩니다 우리가 무언가를 생각해 내지 않으면 그전에는 더 좋았어

ERIC KUXHAUSEN : Play 스토어에서 우리의 배경을 볼 수있었습니다 작업은 정기적으로 KitKat에서 2 % 더 많은 사용자에게 도달합니다 우리가 Firebase JobDispatcher를 채택했을 때, 단지 알람을 사용합니다 이렇게하면 시스템 상태 및 배터리 사용이 향상됩니다 알람을 사용해야 할 경우 가장 정확한 알람을 사용하십시오 너는 할 수있어

FRED CHUNG : 이제, 가장 정확한 경보, [INAUDIBLE]처럼 15 분마다 사용해야합니다 따라서 당신은 현명하게 그것들을 사용해야 만합니다 DAN GALPIN : 오, 예, WorkManager입니다 그럼 BroadcastReceiver에 대해 다시 이야기합시다 FRED CHUNG : 우리는 BroadcastReceiver에 대해 이야기해야합니까? DAN GALPIN : 우리는 그들에 대해 이야기해야합니다

FRED CHUNG : 그렇게하자 DAN GALPIN : 네 FRED CHUNG : 그래서 BroadcastReceiver, 저는 많은 사람들이 아마 그걸 알 것 같아, 그렇지? 플랫폼에서 알림을 보내고 실행하는 데 사용됩니다 시스템 전반의 이벤트에 대한 응답으로 Android에서 강력한 API를 제공하는 이유 중 하나입니다 서비스

DAN GALPIN : 이제 커다란 힘이 엄청난 책임입니다 그리고 이러한 엔드 포인트의 방식에 대한 응답으로 사용 된 경우 대부분이 더 이상 앱을 시작할 수 없으며, O를 목표로 한 번 이상 FRED CHUNG : 물론, 예외가 있습니다 안드로이드 맞지? 이들 중 상당수는 매우 드물게 발생하지만, 로케일 변경 등 또는 어떤 경우에는 아직 대안이 없습니다

그 (것)들을 필요로하는 apps를위한 방송에, 예를 들면, 그 USB 액세서리 것들처럼 브로드 캐스트 사용을 피하는 방법에 대한 예를 확인해 봅시다 따라서 직장에서는 적절한 실행을 설정하여 그렇게 할 수 있습니다 기준, 네트워크 서비스 요구, 그런 다음 우리는 기능을 가질 수 있습니다 이는 네트워크 상태 변경 수신 대기와 유사합니다

방송 그리고 매니페스트에 이와 같은 코드가 있다면 이전 버전의 Android에서는 연결 변경에 대한 리스너를 비활성화 할 수 있습니다 그냥 사용 안함으로 두십시오 그리고 나서, 당신은 무엇을 할 것입니까? 그런 다음 수신기를 설정하여 PackageManager의 ComponentEnableSetting입니다 ERIC KUXHAUSEN : 또 다른 예외 팩을 마친 후에 많은 작업을 수행해야하는 경우입니다

예를 들어 알람을 다시 예약하거나 업데이트 귀하의 데이터베이스 수신기를 등록 할 수 있습니다 action_my_package_replaced에 대한 매니페스트에서, 그것은 계속 작동합니다 앱을 겨냥한 명시적인 브로드 캐스트 중 하나 DAN GALPIN : 자, 정말로 필요하다면 모든 패키지 업데이트에서 어떤 작업을 수행하려면, 당신은 아마 당신이하지 않기 때문에 action_package_replace_events에서 더 이상 시작할 수 없습니다

그러나 우리는 getChangedPackages라는 API를 가지고 있습니다 앱에서 무엇을 볼 수있게 해주는 패키지는 이전 저장된 일련 번호 이후로 변경되었습니다 지금 인생에서 달리기는 대개 건강합니다 나는 아마 더 많이해야한다 하지만 Android 앱은 가능한 한 작게 운영되기를 원합니다

그리고 게으른 앱은 사실 더 나은 앱입니다 그리고 나는 선언문이나 뭔가를 만들어야한다 프레드, 우리가 실제로해야 할 일이 뭐라고 생각하니? FRED CHUNG : 나에게 좋은 소리 우선, 무엇에 대해 이야기 해 봅시다 그것은 전경에 있다는 것을 의미합니다

완전히 명백하지 않기 때문에 그렇습니까? 다음과 같은 몇 가지 일반적인 경우가 있습니다 앱이 사용자에게 표시되거나 사용자가 볼 때 전경 서비스를 사용하거나 앱이 전경 앱에 묶여있다 그래서 앱도 전경에 있습니다 이 예외적 인 경우에 앱이 보이지 않을 때 배경에 있습니다

표준 서비스를 실행하는 경우, 작업 서비스 또는 BroadcastReceiver 그리고 당신이 O +에있을 때 백그라운드에서 실행할 때 서비스 시작 IllegalStateException이라는 예외를 throw합니다 그것은 좋지 않다 DAN GALPIN : 이제 서비스를 시작할 수 있습니다

앱이 포 그라운드에 있습니다 그리고 그들은 약 1 분 동안 계속 달릴 것입니다 귀하의 앱이 배경으로 된 후에 그리고 이것은 특히 중요합니다 왜냐하면 O에서 시스템은 앱이 보유하고있는 모든 웨이크 잠금 장치 활동과 같은 활동적인 구성 요소가없는 경우 또는 서비스

O를 타겟팅하는 앱뿐만 아니라 모든 앱에 적용됩니다 FRED CHUNG : 앱이 여전히 작동하는 몇 가지 경우가 있습니다 포 그라운드라면 실행할 수 있음 예를 들어 알림에 대한 응답으로 서비스를 시작합니다 액션, 우선 순위가 높은 Firebase Cloud 메시지, 또는 MMS 또는 SMS 배달에 대한 응답으로 이제 몇 가지 솔루션을 살펴 보겠습니다

백그라운드 서비스없이 백그라운드에서 실행됩니다 DAN GALPIN : 우선, GCM 소방 작업을 사용하십시오 – 아! – 백그라운드 작업을위한 WorkManager 이제는 이것에 대한 많은 이유가 있습니다 여러 Android에서 일관된 API 서비스를 만듭니다 예를 들어, 버전

ERIC KUXHAUSEN : 또는 당신이 가진 것에 대해별로 신경 쓰지 않는다면 앱은 플랫폼간에 일관되게 작동하며, 또는 최소한의 작업량으로 O로 이동하려는 경우, JobIntentService를 사용할 수도 있습니다 DAN GALPIN :하지만 진지하게 WorkManager 사용을 고려하십시오 제약 조건을 활용하고 삶을 편하게 만듭니다 ERIC KUXHAUSEN : Google Play 스토어 앱 WorkManager를 사치스럽게 사용하지는 않았지만, 왜냐하면 그것은 아직 존재하지 않았기 때문입니다 그건 우리가 JobScheduler와 Firebase를 사용해야한다는 것을 의미했습니다

JobDispatcher 자, 우리가 처음 배운 것은 Android L에서 JobScheduler를 사용하려면, 당신이 정말로 어떻게 이해하지 못한다면 다음과 같은 경우 알람이 울리며 작동합니다 예상대로 작동하지 않습니다 또한, 대안을 사용하십시오 예를 들어, L과 M의 첫 번째 릴리스에서, JobScheduler는 실제로 당신의 업무를 수행하지 않을 것입니다

동일한 제약 조건이 충족 된 두 개의 작업이없는 한 두 가지 작업을 예약하여이 문제를 해결할 수 있습니다 일치하는 제약 조건 DAN GALPIN :하지만 WorkManager처럼 진지하게 FRED CHUNG : WorkManager ERIC KUXHAUSEN : JobScheduler의 상황이 훨씬 나아졌습니다

M, MR1 이상 그러나, 또 다른 특질은 당신이 최소 대기 시간을 0으로 설정하는 것을 피해야합니다 이것은 오버라이드를 방해 할 수 있습니다 일부 릴리즈의 마감일 재정의 기한은 당신의 일은 일정 기간 동안 계속됩니다

제약 조건이 충족되지 않더라도 DAN GALPIN : 아니면 그냥 사용할 수 있습니다 실제로 작동하지 않는 WorkManager 재정의 기한이있다 하지만 당신이해야 할 일은 두 번째 직업을 예약하는 것입니다 비슷한 기능을 수행하는 워치 독으로 ERIC KUXHAUSEN : 여기에 몇 가지가 있습니다 JobScheduler 또는 WorkManager를 사용할 때 고려해야합니다

Android는 캡 티브 포털과 [INAUDIBLE]을 감지하려고 시도하지 않습니다 조건, 그러나 불완전한 예술이다 또한 Android는 간혹 네트워크 전에 앱을 깨우십시오 앱에서 사용할 수 있습니다 이것이 의미하는 바는 적절한 오류 처리가 필요하다는 것입니다 일자리를 재조정하는 일

Play 스토어에서 지수 백 오프를 추가하면 우리의 일에, 우리는 19 % 더 성공적인 배경 작업을 보았습니다 여기에서 핵심은 시스템이 작동하도록 허용합니다 동일한 작업으로 일정을 다시 잡는 실수를 저지르기 쉽습니다 ID, 시스템 백 오프도 사용합니다 이는 백 오프 속도를 방해하거나 재설정 할 수 있습니다

DAN GALPIN : 또는 WorkManager에서 – 사실, 그래, 그러지 마라 같은 결과가 있기 때문에 프레드 (FRED CHUNG) : PendingIntents를 사용하면 PendingIntent를 변경할 수 있습니다 서비스 대상에서 BroadcastReceiver 대상 이제 작업이 30 초 이내에 실행되면, goAsync를 호출하고 작업을 바로 실행할 수 있습니다

BroadcastReceiver에서, 그건 그렇고, 뭔가를 끝내는 초경량 방법입니다 네트워크 또는 wakelocks가 보장되지는 않습니다 그래서 아직도해야 할 일이 많이 있습니다 DAN GALPIN : BroadcastReceiver에서 일정 잡기 WorkManager를 사용하여 프레드 (FRED CHUNG) : 그렇다면 외부에 즉각적인 사용자가 필요한 시간에 민감한 이벤트를 유발했습니다

관심, Firebase Cloud 사용 고려 앱에 알림 메시지 FCM은 높음 및 보통 우선 순위 메시징을 지원합니다 우선 순위가 높은 메시지의 경우 장치가 졸음에서 깨어 나면 많은 것을 의미합니다 시스템 건강에 좋지는 않을 것입니다 작업이 10 초 이내에 실행될 수 있다면, 바로 실행할 수 있습니다

또는 다음을 사용하여 작업을 예약하십시오 DAN GALPIN : WorkManager 실제로 전경 서비스 요구되거나 요구된다 이상적으로는 사용자가 시작한 작업입니다 오랜 시간 동안 뛰고 싶다

사용자에게 일종의 지속적인 업데이트를 제공합니다 예는지도, 탐색 피트니스 추적, 주악 ERIC KUXHAUSEN : Play 스토어에서 우리는 앱을 복원 할 때 전경 서비스 사용 장치를 설치 한 후 응답 시간이 길기 때문에 OK입니다 사용자 상호 작용 DAN GALPIN :하지만 음악을 듣는 것만 큼 재미있는 것은 아닙니다 FRED CHUNG : 좋은 소식은이 다른 것들이 이미 귀하의 애플 리케이션에 영향을 미칩니다

그러나 아마도 당신은 아직 눈치 채지 못했을 것입니다 그 따라서 Android N에서 새로운 사진 방송 더 이상 발생하지 않지만 TriggerContentUris로 대체 할 수 있습니다 일자리를 구하는 것은 일을 의미합니다 새로운 WorkManager API를 사용하면 다음과 같습니다

DAN GALPIN : 이제 앱이 백그라운드에서 실행중인 경우 Android O + 기기에서 위치 시스템 서비스 앱의 새 위치를 자주 계산하지 않으며, 앱이 더 자주 업데이트를 요청하더라도 백그라운드 앱에 대해서만 전체 Wi-Fi 스캔도 수행됩니다 매시간 몇 번 따라서 더 자주 전화를받는 경우 Wi-Fi 관리자 [INAUDIBLE] 실제로는 캐시 결과 만 제공하면됩니다 이제 사용자 도달 시간을 알아야하는 경우 특정 위치, 지오 펜싱 사용 자, 활성화 될 수있는 지오 펜스는 단지 100 개뿐입니다

그래서 당신이 그것보다 더 많은 사이트를 필요로한다면, 실제로 지역 지오 펜스를 사용할 수 있습니다 필요에 따라 다양한 지오 펜스 세트를 교환 할 수 있습니다 이제, 그것은 말하고 있습니다 – 비컨은 굉장합니다 주변 알림을 사용할 수 있습니다 API

특히 중요합니다 네가 특정 다작의 커피 공급업자라면 ERIC KUXHAUSEN : 배치 버전을 사용할 수도 있습니다 FusedLocationProvider의 최대 위치 업데이트 지정 귀하의 유스 케이스에 수용 가능한 대기 시간

그리고 시스템은 배치 업데이트를 시도 할 것이고, 앱의 빈도가 줄어 들었습니다 이렇게하면 배터리 사용이 최적화됩니다 수동 위치를 사용할 수도 있습니다 이를 통해 앱을 기회주의 적으로 피기 백 가능하게합니다 다른 앱의 위치 업데이트에서 가장 빠른 속도로 업데이트 지정된 간격

하지만 앱의 위치 업데이트가 네트워크와 같은 값 비싼 작업에 묶여 있어야합니다 전화를 걸면, 당신도 그들을 억제해야합니다 FRED CHUNG : 따라서 일괄 배치와 수동적 위치를 통해, 우리는 힘으로 위치 업데이트로 작업 할 수 있습니다 효율적인 방식 다음으로 몇 가지 관련 개선 사항을 살펴 보겠습니다

플랫폼에서 그래서 안드로이드의 과거 여러 버전에서, 우리는 일련의 배터리 최적화 기능을 도입했습니다 백그라운드 작업을 연기하고 제한하는 것을 기반으로합니다 따라서 이미 이들 중 일부에 익숙 할 것입니다 예를 들어, 장치가 도즈 (doze) 장치가 연결되지 않은 경우 및 장치가 연결되지 않은 경우 꽤 오랫동안 사용되었습니다

졸작에서 앱은 보류중인 모든 것을 끝내야합니다 정기적 인 유지 관리 기간의 일부 작업 DAN GALPIN : N +에서 이동 중에 doze가 연장됩니다 장치가 사용자의 주머니에 앉아있을 때와 같은 경우 자, app standby는 M에서 소개되었습니다

세금 제한을 부과하는 곳 앱 사용시 ERIC KUXHAUSEN : 브랜드에 대한 새로운 정보를 알려 드리겠습니다 Android P에서 사용 기반 제한 보다 세분화 된 방식으로 적용됩니다 이전 I / O에서 이미이 사실을 알았을 수도 있습니다 "앱이 사용자의 배터리를 소모시키지 않도록하십시오

" 앱이 앱의 대기 버킷 중 하나에 추가됩니다 사용량에 따라 시스템이 점차적으로 더 많은 제한을 앱에 적용합니다 활성에서 희귀 한 양동이로 이동함에 따라 또한 배터리 절약 기능이 향상되었습니다 사용자가 확장 할 수 있습니다 다른 모든 것보다 배터리 우선 순위를 지정하여 배터리 수명을 늘립니다

이로 인해 기능이 다소 저하되며, 사용할 수없는 위치 요청과 같은 화면이 꺼져있을 때 그러나이 모드는 정말 유용합니다 당신의 장치가 조금 더 오래 지속될 필요가있을 때 FRED CHUNG : 방금 이야기 한 기능 앱의 알람에 부가적인 영향을 주며, 작업, 동기화, 네트워크 액세스 및 FCM 메시지를 표시합니다 그래서 우리는 모든 사람들에게 이러한 시나리오를 철저히 테스트 귀하의 응용 프로그램 내에서

DAN GALPIN : 좋은 소식은이를위한 도구가 있다는 것입니다 예를 들어,이 ADB 명령 장치를 유휴 상태로 만들면서 모든 응용 프로그램을 잠잠하게 만듭니다 ERIC KUXHAUSEN : 애플리케이션 대기를 테스트하려면, 먼저 장치의 연결을 시뮬레이트합니다 그런 다음 get 및 set inactive 명령을 사용할 수 있습니다 앱 대기 상태에서 기기를 가져오고 나가기

FRED CHUNG : 앱 대기 버킷의 경우, 당신은 주어진 꾸러미에 대한 버켓을 가져 와서 설정할 수 있습니다 비슷한 광고 명령 하지만 플러그를 뽑는 것을 기억하십시오 테스트하기 전에 장치 또한이를 수행 할 수있는 프레임 워크 API가 있습니다

마지막으로 배터리 세이버를 테스트하는 명령입니다 한 가지 유의점은 앱의 UI에 어두운 테마가있는 경우, 어두운 테마 사용을 고려해 볼 수 있습니다 배터리 세이버가 전원을 절약하기 위해 추가로 켜지면 OLED 장치 PowerManager를 통해 API로 확인할 수 있습니다 그리고 방송을 듣고 그렇게해라

DAN GALPIN : 그래서, 많은 방법들이 있습니다 백그라운드에서 멋진 앱을 만들기 위해 전경 서비스를 사용하지 않고 WorkManager의 새로운 기능을 활용하십시오 효율적인 위치 전략 사용, 새로운 API 사용, 우리에게 무엇이 아닌지 알려주십시오 피드백을 제출하여 귀하의 요구를 충족 시키십시오

이슈 트래커를 통해 프레드 (FRED CHUNG) : 그래서, 아마 목표를 업데이트하는 중이다 SDKs, 모두 좋다 당신이 그것에있는 동안, 우리는 Android에서 선택한 최신 기능을 확인해보십시오 사용 사례와 관련이 있습니다 예를 들어 알림 채널을 추가해야합니다

귀하의 앱에 O 그렇지 않으면, 음, 알림 그냥하지 않습니다 쇼, 좋지 않을 것입니다 채널을 신중하게 계획하여 사용자가 선택적으로 할 수 있도록하십시오 원치 않는 알림을 끄십시오 DAL GALPIN : 한장 뒤로 젖히십시오

ERIC KUXHAUSEN : Play 스토어가 구현 된 기기에서 알림 채널 지원, 우리는 더 적은 비율의 사용자를 사용할 수 없게됩니다 우리의 모든 통지 DAN GALPIN : 앱에서 반투명 상태 표시 줄을 사용하는 경우, 삽입 된 API를 사용하여 코드에서 상태 표시 줄이 고정되어 있다고 가정하지 않습니다 크기 이제 탐색 서랍을 사용하는 경우, 이것은 실제로 실제로 일반적입니다

이제 P를 타겟팅하면 그 컷 아웃 영역에서 흥미로운 것을하십시오 이제 공익 광고 발표, 당신은 당신의 시스템을 넣을 필요가 없습니다 당신의 유일한 장치에 이미지 한동안 에뮬레이터를 사용하지 않았다면, 그것은 꽤 굉장합니다 최근에는 초고속 로딩에 대한 지원을 추가했습니다

P 개발자가있는 모든 장치에서 AR 지원과 함께 시스템 이미지 미리보기, DisplayCutout 시뮬레이션 가능 개발자 옵션을 통해 이것으로 공익 광고가 종료됩니다 FRED CHUNG : 좋아 그래서, 종횡비 화면 따라서 OEM이 출하하는 추세가되었습니다 16보다 긴 화면이있는 이러한 기기 화면 비율 9

앱이 몰입도 높은 경험을 제공하는지 확인하세요 이러한 화면 기능을 최대한 활용할 수 있습니다 그것은 꽤 굉장하다 따라서 최후의 수단으로 시스템은 여전히 ​​사용자를 제공합니다 지원되는 최대 종횡비를 선언하는 방법

하지만 응용 프로그램 주위에 레터 박스가 표시됩니다 ERIC KUXHAUSEN : 진지하게, 정말로 편지함을 원하십니까? DAN GALPIN : 더 큰 화면에서 책임감이 커집니다 자, 그림 활용을 고려해보십시오 화상 채팅, 영화 재생, 체력 추적 또는 Pokemon Go로 이동합니다 다중 디스플레이 지원은 또한 사용자가 애플리케이션에 대한 활동을 시작하는 방법 두 번째 디스플레이에

그리고 여기서 정말로 고려해야 할 유일한 것 그것이 두 번째 구성을 가지고 있는가? 가장 가능성이 큰 1 년 앱과 다를 것입니다 따라서 애플리케이션 전반에 걸친 가정을하지 않도록주의하십시오 근면 한 구성에 대해 결론적으로 Android 개발 최신 도구 및 API를 사용하여 더 나은 배터리 수명, 더 매끄러운 멀티 태스킹, 최신 하드웨어 및 플랫폼 기능 지원, Jetpack을 활용하여 구축 현대적이고 검증 가능한 아키텍처 고맙습니다

괜찮아 사실, 안돼, 안돼, 안돼 실제로 한 가지 더 있습니다 Android가 실제로 사용을 제한하고 있습니다 개발자 미리보기 1의 일부 비 SDK 인터페이스 그리고 당신은 이것을 보았습니다

우리가 실제로 토스트와 로그 엔트리로 너에게 경고했다 이 방법이 사용 된 경우 그러나 DP2에 대해 테스트한다면, 이 방법 중 일부는 작동을 멈추고, 앱이 다운 될 수 있습니다 따라서 문제가 있으면 테스트하고 파일을 보내주십시오 앱이 할 수있는 어떤 방법도 있다고 생각하지 마라

이러한 방법 이외의 작업 그리고, 당신을 미래에 돕기 위해, 우리는 실제로 StrictMode에 대한 새로운 VM 정책을 추가했습니다 SDK API가 아닌 모든 API를 켜고 감지하는 데 사용할 수있는 사용법은 정말로 중요합니다 이 비 SDK 사용은 실제로 당신의 도서관에서 일어나고 있습니다 그래서 실제로 확인하는 것은 정말 좋은 방법입니다

귀하의 앱은 앞으로도 호환 될 것입니다 우리는 비 SDK의 호환성을 보장하지 않기 때문에 API 그래서 이제 그게 사실입니다 지난 30 일에 관심을 기울이지 않았다면 분, 내 농담이 분명히 필요하기 때문에 괜찮습니다 ERIC KUXHAUSEN : 엔지니어라면 희망이 있습니다

오늘 공유 한 정보 중 귀하의 리뷰가있었습니다 그리고 유용한 정보를 찾길 바랍니다 프레드 (FRED CHUNG) : 그렇다면 PM입니다 26을 목표로 삼아, 계획을 세우는 것은 너무 늦지 않았습니다 팀과 협력하여 필요한 작업량을 파악합니다

그리고 실제로, 우리는 가이드를 준비했습니다 Android 개발자 사이트에서 사람들이 이해하고, 현재 릴리스, 필요한 작업량, 우리는 집합 적으로 생태계를 발전시킬 수 있습니다 고맙습니다 [음악 재생]

Upgrade or Downgrade Gradle FIXED Gradle Sync Failed Error Re download dependency and sync project

먼저 다운로드해야 할 모든 것을 다운로드하십시오 https://gradle

org/releases/을 엽니 다 다운 그레이드하거나 업그레이드하려는 모든 버전을 다운로드하십시오 다운로드 전체 버전 47을 사용하고 있습니다 나는 이미 그것을 다운로드했다 언제 어디서나 추출하고 보관하십시오

이미 내 문서에 넣었 어 안드로이드 스튜디오를 열고 새로운 프로젝트를 만듭니다 "파일"-> "설정"을 열어 gralde를 설정하십시오 "빌드, 예외 및 배포"-> "gradle" 확인 ""사용자 로컬 gradle 배포 " 귀하의 gradle 위치를 부여 나는 그것을 "문서"에 보관 "compiler"로 가서 "on demand on configure"의 선택을 해제하십시오 "파일 열기"-> "프로젝트를 gradle 파일과 동기화" 귀하의 프로젝트가 성공적으로 "Good Bye"

Principles of mobile app design: Delight users and drive conversions – Google I/O 2016

JENNIFER GOVE : 안녕하세요 어떻게 모든이다? 관객 : 좋습니다

제니퍼 GOVE : 좋아 그런 멋진 군중 오늘 내 이야기에 모두와 주셔서 감사합니다 제 이름은 Jenny Gove이고 저는 User Experience Researcher입니다 여기 Google에서

나는 지금 Google에 10 년 동안 이달에 있었는데, 그게 우연이라고 들었는데 [클리핑] 고맙습니다 나는 그것이 우리가 몇 년의 시간과 일치한다고 들었다 I / O 컨퍼런스 개최 그래서 두 주년, 정말 재미 있습니다 그래서 오늘 오후에 우리는 이야기 할 것입니다

훌륭한 앱 개발 및 원칙 수립에 대해 귀하와 공유하고 싶은 모바일 앱 디자인, 그래서 당신은 당신의 사용자에게 훌륭한 경험을 할 수 있습니다 그리고 왜 이것이 중요한가? 글쎄, 중요한 이유는 죄송합니다 각 앱에는 150 만 개가 넘는 앱이 있습니다 우리가 알고있는 상점 거기에는 많은 경쟁이 있습니다

앱이 유용성 결함으로 고통 받기를 원하지는 않습니다 나는 유용성 결함과 사용자 경험 문제를 생각한다 일부 앱의 참여가 부족할 수 있습니다 예를 들어 25 %의 앱과 같은 것을 배웠습니다 때로는 두 번 이상 사용되지 않고 34 %의 앱 11 번 이상 열리지 않습니다

따라서 주변에 이러한 통계가 있습니다 앱 참여 및 재 참여와 관련하여 우리는 그 문제 자체에 대해 많은 연구를하고 있습니다 구글에서 우리가 가지고있는 특정 제품들 그러나 나는 그것이 정말로 우리에게 일하고 있다고 생각한다 우리의 사용자 경험과 우리의 애플 리케이션에서 사용성 문제

그래서 저는 여러분에게 세 가지에 대해 이야기 할 것입니다 남은 얘기들 나는 너에게 경험에 관한 이야기를 할 것이다 최근에 앱을 가지고 있었다 나는 너에게 한 연구에 대해 말할거야

정말 멋진 앱을 만드는 방법을 이해하기 위해 도망 쳤습니다 경험 그리고 저는 몇 가지 원칙을 다룰 것입니다 우리가 온라인으로 발행 한 내용으로 이해할 수 있습니다 앱을 만들기 위해 할 수있는 핵심 사항 더 나은 경험

그리고 그 원칙들 내에서, 나는 너를 위해 많은 자원이있어 뿐만 아니라 그 길을 따라 도울 수 있습니다 그래서 내 이야기 가족과 휴가를 보내고있는 동안 여기에 우리는 플로리다에서 멋진 시간을 보내고 있습니다 저와 저의 파트너이자 아이들입니다

그리고 우리가 휴가를 가기 전에 우리가 머물기 위해 일련의 호텔을 세웠다 그것은 스스로 운전하는 여행이었고 나는 이것들을 미리 예약했다 – 나는 그것을했다 내 노트북에 플로리다에 도착했을 때 많은 호텔이 발견되었습니다 새로운 기술 – 앱을 최대한 활용하기 시작했습니다

구체적으로 – 나에게주기 위해서 나의 여행 중에 정말로 매끄러운 약간의 경험 그들은 내가 체크인 할 수 있도록하는 일을 지금하고 있습니다 내가 도착하기 전에 – 비행기를 타듯이 – 그리고 내가 열 수 있도록 내 방으로 곧장 갈 수있게 해줘 문, 응용 프로그램과 함께

꽤 멋지다 나는이 새로운 것들로 꽤 날아 갔다 그들이 할 수 있었던 일 하지만 내가 휴가를 갔을 때 무슨 일이 있었는지, 체크인 통보가 왔어 내가 뭔가에 일렬로 서있는 동안 이렇게, 테마 파크의 롤러 코스터

그것은 나에게 물었다, 내가 체크인하고 싶어 했느냐? 그리고 나도 나에게 물었다, 나는 자기 자신의 방을 선택하고 싶어했다 또는 나는 그들이 나를 위해 선택할 수있게 했습니까? 음, 내가 예약했을 때 나는 기억한다 텍스트 필드가 있었는데, 나에게 물어 봤어 내가 요청을 받았 더라면 나는 바다가 보였습니다 왜냐하면 저는 다음 호텔에이 아름답고 깨끗한 해변이 있음을 알았습니다

나는 발코니가있는 방을 주문했다 저는이 멋진 경험을 정말로 원했고, 바다를 내려다 보면서 하지만 노트북에서의 경험이 이 앱의 경험으로 바꿀 것입니다 나는 지금 직면했다 나는 그것에 대해 약간 염려했다

그리고 나는 더 나은 기회를 가질 수있을 것이라고 생각했다 내 방을 선택하는 것보다는 그들은 나를 위해 선택합니다 항상 당신 손에 맡기는 것이 더 낫지 요? 그래서 나는 내 방을 선택하기로 결정했다 그들이 나에게 준 것은 휴대 기기에서 꽤 좋았습니다 실제로 효과가있었습니다

나는 그것이보기에 상당히 도전적 일 것 인 것처럼 보인다라는 것을 알고있다 부동산의, 그러나 그것은 아주 잘 작동했다 그들은 분명히 다른 방을 배치했다 그들은 방의 출입 여부를 명확하게 표시했다 하지만 단 한 가지 문제가있었습니다

그리고 그것은 호텔이 어떤 방향으로 향하고 있는지 전혀 몰랐습니다 바다 앞 그래서, 나는 줄을 서 있었고, 알아 내려고 노력했다 어떻게 해결할 수 있을까? 이제 실제로는하지 않은 몇 가지 해결 방법이 있습니다 그 때를 생각해보십시오

Google지도, 어쩌면 Google 이미지를 파악하거나 볼 수도 있습니다 이 경우 호텔은 다소 대칭입니다 그래서, 그것은 매우 까다로울 것입니다 나는 일종의 엄지 손가락 규칙을 사용하기로 결정했다 그리고 내가 생각하기에, 가장 많이 찍은 방을 가진 쪽 아마 바다를 마주하고 있었던 쪽이었다

그래서, 여기 730 방을 선택하기로 결정했습니다 그래서 우리는 호텔에 도착해서 모든 가방을 가져 갔고 너 무슨 일이 일어날 지 알지? 나는 이것 같이 조금 보인 전망을 얻었다 [웃음] 큰 실망 그럼 내가 뭘해야 해? 그런데 나는 다시 모든 길을 가야했다, 다시, 리셉션에 – 나는 내가 생각했다 우회로, 응용 프로그램을 사용하여 – 접수와 이야기

그들은 매우 도움이되었고, lovely 한 호텔이었고, 그것을 고쳤다 나를 위해, 그리고 결국, 우리는 위로 올라 갔다, 다른 마루, 호텔에 들어갔다 나는 전망을 얻었다 그것은 훨씬 더 같았습니다 아름답군, 응? 이것은 실제로 플로리다입니다

바하마처럼 보입니다 정말로, 정말로 멋졌다 그래서 인 – 게스트 서비스는 인간의 개입이 요구되었다 앱이 실제로 제공되지 않았기 때문에 내가 바라는 서비스 너무 잘 했어, 나는 정말로 내가 사용할 수있는이 새로운 기술로 찍은, 그러나 그것이 배달되지 않았기 때문에 그것은 짧아졌다

이 중요한 정보는 나를위한 것입니다 나는지도상의 정보가 필요했다 이 경우에는 바다의 전망이 필요했습니다 약간의 파도 방금 오리엔테이션이 필요했습니다

그래서 나를 위해, 그것은 매우 비판적이었다 이 아름다운 해변에 대한 내 견해, 이 주차장보다 그리고 그것은 훨씬 더 비판적이었을 수도 있습니다 내 휴가에 아주 친애하는 것보다 그것은 클라이언트를위한 이벤트 매니저 예약 일 수 있었지만, 아마 그것은 손님들을 위해 예약 된 사람들이었을 것입니다

결혼식이나 무언가를 위해서 한 가지 교훈은 분명합니다 우리는 개발자와 디자이너로서 전체 흐름을 이해할 필요가있다 우리 사용자가 겪고있는 그리고 그 부분은 부서집니다 이것은 정말로 시원하고 신기술이었습니다

그러나 나는 모든 것을 통해 백 트랙을 정렬해야했다 그 앱이 살 일걸요 날 구해줘 그래서 그 경험을 정말로 이해합니다 처음부터 끝까지

그리고 저는 모바일에서 생각한 것은 그 작은 것들입니다 우리는 우리가해야 할 것을 깨닫지 못한다 그래서 우리가 정말로 이해해야하는 이유입니다 사용자의 관점과 사용자의 경험 그래서, 제 이야기는 그런 것들에 관한 것입니다

그리고 우리가 그들을 어떻게 고칠 수 있는지 내가 너에게 약간의 역사를 알려줄 께 2 년 전, 우리는 많은 경험 특히 모바일 웹의 경우 문제가 많았습니다 사람들을 위해 그래서 우리는 대규모 연구를 수행했습니다

어떤 일이 일어나지 않았는지 이해하려고했습니다 모바일 웹 용으로 올바르게 구현, 우리가 더 잘할 수있는 곳, 우리는 모바일 웹을위한 25 가지 원칙을 발표했다 그것들은 정말로 잘 해냈습니다 사람들은 그것을 일종의 초기 단계로 사용했습니다 더 나은 사용자를 제공하기위한 좋은 방법 모바일 웹에서의 경험

하지만 그뿐 아니라 우리는 사람들이 우리에게 돌아와서 말했습니다 이것은 모바일 웹에 적합하지만 내 앱입니다 내 앱은 어떨까요? 내 앱에 대해 말해 줄 수 있습니까? 그래서 나는 다른 연구를하라는 부름을 많이 받았다 그리고 애플 리케이션에 대한 연구, 그래서 우리가 한 일 이죠 최근에는 연구에서 기본 앱을 살펴 보았습니다

오늘 내가 너에게 선물 할 원리들 그 일의 결과입니다 이 연구에서 우리는 특허를 이해할 수있었습니다 운 좋게 사용자 경험을하게하고, 운 좋게 행복하게 우리는 일부 회사가 더 나은 방법으로 구현 된 것들, 그 특허가 왜 더 잘 작동하는지 이해하십시오 그것들을 당신에게 가져 오십시오

그리고 이것을 잘 이해하는 것이 우리에게 중요합니다 그래서 우리는 원칙에 확신을 가질 수 있습니다 우리가 말하고있는 것, 그리고 너 자신의 제품에이를 구현하는 데 자신감을 가질 수 있습니다 그래서이 연구를하기 위해 우리는 회사와 파트너 관계를 맺었습니다 AnswerLab이라고합니다

그들은 사용자 경험 컨설팅 기반 샌프란시스코 그리고 우리는 그들과 협력하기 때문에 우리가 연구를 원했기 때문에 규모를 조정할 수있었습니다 꽤 큰 규모입니다 모바일에서 100 가지 앱에 대한 상호 작용을 연구했습니다 그래서 이들은 대형 소매점, 소규모 서비스 제공 업체를 통해 우리는 뉴스 앱을 보았고, 우리는 많은 다른 종류를 보았다

식료품 점과 같은 서비스, 여행 서비스, 소매업, 중소기업 우리는이 일환으로 게임을 보지 않았습니다 그것은 의도적으로 이루어졌습니다 왜냐하면 우리는 그것이 약화 될 것이라고 느꼈기 때문에, 또는 희석, 원리 우리는 게임이 아마도 완전히 다른 세트를 가지고 있다고 생각합니다 그걸 제외하고, 우리는 다양한 수직 계열을 조사했습니다

그리고 우리는 샌프란시스코, 시카고, 뉴욕시 이제이 연구에 참여한 103 명의 참가자가있었습니다 그래서 사용성 연구를 위해, 그것은 정말로 크다 그들은 개별적으로 실험실에 들어 왔고, 각각 90 분 동안 따라서 155 시간의 사용성 연구가 가능합니다

그래서, 만약 당신이 밤새도록 그리고 하루 종일 밤새 위로 머물렀다면, 그것은 거의 일주일이 될 것이고, 휴식을 취하지 않을 것이며, 실제로는, 그것은 일주일에 거의 4 주 정도가되었습니다 그래서, 실제로 큰 연구가 있습니다 그래서 우리는이 다른 수직을 커버 할 수있었습니다 그리고이 연구에서 우리는 무엇을 했습니까? 음, 사람들이 연구에 들어갔다 90 분 동안 그들은 정말 6 개의 앱을 사용할 수 있습니다

그것들 각각에 대해 좋은 일을하고 있습니다 그들은 그들과 함께 자신의 휴대폰을 가져 왔고, 그 이유는 우리가 그들을 원했기 때문입니다 전화에 정말 익숙합니다 그리고 우리는 어떤 문제도 원하지 않았습니다 다른 기기이거나 그렇지 않았습니다

뒤로 버튼 또는 그와 비슷한 것에 익숙합니다 그래서 Android는 약 50 %, iOS는 약 50 %를 차지했습니다 그리고 연구에 참여했을 때 우리는 무엇을 했습니까? 그래서, 우리는 다른 작업을하고 다른 시나리오를 설정했습니다 그들을 위해 우리는 그 일을 무언가로 만들기 위해 최선을 다했습니다

그들에게도, 그들이 할 수 없도록, 우리가 부르는 것을, 만족스러운 일을하는 것입니다 가능한 한 빨리 작업을 수행 할 수 있습니다 그들이 할 수있는 한 우리는 그들이 그 일에 관심을 갖길 원했습니다 그래서 우리는 그들이 관심을 갖는 것에 관해 종종 그들과 이야기했습니다

이 예에서 우리는 그들과 대화 할 수 있습니다 좋아하는 음식에 대해 이해하고 이해합니다 먼저 그들로부터 무엇인가, 그 전에 그들이 그것을 주문할 수 있는지를 물어보기 그날 저녁 저녁 그리고 우리는 그들이 큰소리로 말하게했습니다, 사용성 용어로 불리는 것이 무엇인지, 생각대로하는 프로토콜을 사용했고, 우리는 그렇게했습니다 그래서 우리는 그들이 고통의 포인트를 이해할 수 있었다

그들이 다른 업무를 수행 할 때 맞았다 그들이하고있는 일을 어디에서 물건이 원활하게 흘러 갔는지 이해하십시오 그렇게 해본 결과 우리는 데이터를 취했습니다 – 많은 데이터가있었습니다, 당신이 상상할 수 있듯이, 그 많은 유용성 자료 – 우리는 그것을 25 가지 원칙으로 정리했습니다 그래서 이것은 당신이 취할 수 있고 이해할 수있는 것입니다 자신의 앱에 적용 할 수 있습니다

우리는이 원칙들을 6 개의 챕터로 분류했습니다 하지만 내가 그들에게 들어가기 전에, 나는 우리가 실제로이 25 가지를 어떻게 얻었는지 설명합니다 그래서 그것을 25 가지 원칙으로 만들기 위해, 우리는 이것이 넓은 범위의 문제라는 것을 알아야했습니다 우리는 그것을 알아야만했다 상당히 일반적인 문제였습니다

우리는 25 가지 이상의 것들을 만났습니다 앱에서 문제가 있었지만 우리가 가장 큰 문제를 치고 있는지 확인하기 위해, 우리가 더 나은 방법을 구현 될 수있다 승인 그래서, 우리가 가지고있는 다른 장 앱 탐색 및 탐색, 앱 검색, 상거래 및 전환, 등록, 양식 입력 및 유용성 및 이해력 이제 우리는 25 가지 다른 원칙을 가지고 있습니다

하지만 여기서,이 이야기에서, 나는 단지 두 가지 원칙으로 갈 것입니다 각 챕터와 나머지 원칙들 온라인으로 사용할 수 있습니다 나는 또한 당신을위한 자원을 모아 봤다 일부 구현에 도움이되는 당신이 여기서 보는 것들 스크린을 찍을 좋은 시간이 될 것입니다

그것은 당신이 당신 자신의 시간에 들여다 볼 수있는 자원이기 때문에, 더 자세하게 이제 앱 탐색과 탐색부터 시작하겠습니다 따라서이 장은 실제로 사용자에게 내용을 안내하는 것에 관한 내용입니다 그들이 찾고있는, 빨리 그래서 우리는 일련의 핵심 원칙들을 모았습니다

효과적이고 유쾌한 앱 탐색을 만드는 데 도움이됩니다 이제 이들 중 두 가지를 살펴 보겠습니다 따라서 사용자에게 큰 도움이 될 수있는 기능 위치를 자동으로 감지하지만하지 않습니다 위치 기반 작업이 필연적으로 예외없이 현재 위치를 기반으로합니다 우리는 이것을 너무 자주 본 것 같아요

그래서 정말 대단한 일입니다 구현하고 도움을 줄 수있다 사용자가 무언가를 원할 때 끊김없는 경험 위치는 있지만 기본적으로 사람들을 활성화시키는 방법없이 과도하게 적용된 것을 보았습니다 해당 위치를 변경하십시오 그래서이 예에서 누군가 오늘 밤 호텔을 찾고 있습니다

그들이있는 곳 근처의 호텔을 찾고 있습니다 불행히도, 위치를 바꿀 수는 있지만, 그것을하는 유일한 방법은 아마도 설정을 통과하는 것입니다 우리는이 문제를 여행 앱뿐만 아니라, 소매 앱에서도 사용했습니다 우리는 무언가를 찾고 싶어하는 사람들의 유스 케이스를 보았습니다 상점에 있었지만 그 위치는 아마도 부모가 살고있는 곳 근처에서 그 가게 근처에 있었는지 알아 내고 싶었다

부모님 께 그 사실을 알릴 수 있도록 그래서 단지 이것을 제공하는 것입니다, 기본적으로 우리는 우리는 너무 많은 사용 사례를보고 있습니다 시나리오 밖이었습니다 여행에서 우리는 사람들이 나타날 곳을 보았습니다 그들의 교통 수단과 그들이 원했던 호텔 기차역의 다른 쪽 끝에 책을 썼다 라인, 그리고 그들은 지금 호텔을 예약 할 시간이 있었는데, 하지만 그들은 그들이있는 곳에 있지 않습니다

당시 호텔이 필요했습니다 훨씬 더 나은 시나리오는 여전히 사람들이 현재 위치를 사용할 수있게하고, 그러나 그들을 잘 변화시킬 수있는 자원을 제공해야합니다 근본적으로 위대하고 위대한 기술입니다 분명히 당신이 사용하도록 권장하지만, 그것은 과도하게 적용된 종류입니다, 화면의 일부를 사용하지 않고 부동산 사용자가 위치를 변경할 수 있도록합니다 그 자동 감지 위치를 사용하고 싶다면, Google Places API를 사용하면 현재 지원되는 위치를 알아 내려면 우리는 당신을위한 짧은 링크가 있어요

저 재료에 도착하기 위해서 앱 탐색 및 탐색의 또 다른 측면 우리가 애플 리케이션으로 공정한 비트를 본 것은 앱에서 모바일 웹으로 이동합니다 그리고 내가 작성한 방식으로 볼 수 있습니다 이것을하는 것에 문제가 있다는 원칙 그것은 app-to-web 전환이 필요한 곳에, 그래서 그들이 필요한 곳에 마찰이 가해지지 않도록하십시오

그래서 저는 여기 아이디어가 각각의 경우에 정말로 필요하다고 생각합니다 그것을 위해? Google은 여기 Google에서 기술을 만들기 위해 노력하고 있습니다 이 장면을 훨씬 더 부드럽게 만들기 위해 필요한 전환점 그것을하기 위해, 그러나 현재, 우리는 여전히 적어도 일종의 성능 저하를 봐라 그래서, 정말로 당신이 가지고 있는지 모바일 웹으로 사람들을 밀어 넣는다 그들이 지금 앱 경험에있을 때, 그런 다음 마찰이 없도록하십시오

따라서이 예에서 우리는 누군가 누가 비행기를 탑승하는지 이것은 아주 평범한 상황이 될 수 있습니다 사람들이 모바일 웹으로 이동합니다 그러나 우리가 자주 본 것은 단순히 여행 앱에있는 것이 아니라, 다른 시나리오에서도 우리는이 경험을 보았습니다 근본적으로 변한다

그래서 우리는 이런 것을 보았습니다 승인? 그리고 때로는 일어날 수 있다고 생각합니다 팀의 조직 구조 때문입니다 알다시피,이 앱 팀이 모바일 웹입니다 팀, 그리고 그들은 충분히 말하지 않았어, 그렇지? 그래서 저는 몇몇 회사들이 더 좋은 일을하고 있다고 생각합니다

이 팀은 함께 사용자를 계획 할 수있게합니다 경험, 모양과 느낌, 내용 배치 방법에 대해 설명합니다 그런 다음 실제 구현을 분리합니다 다른 플랫폼에서 따라서 더 나은 경험은 회사들은이 점에 대해 정말로 사려 깊다

그리고 그 모습과 느낌을 매우 매끄럽게 만들 수 있습니다 모바일 웹으로 바로 이동할 수 있습니다 안드로이드에서, 우리는 이것에 대해 약간의 연구를하고 있습니다 Chrome Custom이라고하는 몇 가지 기술이 있습니다 살펴 봐야 할 탭

그것은 당신을 활성화 시키는데 정말로 도움이됩니다 툴바 색상 변경, 종료하고 애니메이션을 입력하여 해당 앱에서 이동하는 전체 과정 모바일 웹에보다 원활하게 전달할 수 있습니다 두 번째 장으로 이동하십시오 따라서 앱 검색에서의 중요성 정말로 과소 평가 될 수 없습니다 이제 몇 가지 중요한 검색 구현에 대해 이야기 해 보겠습니다

따라서 검색 필드를 눈에 잘 띄게 표시합니다 우리는 모바일 웹 연구를했을 때 이걸 발견했습니다 검색의 중요성에 대해 따라서 가난한 사례에서 우리는 사람들이 그것을 찾을 것으로 기대하는 장소에서 검색, 그러나 텍스트를 찾기 위해 그것을 어떻게 기대할 것인가가 아닙니다 이리 우리가 본 연구에서 사람들은 수색을 위해 주위를 둘러보고있는 약간의 좌절을 가지고 있었다

때때로 그것은 메뉴 아래에 숨겨져 있었고, 가장 분명한 것 중 하나 인 것처럼 들리지만, 그러나 나는이 연구에서 내가 본 것에 대한 나의 요약이 무엇인지, 개발자와 디자이너가 구현하지 않았다는 것입니다 충분한 검색 필드 영구 검색 필드를 포함해야합니다 검색이 정말로 중요한 부분 일 때 앱에서의 내 경험에 대해 무슨 일이 일어나고 있는지 생각하는 사람들이 많이 있습니다 검색이 중요하다고 생각하지만 그렇지 않습니다

스크린 부동산을 바치는 것이 중요합니다 그러니 앱에서 확인해보세요 현재보다 현저하게 강조해야할까요? 아르? 그래서 우리는 이것에 대한 조언을 Material Design에두고 있습니다 그리고 우리는 지속적인 검색을하고 검색 필드에 넣고, 확장 검색도 있습니다 우리는 유리 모양의 아이콘을 가질 수 있습니다

물론 검색을 위해 확장되었습니다 앱에서 검색의 중요성에 대해 생각해보십시오 그리고 사람들이 얼마나 중요한지는 중요합니다 검색 유형에 대한 결정 구현해야합니다 그리고 구현 세부 사항을 위해, 검색 대화 상자와 검색 위젯이 있습니다

이 링크를 클릭하면 더 많은 정보를 얻을 수 있습니다 필터 및 정렬 옵션은 어떻게됩니까? 대단히 중요합니다 다시 한 번, 우리는 그들이 숨겨져 있거나 일종의 묻혀있는 것을 보았습니다 또는 더 아래로, 사람들은 그들에게 갈 수 없었다 그들이 필요로하는만큼

그것은 우리가 최근에 한 우리 연구가 보여준 것입니다 우리는 그것의 훌륭한 구현을 보았습니다 그러나 아직도해야 할 일이 더 있습니다 셔츠에 대한 결과 242 개, 필터링하거나 정렬 할 방법이 없습니다 따라서, 더 나은 구현은 정말 좋은 클리어 버튼

필터 사람들은 그것을 아주 분명하고 쉽게 볼 수 있습니다 그리고이 예는 의류에 대한 것입니다 이 패널을 모든 올바른 종류로 슬라이드했습니다 그 (것)들을위한 수색 선택권의

그래서 당신은 베스트 매치, 최신 콜렉션, 그런 종류의 것 내가 이런 필터를 보았을 때 한 가지는, 몇몇 회사들은 예를 들어 사이징을 실시하고 있었고, 재고가 없을 때, 그리고 그것은 사람들에게 문제를 일으켰습니다 그들은 그들이 이제까지 할 것인지 알지 못했기 때문에 재고가 그들의 크기가 그래서 여분의 작은 것을 빼앗긴다고 상상해보십시오 그냥 그것이 주식에 없었기 때문에, 사람들 그것이 다시 올지 모르겠다

그보다 나은 경험은 그들을 가능하게하는 것과 같습니다 아마 재고가 언제 돌아 왔는지 알아보기 위해 가입하십시오 그러나 확실히 그것을 보여주고, 그것을 안정된 상태로 보여준다 좋다 그래서 여기에 색과 가격 그리고 또 다른 한가지가 있습니다

나는이 디자인에 대해 좋아한다 필터를 지우거나 필터를 적용한 다음 패널을 닫으려면 맨 위의 별도 수표, 그래서 패널을 닫는 것에 대해 혼란스럽지 않습니다 않습니다 따라서이 주제에 대한 검색을 유지하면서, 사람들에게 검색을 돕는 다른 방법이 있습니다 그 중 하나는 사용자 정의 제안 추가입니다

이는 응용 프로그램의 데이터에서 만들 수 있습니다 그래서 그것은 사람들이 그들의 수색에 정말로 도움이 될 수 있습니다 또 다른 하나는 최근 질의 제안입니다 그래서 모든 기술과 시설 그 검색 경험을 향상시킬 수 있습니다 보다 깊이있는 검색 경험을 통해 생각해보십시오

좋은 주제입니다 상거래 및 전환 따라서 사용자는 앱이 정말 부드럽길 기대합니다 제품을 찾고, 학습하고, 구매하는 경험 그럼 몇 가지를 살펴 보겠습니다

이 연구에서 상거래 및 전환에 대한 정보가 공개되었으며, 전환 경험을하도록 돕습니다 따라서 비교 쇼핑 기능을 사용할 수 있습니다 이 예에서 왼쪽의 여기에 부동산 앱, 여기, 그리고 사람들에게 그냥 그들은 아래로 스크롤하여 볼 수 있습니다 다른 집에서 그들이 좋아하는 것, 그들은 기억에 의지해야하며, 사람들, 우리, 너와 나, 우리는 모두인지 주의자이다 우리는 우리의 두뇌를 그렇게 많이 사용하는 것을 좋아하지 않습니다 그리고 우리는 사용자가 자신의 뇌를 많이 사용하도록 만들고 있습니다

여기, 그들이 물건 등을 보았던 곳을 기억합니다 그러나 우리는 더 잘할 수 있고 그 중 일부는 할 수 있습니다 우리가 본 것은 사람들을 돕기 위해 이런 방식으로 우리는 사람들에게 북마크 아이템을 제공하게됩니다 그들은 그것을 보았습니다 그래서 그들은 그것을 비교할 수있었습니다

모바일에서이 작업을 수행하는 것은 여전히 ​​매우 어렵습니다 그러나 여전히 우리가 할 수있는 모든 일이 도움이됩니다 그래서 저는 여기서 당신을 보여 드리겠습니다 사람들이 비교할 수있게했다 그리고 나서, 당신은 그것이 꽤 제한되어 있음을 볼 수 있습니다, 전화의 크기와 함께,하지만 여전히, 당신은 그 정보를 모으는 것

그것은 그들이 다른 모든 가정을 무시할 수 있다는 것을 의미합니다 걱정하지 않고 침실을 비교할 수 있습니다 그들은 욕실을 비교할 수 있습니다, 가정의 비용, 기타 등등 우리는 이것이 필요하다는 것을 알고 있습니다 연구에서, 우리는 사람들이 이에 대한 대안을 취하는 것을 보았습니다

그래서 소매상에서 사람들이 장바구니에 품목을 추가하는 것을 보았습니다 단지 그들이 같은 장소에서 그들 모두를 볼 수 있도록 그리고 그 일을 생각하는 사용자가있었습니다 다른 사람들이 어려움을 겪었습니다 그래서 우리는 이것이 필요하다는 것을 압니다

비교 및 탐색 경험에 대해 생각해보십시오 앱 내에서 사람들이 필요로하는 것 그런 다음 결제 수단을 쉽게 추가하고 관리 할 수 ​​있습니다 나는 다른 날에이 사실에 대한 가난한 예를 실제로 발견했습니다 내가 물건을 사러 갔을 때였습니다

나는 다시 휴가를 가고 있었다 나는 휴가를 가기를 좋아한다 그리고 나는 예약을하고 있었다 임대 주택 그리고 카드를 업데이트해야 할 시점까지갔습니다

내 머리 속의 나의 모델은 음, 새 카드가 도착했다 이전과 같은 카드 일뿐입니다 그것에 날짜가 새겨졌습니다 내 마음 속에는 내 카드에 대한 내 정신 모델이 있습니다 그것은 같은 카드입니다

그냥 교체가 필요합니다 새로운 결제 수단이 아닙니다 그래서 기존 카드를 편집 할 수있을 것으로 기대했는데, 그러나 그것을 할 수있는 시설이 없었습니다 그래서 나는 개발자의 모델을 이해해야 만했다 새로운 결제 수단을 추가해야했습니다

이 예에서는 그 사람이 그들이 체크 아웃되고있는 지점까지, 하지만 카드를 편집하거나 새 카드를 추가 할 방법이 없습니다 그것은 다른 곳에서도 가능합니다 하지만 우리 대부분은 생각하지 않습니다 글쎄, 나는 아침에 일어나서 생각할 것입니다 해당 앱에서 결제 수단을 관리해야합니다

종류가 별개의 활동입니다 맞습니까? 우리는 필요할 때 그것을 생각하는 경향이 있습니다 우리가 돈을 낼 때 그래서, 여기에 문제가 있습니다 따라서이 예에서는 훨씬 좋습니다

기존 카드를 편집 할 수있는 옵션이 있습니다 새 결제 방법을 추가합니다 여기에 여러 가지 결제 수단을 제공하고 사람들을 유도합니다 매우 깨끗한 형태의 디자인으로, 여기, 사용자가 새로운 신용 카드를 추가하기로 선택한 경우, 원할 경우 카드를 스캔 할 수도 있습니다 그래서 그 경험을 멋지고 깨끗하게 만드십시오

이제 Google에서 제공하는 하나의 시설 Android Pay는 그 중 하나를 선택하는 방법입니다 지불 할 이 아이디어는 사용자에게 매우 간단합니다 사용자가 Android Pay를 통해 원활하게 결제 할 수 있으며, I / O에는 여기에 대한 이야기가 있다고 생각합니다 이 링크에서 더 많은 정보를 얻을 수 있습니다

그래서 등록 등록은 회사 및 개발자에게 매우 인기가 있으며, 그게 그렇게 보였으니까 우리가 사용자로부터 참여를 얻을 수있는 곳입니다 그것은 사용자가 우리에게 맡기는 곳입니다 우리는 오래 전부터 이러한 등록을 제공 한 사실을 알고있었습니다

장벽이 앞에있는 것은 사람들이 도달하기위한 커다란 장애물이 될 수 있습니다 먼저 뭔가를 제공하는 것이 낫습니다 그래서 그들은 그들의 편에서의 참여를 느낄 수 있습니다 회사에 다른 몇 가지가 있습니다

등록과 관련하여 오늘 이야기하고 싶습니다 그래서 우리는 사용자들이 로그인하고 가입하는 데 어려움을 겪고있는 것을 보았습니다 까다로운 일이지, 그렇지? 우리는 종종 사용자가 양식을 작성하는 것을 보았습니다 그들이 제공 되었다면 그들이 가입하기로되어있을 때 서명하고 있었고, 그 반대 아마 우리 모두에게 일어난 일입니다

그래서 우리는 더 나은 경험을 발견했습니다 사람들에게 로그인하거나 등록 할 수있는 옵션이 주어졌습니다 그 단어들은 매우 달랐고, 그것들을 구별 할 수 있었고, 우리는 그들을 올바른 길로 끌 수 있습니다 그래서 그들은 그 혼란에 빠지지 않았습니다 우리는 등록 및 신원에 대한 솔루션을 많이 보유하고 있습니다

Google에서 우리는 전체 ID 플랫폼을 가지고 있습니다 내가 너를 보라고 권하고 싶다 기본적으로 인증 시스템입니다 몇 가지 구성 요소와 다양한 선택 사항이 있습니다 만들다

그래서 이들 중 하나는 Android 용 로그인입니다 사용자가 동일한 자격 증명으로 로그인 할 수 있습니다 그들은 Google에서 사용합니다 전체적인 의도는 그 과정을 더 많이 만드는 것입니다 쉽고 간단합니다

그 이야기는 다른 방법이 있습니다 암호 인증을 마찰없는 경험으로 만드십시오 우리 모두는이 상황에 처해있었습니다 우리에게는 효과가 없으며 모바일에서는 상당히 고통 스럽습니다 비밀번호를 계속 입력하면 작동하지 않습니다

앱에서 더 악화 될 수 있습니다 이 곳이 사람들이 돌려 보내진 곳이라는 것을 알았습니다 모바일 웹에 연결 했지, 그렇지? 그럼, 당신은 다시 그 고리에있어, 그리고 그것은 더욱 악화되고 있습니다 그래서 우리는 하나의 솔루션에 대해 이야기했습니다 사람들이 로그인 할 수있게 해줍니다

우리가 보았던 또 다른 하나는 훨씬 더 대중적이되고 있습니다 지문 입력이고, 우리의 연구에서, 사람들은 이것에 대해 꽤 행복했습니다 그들은이 일을 아주 많이 좋아했습니다 그래서 나는 이것이 좋은 것으로 생각합니다 또한 구현 세부 정보가 더 있습니다

여기서 지원되는 장치에서 지문 스캔을 사용합니다 그리고 Smartlock은 우리의 정체성 시스템의 또 다른 부분입니다 그것은 당신이 자동으로 사용자에게 응용 프로그램에 로그인 할 수있게하고, 그들이 저장 한 자격 증명을 사용합니다 그것은 또 다른 좋은 것입니다 이 연합 신원 조항의 일부 그리고, 만약 당신이 사용자들과 멀리 떨어져 있지 않다면, Sign-in Hints도 있습니다

우리에게 자격 증명 API를 사용하십시오 로그인시 사용자에게 힌트를 줄 수 있으며, 사용자 이름과 이메일 주소 모든 것은 서명 허들과 같은 쉬운 일종의 방식으로 이루어집니다 그래서 폼 엔트리 양식 입력에 대해 디자인에서 이야기했습니다

년과 년 동안 우리는 데스크톱 양식 입력 작업을 많이했는데, 우리가 모바일 웹에 갔을 때, 우리는 다시 모든 것을 다시 배우어야했습니다 그 양식들이 실제로 정말로 작고, 양식을 작성하기 위해 확장해야합니다 항상 앱으로 조금 더 나아졌습니다 우리가 양식을 디자인했기 때문에 모바일 장치의 구매부터

그러나 나는 말하기를 기쁘게 생각한다, 나는 우리가 먼 길을왔다라고 생각한다 그러나 우리 연구에서 보았던 것들이 아직도 있습니다 개선 될 수있다 그래서 저는 이것을 사용자 친화적 인 형태로 분류했습니다 내가 본 것들 중 몇 가지는 여전히 사용자가 자신의 업무에 많은 작업을해야하는 일부 앱

여러 다른 필드에 커서 놓기 그들의 전화 번호, 그리고 이런 것들에 대해서, 사용자 측에서 많은 노력이 필요합니다 또한 양식 필드가 어떻게 나타나는지 보려고 지불하지 않았습니다 사용자에게 문제가되었습니다 그 (것)들을 위해 종류를 분류하는 것은 단단했다 그들이 다음에 채워야 할 것의 그들의 정신 모델 그것들은 좌절감을 일으켰고 확실히 마찰적이었습니다

포인트 더 나은 교전은 여기에서 더 많은 일을하고 있습니다 백 엔드에 따라서 사용자가 휴대 전화에 글을 쓰고 싶어하는지 숫자 사이에 대시가있는 숫자, 숫자 사이에 공백이 있으면 아니면 하나의 긴 필드 일뿐입니다 그리고 그것을 만들어라

그것은 우리를 위해 조금 더 많은 일을한다 개발 측면에서,하지만 그것은 사용자가 훨씬 쉽게 사용할 수 있습니다 그들이하는 일을 이해하고, 오류가 반환되지 않습니다 또한 오류가있는 곳에서도 인라인을 제공합니다 정말 도움이됩니다

여기 앱에는 양식을 현장으로 옮기는 정말 좋은 직장 사용자가 정보를 입력하면 이는 사용자에게 매우 유리한 결과였습니다 따라서 멋진 텍스트 필드를 만드는 방법에 대한 많은 정보가 있습니다 머티리얼 디자인을 통해 서로 다른 측면에 대해 많은 이야기 좋은 양식을 만드는 것 특히 장소에 대해서는 지역 정보 자동 완성 기능을 사용할 수 있습니다

Places API의 일부로 다시, 그리고 이것은 이러한 형태로 채우는 데 정말로 도움이 될 수 있습니다 위치가 필요한 필드 양식 디자인의 또 다른 측면은 키보드와 일치하는 것입니다 필요한 텍스트 입력 이것은 꽤 잘 알려진 일이며, 그러나 우리는 여전히 잘 수행하지 못하는 중요한 앱을 보았습니다

따라서 사용자가 신용 카드에 커서를 올리면 필드에 추가하고 앱에이 항목이 있다면 너는 그것을 조사해야한다, 그것이 옳은 일을하고있는 것인가? 이 예에서는 여기에 올바른 일을하지 않습니다 사용자는이 키보드를 그대로두고, 올바른 키보드를 얻을 수있는 방법이 없습니다 대개는 아니지만, 여기에 숫자 키를 치고 나서 그들은 상단에 숫자가있는 키보드를 갖게 될 것이고, 적절하게 설계하는 것과는 대조적으로, 한 번 커서가 안에 있으면 그 (것)들을위한 숫자 키보드 이렇게 작은 것들, 양식에있는 모든 작은 것들 실제로 추가하고 양식 디자인을 체크 아웃하십시오 이런 식으로 사람들에게 정말로 도움이됩니다

입력 방법 지정에 대한 정보가 있습니다 이 링크에서 찾을 수있는 키보드 유형과 올바른 키보드 그런 다음 마지막으로 유용성과 이해력을 살펴 보겠습니다 이것들은 당신이 할 수있는 작은 것들입니다 우리가 우리 연구에서 보았던 것, 애플 리케이션을 통하여, 사용자들에게보다 자연스러운 경험을 제공합니다

우수한 사용자 경험을 보장하는 데 중요 할 수 있습니다 사용자가 걸려 넘어 지거나 경험을 포기하지 않는 경우, 언제든지 이것은 텍스트 레이블 및 시각적 키 제공에 관한 것입니다 시각적 정보를 명확히하기 위해 그래서 이전에 이것을 보았습니다 제 이야기에서 저는 시각적 인 열쇠가 빠져있었습니다

그 그림 속의 파도가 필요해 호텔의 방향을 이해하는 데 도움이됩니다 이 예제를 보자 몇 순간을 가지고 자신을 결정하십시오 그 아이콘이 나타내는 것이라고 생각하는 것

그들 중 일부는 아마 다른 사람들보다 분명합니다 답을 봐야할까요? 여기에 우리가 간다, 그래서, 그것은 나의 여행, 책, 클럽, 그리고 계정이다 누구가 그 (것)들을 맞았 는가? 나는 아마 계정이 그렇게 나쁘지 않았다고 생각한다 그러나 우리가 본 교훈은 다시, 나는 그것이 지나친 일반화라고 생각한다 우리가주는 규칙은 아이콘이 모호하고, 텍스트 레이블이 꼭 필요합니다

문제는 말하기에 때 아이콘 모호하다 우리 모두는 서로 다른 수준을 가지고있다 이해와 관련하여 너는 내가 생각하기에, 너의 많은 아이콘들 애매하게 될 것입니다 나는 당신에게 모범을 줄 수있다

따라서 필터 아이콘을 알 수 있습니다 이런 식으로 보이니? 그렇게 보편적이라고 생각할 수 있습니다 그것은 아주 다른 방식으로 그려집니다 많은 다양한 앱에서 보편적으로 사람들 사이에서 이해되는 것을 발견하지 못했습니다 그래서 나는 우리가 우리의 수준을 바꿔야한다고 생각합니다

앱의 아이콘 수와 관련하여 설정 라벨이 필요한 사람들, 사람들이 그것을 이해할 것입니다 그리고 이것은 매우 훌륭한 곳입니다 간단한 AB 테스트를 수행하고 레이블 제공 여부와 차이점 레이블을 제공합니다 여기에 구현 세부 정보가 있습니다 단추에 텍스트와 아이콘을 사용하려는 경우

그래서 그걸 가지고 있다면 그리고 라벨을 붙이는 것에 대해 이야기하고, 항상 저를 깨닫게 해줍니다 내 응용 프로그램에 액세스 할 수 있습니다 여기에는 많은 가이드 라인이 있습니다 응용 프로그램에 액세스 할 수 있는지 확인하십시오

그리고 오늘 내가 들어가야 할 마지막 원리 컨텍스트에서 사용 권한을 요청합니다 그래서, 이것은 우리가 Android M으로 가능하게 한 것입니다 하지만 우리는 여전히 상당수의 앱을보고 있습니다 그것을 이용하고 있지 않다 잠시 동안 iOS가 가능할 수있었습니다

지금도 따라서이 예에서 사용자는 다운로드 및 응용 프로그램을 열고 그들은 즉시 묻습니다, 위치를 사용할 수 있습니까? 그래서 아마이 앱은 그들에게 제안되었습니다 다른 누군가에 의해 그들은 오, 이것이 정말 좋은 앱이라고 말했다 당신이 가정 장식에 대해 배우고 싶다면, 그리고 그것은 당신이 살 수있는 몇 가지 정말 멋진 것들을 가지고있어

그러나 우리와 비슷한 방식입니다 문제가되는 등록을 생각 하겠지? 당신이 그것을 앞쪽에 요구할 때 넘어서 오는 장애물입니다 이것은 사용자에게 똑같습니다 개발자들이 말하는 것처럼, 내 위치를 알려주는 것과 같습니다 내가 너에게 다른 것을주지 않기 전에, 그렇지? 사용자는 종종 '아니오'라고 말하려고합니다

그들은 왜 그 이유를 정말로 이해하지 못하기 때문에 그들은 단지 당신의 앱을 둘러보고 싶었습니다 그래서, 그걸하는 더 좋은 방법입니다 안드로이드 M 때문에 지금 할 수 있어요 런타임에 컨텍스트에서이를 수행 할 수 있습니다 이 예에서는 매장을 검색하는 사람들이 있습니다

사용자가 자신의 동기 부여가 있기 때문에 훨씬 나아질 것입니다 권리? 그들은 그 가게를 찾을 수 있기를 원합니다 그 다음에 일어나는 일은 그들에게 더욱 분명합니다 뒤에 오는지도가 있고 그것 묻는다, 위치를 사용할 수 있습니까? 음, 물론 그렇게 할 수 있습니다 권리? 너는 받아 들일 확률이 훨씬 높다

당신이 문맥에서 묻는다면 우리는 이것을 위해 많은 자원을 가지고 있습니다 우리는 작은 비디오와 구현 세부 사항이 있습니다 런타임에 사용 권한을 요청할 수 있는지 여부 그리고 그것은 단순히이 원칙에 불과합니다 왜냐하면 많은 사람들이 그것에 대해 알고 있음을 알고 있기는하지만, 우리가 최근에 공부 한 앱에서 많이 보았습니다

그것이 여기있는 이유입니다 그래서 내가 원칙의 끝으로 나를 데려다 준다 너와 갈거야 각 장을 살펴 보았습니다 이러한 원칙을 온라인에서 더 많이 찾을 수 있습니다

그들은 모두 Google에서 생각할 때 온라인 상태입니다 그리고 여기 당신과 관련된 짧은 링크를 만들었습니다 원칙에 향상된 모바일 사용자 환경 사실 여러 가지 원칙이 있습니다

내가 무엇이 있는지 말해 줄께 모바일 앱 원칙, 새로운 설정 25 가지 모바일 원칙 중 새 집합이 있습니다 소매업을위한 25 가지 원칙 – 웹과 앱 모두입니다 다시 한 번 연구를 했으므로 그 정보는 그런 다음 모바일 웹 원칙이 있습니다 이전에 게시 한 내용, 이미 보았을 수도 있습니다

이 링크의 모든 링크는 동일한 링크입니다 더 자세한 구현 정보가 필요한 경우 모바일 웹 사이트에서 우리의 웹 펀더멘털의 일부이기도하다 사이트 및 그 곳에서 제공 한 특정 링크 추가 개발자 구현 세부 정보를 제공합니다 내가 가기 전에 한 가지 더 이야기하고 싶습니다 연구의 이야기

그래서이 연구에서, 신용 카드 스캔 기능을 구현 한 지불하기 위해서 이제 우리는 연구에서 소수의 사람들이 전에 그것을 사용했고, 그것을 가로 질러 왔고, 그것을 좋아했다 그러나 이것은 상대적으로 새로운 기술이기 때문에, 우리는 그것을 만난 사람들이있었습니다 처음으로 이제 스캔이라는 단어에 대해 생각하면 가장 친숙한 단어입니다

경험, 나는 생각한다, 단어 스캔과 더불어, 내가 식료품 가게에 가서 신용 카드를 스캔 할 때입니다 권리? 그리고 바로 옆에 내 신용 카드를 걸고 있습니다 음, 다른 기계를 통해 퍼팅, 정말, 그게 스캐닝 내가 스캔이라는 단어를 알고있는 또 다른 곳 사진 복사기에 종이 넣고있다 더 오래 전의 일이지만 여전히 스캔, 서로의 위에 뭔가를 가하고

따라서 사용자는이 요청을받습니다 신용 카드 스캔 그것은 스캔이라는 단어를 사용하는 것입니다 그리고 만약 당신이 그들을 번역하려한다고 상상한다면, 종종 가장 먼저 묻는 것은, 우리 카메라를 사용할 수 있을까요? 음, 카메라가 할 일은 무엇입니까? 내 신용 카드를 스캔하는 중입니까? 음, 아마도, 나는 그것을 이해하지 못한다 그래, 그래, 내 카메라를 사용할 수있어

그런 다음 여기에 신용 카드를 보관 해달라고 요청합니다 자동으로 스캔합니다 좋아요, 지시에 따라 놀라지 마시고, 우리는 연구에서 세 사람이 이것을 보았다 그리고 그들은 기다리고 기다렸다 그들은 대단히 실망했다

그들은 지불하는 것이 아주 간단한 방법이라고 생각했기 때문에 그리고 이것은 단지 이해에 관한 것입니다 우리가 사람들에게하고 싶은 것과 사용하고있는 언어 간단하고 사용하기 쉽습니다 불행히도 우리는이 모든 것이 효과가 있다고 생각합니다

아직 작동하지 않습니다 그러나 그것은 말이 맞습니다 그들이하는 일, 그들이 무엇을하도록 지시 받았기 때문에 그래서 다시, 나는 그 시점으로 돌아 간다 사용자를 이해하고있는 앞에서 만든 경험, 끝에서 끝까지

흐름과 고통의 포인트를 이해합니다 정말 중요합니다 네가 경험을 쌓기를 원하기 때문에 당신은 당신의 사용자를위한 정말 좋은 앱 경험을합니다 사용자가 좌절하지 않는 곳, 좌절감의 종류가 아니라 내 앱을 사용한 후에 느낌이 들었고 내 호텔 방까지 갔다

내 창문에서 그 주차장을 봤어 앱 경험을 할 수 있기를 바랍니다 사람들이 인생이 정말로 마찰이없는 것 같은 느낌을 갖게한다 해변의 경치와 더 비슷합니다 그래서 저는 여러분에게 세 차례의 테이크 아웃을 해드 리고 싶습니다

그리고 이것들은 생각할 수있는 세 단계입니다 이 이야기 이후에 대해 앱을보고 앱을 감사합니다 25 가지 원칙에 위배된다 간단히 말해서, 우리는 이러한 경험들 각각에서 무엇을하고 있으며, 그리고 그것을 측정하고 있습니까? 그게 너에게 길고 긴 길을 가져다 줄거야

하지만 앱도 독특합니다 맞습니까? 따라서 주요 사용자 여정을 실제로 이해해야합니다 그 붕괴 지점을 이해하십시오 내 호텔 앱에 내가 제공 한 것 정말 흥분 되긴했지만 내게서 깨진 점들 결국에는 잘 작동하지 않게되었습니다

그리고 나서 마침내, 당신 자신의 사용자 테스팅에 대해 생각해보십시오 Google Ventures의 가이드 사용자 연구를 위해 많은 자원을 제공합니다 실제로 작은 규모의 방법으로 사용자 테스트를 수행하면 당신이 제공 한 좋은 것들을 볼 수 있도록 앱에서 축하하고 고통을 식별 할 수 있습니다 귀하의 애플 리케이션에 포인트, 그래서 당신이 그들을 해결하는 방법에 대해 생각할 수 있습니다 시간 내 주셔서 감사합니다

[음악 재생]

Tasks and the Back Stack (Android Development Patterns)

남성용 스피커 : 실행기 아이콘을 탭합니다 앱의 경우 앱이 실행됩니다

쉽지, 맞지? 배후에 무슨 일이 일어나고 있는지 조금 더 관련되어 있습니다 앱의 활동이 밝혀졌습니다 진공 상태로 살지 않고 대신 존재한다 하나 이상의 작업의 일부로 자, 작업 자체는 그다지 복잡하지 않습니다 그것은 단순히 활동의 스택입니다

시작 활동을 호출하면 새로운 활동이 푸시됩니다 작업의 백 스택에 넣습니다 뒤로 단추는 이것을 뒤집어 호출 마무리 현재 액티비티에서 스택에서이를 팝핑하고, 사용자를 원래 위치로 되돌립니다 그러므로 이름 이 대칭 푸시 – 팝 모델은 단편에도 적용됩니다

프래그먼트 트랜잭션을 지정할 때, 당신은 fragment를 추가하기 위해서 add to back stack을 호출 할 수있다 백 스택 트랜잭션 그런 다음 사용자가 뒤로 버튼을 누르거나 귀하의 활동이 끝나고 조각 거래 반대입니다 조각 트랜잭션이 더 이상 없을 때만 뒤로 버튼을 누르면 활동이 끝납니다 이제 뒤로 버튼을 누르는 대신, 당신은 홈 단추를 누르십시오, 전체 작업 백그라운드에서 넣어

런처 아이콘을 탭하면, 시스템은 태스크를 포 그라운드로 되돌려 보내고, 네가 그곳을 떠난 곳이야 선택하면 똑같은 일이 일어난다 개요 화면에서 앱의 작업, 작업이 포 그라운드로 이동됩니다 많은 앱에서이 기본 동작은 필요한 것입니다 거추장스럽지 않아

멋지고 일관된 대칭 연산 하지만 두 가지 구체적인 경우가 있습니다 특별한 일을하고 싶다 먼저, 액티비티로 시작 액티비티를 호출한다면 너 이미 벌써 왔어 검색 결과를보고있는 경우 일 수 있습니다

페이지를 검색하고 다시 검색하십시오 활동 후 활동을 쌓는 대신, 뒤로 버튼을 여러 번 눌러야하는 경우, 당신은 단일 가기의 실행 모드를 추가 할 수 있습니다 귀하의 활동 목록에 기재하십시오 또는 귀하의 의도에 깃발 활동 단 하나를 포함하십시오 생성되는 활동의 새 인스턴스 대신 시작 활동을 부를 때마다 당신은 새로운 의도로 다시 전화를받습니다 사용자는 뒤로 버튼을 한 번만 누를 수 있습니다

이전 활동으로 돌아갑니다 두 번째 경우는 알림 주위입니다 뒤로 버튼이 백 스택을 팝하는 방법에 대해 이야기했습니다 자연스러운 결론은 뒤로 버튼은 각기 다른 업무에 관여한다 안드로이드 3

0 이후 그것은 당신이 발사대로가는 곳으로부터 단지 하나의 스택입니다 멋진 개요 화면이 있다는 것을 기억하십시오 작업 전환 그 점에 대한 알림 앱 내부 깊숙한 활동 당신은 정말로 뒤로 버튼의 첫번째 언론을 원하지 않습니다

즉시 실행기로 데려다 줄 것입니다 당신이 그 같은 화면을 볼 때마다, 뒤로 버튼은 다른 것을 수행합니다 앱에서 돌아가는 것 그것은 TaskStackBuilder가 들어있는 곳입니다 그것은 합성, 즉 가짜, 다시 스택

기본적으로 부모 활동을 기반으로합니다 매니페스트의 각 활동 항목에 첨부했습니다 어떤 식 으로든 사용자 정의 할 수 있지만 당신이 원한다면, 엑스트라를 추가하고 싶습니다 이렇게하면 사용자가 도청 할 때 아무런 작업이 없더라도 알림, 그들은 정확히 어디에 그들이있어 앱에있을 것으로 예상됩니다 마치 그들이 그들 자신을 항해 한 것처럼

당신은 그 (것)들을 몇 시간 그리고 노력 거기 도착하는 저장했다 링크 된 블로그 게시물을 확인하십시오 작업에 대한 모든 설명에 대한 설명 백 스택 및 일부 다른 플래그들 당신이 사용해서는 안되는 모드를 시작하십시오 글쎄, 그들이 완벽 할 때까지 더 나은 앱을 만드는 데 사용할 수 있습니다

감사 잠깐, 그게 뭐야? 위로 버튼? 그래, 그건 완전히 다르다 블로그 게시물에서 논의 해 보겠습니다 [음악 재생]

How to Watch Youtube Unblock Carstream and Mirror screen On Android Auto full tutorial………

구독하기 안녕하세요 친구들은 YouTube를 시청하고 정오표로 화면을 보는 법을 보게됩니다 이제이 앱을 다운로드하려면 Play 스토어에서 Play 서비스 정보를 다운로드 해 봅시다

그리고 그것을 열어서 그것을 클릭하고 정직하게 말하면서 열어 봐 나는 내가 늦는다는 것을 보여주고 싶다 그래서 나는 지금 아무것도 필요로하지 않는다 그런 다음 설명에 몇 가지 링크가 제공됩니다 그냥 줘 latesh 사람이 해당 스트림을 지원하지 않기 때문에 Enduro를 모든 버전 2로 다운로드하십시오 그럼 이걸 다운로드하고 딸이 그것을 설치 한 다음 두 개의 다른 링크에서 어디에서 더하기를 다운로드하십시오

캐시 리메이크 그리고 나서 에스텔리가 나중에 자동으로 올라옵니다 이 오프닝을 클릭하면 이 5 ~ 4 번 클릭하면 이미 개발자가되기 때문에 개발자가 될 수 없습니다 이것을 클릭하십시오 그리고 그것은 당신을 위해 장담 할 것입니다 이것이 내가 결코 실행하지 못했던 것입니다

그리고 나서 돌아 가야합니다 Andrew 딸에게 스마트 폰 연결 이제 내 스마트 폰을 내부 로터에 연결 한 상태에서 클릭하십시오 마지막 하나를 클릭하십시오 이제 볼 수있다 차는 단순한 아랍에 각각 흐른다

너를보고 싶으면 관습을 클릭해라 이제 YouTube가 방금 도착했습니다 TCA 기술 전문가 채널, COO 또는 Bell을 구독하십시오 최신 기술을 구입할 수 있습니다 우리는 심지어 여기에 토마토를 말했어

마침내 논리적으로 그렇게 많은 것을 의미한다 나는 나에게 나에게 6 배의 보너스를 보여주지 않았다 오, 인도의 기술 수련 나에게 보여줘 오 다음 번에 K까지 너까지 내가보기에 실험실이되는 것은이 일이 일어나기 때문입니다

애플의 구글 검색 va-jay-jay 마스코트 그럴 수있다 그걸 구글에 올려 놓을거야? 나중에 Krypton 대 외로운 I 관객 도시에서 본문 계속 활동이 느려지거나 얼음이 튀어 오릅니다 네 모든 것은 당신과 너무 연결되어 있습니다 거울 화면입니다 그냥 클릭하십시오

나는 그들이 네가 소리 지른다고 비명을 지른다 나는 비디오를 만들고 있다고 말할 수있다 전체 화면이 나타납니다 그게 오늘을위한 것이고 고마워요

Device provisioning and authentication with Android Things (Google I/O '18)

[음악 재생] DARREN KRAHN : 우리 이야기에 오신 것을 환영합니다 오늘 장치 프로비저닝 및 인증에 대해 Android 관련 콘텐츠

내 이름은 대런이야 저는 소프트웨어 엔지니어입니다 그리고 안드로이드에 대한 보안 작업도합니다 WAYNE PIEKARSKI : 멋지다 그래서 저는 Wayne Piekarski입니다

저는 Android Things와 IoT에 대한 개발자 옹호자입니다 그리고 오늘 우리의 대화에와 주셔서 감사합니다 그리고 오늘, 우리는 당신에게 전략에 대해 이야기 할 것입니다 귀하의 IoT 장치를 인터넷에 연결하는 방법, 클라우드 및 기타 모든 것 그래서 우리는 모든 과정을 끝까지 마칠 것입니다

그리고 우리는 Google 소프트웨어가 어떻게 Android Things, Firebase 및 Cloud IoT와 같은 플랫폼 핵심,이 작업을 훨씬 쉽게 할 수 있습니다 그래서 많은 사람들이 알고있을 것입니다 그리고 그게 바로 당신이 오늘 여기 온 이유입니다 그리고 그것은 우리가 이전에 본 것보다 더 커질 것입니다 그래서 우리가 전화를 본 것과 똑같은 방식으로 PC보다 더 큰, 나는 우리가 가고 있다고 생각한다

IoT 디바이스가 그보다 훨씬 큰 수주를보고 있습니다 우리는 IoT 장치들로 둘러싸여있을 것입니다 온갖 일을하는 매일 매일 우리를위한 다양한 업무가 있습니다 그리고 단지 하나의 장치가 될 수는 없습니다 당신은 수십 또는 수백 가지를 가지려고합니다

모든 종류의 흥미로운 일을하고 있습니다 오늘은 아이디어에 대한 몇 가지 힌트를 드리겠습니다 이러한 종류의 IoT 디바이스를 가장 효과적으로 구축하는 방법에 대해 연결 방법, 보안 방법 등을 설명합니다 먼저 Android Things의 기본 사항을 살펴 보겠습니다 바라건대, 대부분의 사람들이 소개 토크를 보았습니다

그렇지 않다면, 우리는 많은 회담을 갖고 있습니다 여기 안드로이드가 무엇인지 커버하는 IO에서 하지만 안드로이드 것들의 핵심 개념 모듈에있는 시스템을 기반으로한다는 것입니다 그 위에 이미지에 표시됩니다 작은 작은 보드입니다

SOM에는 CPU, Wi-Fi, 메모리가 포함되어 있습니다 보드 지원 패키지라고 부르는 것에 의해 지원됩니다 그리고 이것은 드라이버, 커널, 라이브러리, 그리고 모든 것 또한 Google의 업데이트 및 보안 기능도 제공합니다 Android Thing SOM을 사용하여 개발자가 IoT 장치를 쉽게 만들 수 있습니다

보안을 유지하는 데 도움이됩니다 최신 상태로 유지되는 이유는 소비자가 지금 필요로하는 것들이다 그들의 장치와 Android Things를 고유하게 만드는 또 하나의 기능 정말 강력한 유형을 지원한다는 것입니다 장치에서 처리 중입니다

따라서 클라우드에서 일할 필요가 없습니다 하지만 당신은 비디오 및 오디오 처리를 할 수 있습니다, 당신은 기계 학습을 할 수 있고, 모든 것을 할 수 있습니다 전화 수준의 CPU 성능을 갖추고 있기 때문에 이 Android Things SOMs 다른 하나는 Android를 기반으로한다는 것입니다 따라서 모든 친숙한 개발자 도구를 사용할 수 있습니다

당신이 익숙한 Android Studio 및 모든 Android 개발자 인 경우 보유하고있는 기존 코드입니다 Android를 사용하면 집에서 바로 즐길 수 있습니다 이전에 Android 개발을 완료했다면 IO에서 다른 많은 대화가 있습니다 그것에 대해 자세히 알기 위해 갈 수 있습니다 하지만 오늘 우리가 집중해야 할 것은 우리가이 모든 것을 어떻게 활용할 수 있느냐입니다

Android 기기와 함께 제공되는 IoT 기기를 더 쉽게 만들 수 있습니다 그리고 당신을 위해 더 잘 그래서이를 염두에두고 예제를 살펴 보겠습니다 이 강연을 통해 우리가 사용할 내용 우리가 무슨 말을하고 있는지 설명해 주려고 그래서 우리는 IoT 세척을 할 것입니다

왜 안되니? 그리고 모두가 기계 학습을 사용하게되어 기쁩니다 및 TensorFlow 그래서 세탁기를 사용해야합니다 기계 학습을 온보드합니다 빨래를 보는 카메라가 있어야합니다

그리고 옷을 빨고있는 동안, 기계 학습 알고리즘을 수행합니다 그것이 얼마나 깨끗한 지 분석합니다 그리고 세탁물이 어떻게 보이는지 볼 수 있습니다 일할 때 씻겨서 이런 일이 일어나는 것을 보는 데 관심이 있습니다 그래서 우리는 우리의 신제품 "TensorWash"를 부를 수 있다고 생각합니다

그래서 우리가이 "TensorWash"세탁기를 만들 때, 대부분의 세탁기에는 전면에 제어판이 있습니다 여전히 수동으로 제어하기를 원하기 때문입니다 이제 Android Things가 지원하기 때문에 정말 강력한 기기라면 앞면에 스크린이있다 OpenGL을 실행할 수 있습니다 비디오와 오디오를 재생할 수 있습니다

그게 당신이 만들 수있는 하나의 선택입니다 기계의 호화로운 모델입니다 그러나 비용을 줄이려면 저렴한 IoT 세탁기를 만들기 위해, 그러면 디스플레이를 없애기를 원할 것입니다 그래서 우리는이 예제를 위해 이것을 남겨 둘 것입니다 그래서 머신은 IoT가 가능해질 것입니다

정면에 몇 개의 버튼이 있습니다 하지만 거의 모든 일이 진행되고 있습니다 우리는 전화를 통해 통제 할 수 있습니다 얘기 좀하려고합니다 그래서이 기계의 진정한 마법 그것이 인터넷에 연결되었을 때입니다

따라서 원격으로 장비를 모니터링 할 수 있습니다 카메라가 보는 것을 볼 수 있습니다 다음과 같은 경우 세탁주기를 시작할 수 있습니다 집에서 운전할 때, 직장에있을 때 그래서 사용자는 집에 없으며 그들은 잠재적으로 세계 어느 곳에 나있을 수 있습니다

그래서 우리는 그것을 단지 존재로 제한하고 싶지 않습니다 집안에있는 것이 가까운 곳에서 통제됩니다 따라서 우리는 인터넷 클라우드 기반 연결이 정말로 필요합니다 그 뒤에 어떤 종류의 클라우드 솔루션이 있습니다 그리고 모든 종류의 재미있는 기능을 추가 할 수 있습니다

클라우드를 지원함으로써 그래서 우리는 점수를받을 수 있습니다 옷을 씻지 않거나 물을 너무 많이 낭비하지 않기 때문입니다 서비스 부서에 결함을보고 할 수 있습니다 그리고이 모든 것을 지원하기 위해서, 기계는 Wi-Fi를 필요로합니다 그리고 우리는 단지 막힘으로 속일 것입니다

그것으로 이더넷 케이블에 그래서 우리는이 세탁기를 가지고 있습니다 우리는 클라우드에 연결할 필요가 있습니다 그리고 우리는 클라우드와 상태를 공유해야합니다 전화가 장치를 제어 할 수 있도록 따라서 가능한 많은 클라우드 서비스가 있습니다

우리는 오늘 그들 중 몇 사람에 대해 이야기 할 것입니다 그러나 첫째로, 이런 종류의 일을하기 위해서, 먼저 네트워크에 장치를 가져와야합니다 요즘 많은 기기들이 Wi-Fi를 기반으로하고 있습니다 장치에는 SSID와 암호가 필요합니다 네트워크에 가입하십시오

많은 장치에는 키보드 또는 디스플레이가 없습니다 우리 세탁기의 경우처럼, 그래서 모든 것이 전화로 처리되어야합니다 그리고 우리가 전화를 사용한다면, 그 장치는 Wi-Fi 액세스 포인트를 자체적으로 구동해야합니다 전화가 연결됩니다 모든 로그인 [INAUDIBLE]을 보냅니다

그런 다음 장치가 네트워크에 다시 연결됩니다 그 정보를 사용합니다 어떤 이유로 든 잘못 될 경우, 전화는 무슨 일이 일어 났는지 알 수있는 방법이 없습니다 그래서 매우 섬세한 과정입니다 따라서 일부 전화기 또는 Wi-Fi 네트워크에서는 문제가 될 수 있습니다

그리고 많은 개발자들이이 도전이 올바른 것으로 생각합니다 그래서 우리는 몇 가지 힌트를 통해 이걸 더 좋게 만들려고 다음으로, 장치는 장치 소유자는 누구인가? 그래서 당신은 장치가 보이는지 확인하고 싶습니다 장치 소유자와 다른 사람 만 제어 할 수 있습니다 그들이 신뢰하는 것

그래서 우리는 어떤 종류의 인증 토큰이 필요합니다 서버에서 발급 받아야하는 그런 다음 사용자가이 토큰을 제어하는 ​​데 사용합니다 우리는 그것을 장치에 두었습니다 그런 다음 기기가 연락하기 위해 사용하는 것입니다 인터넷과 구름

사용자 팩토리가 장치를 재설정하면, 우리는이 토큰과 그 밖의 모든 것을 잊을 필요가 있습니다 그런 다음 기기가 자체적으로 재설정되어야합니다 다른 사용자가 기계를 사용할 수 있도록 이전의 역사는 보존되어 있지 않습니다 이제는 우리의 "TensorWash"가 모두 연결되어 갈 준비가되었습니다 따라서 전화, 장치 및 클라우드가 모두 통신 할 때, HTTPS와 같은 TLS 연결을 통해이를 수행합니다

그렇게 안전하다는 것은 매우 중요합니다 우리는 도청을 중앙에두고 싶지 않습니다 일반적으로 Google 서비스에는 요즘 HTTPS가 필요합니다 그리고 우리는 실제로 이것을 기본적으로 시행하기 시작했습니다 그래서 우리는 당신을 위해 더 힘들게 만들고 있습니다

모든 보안 때문에 암호화되지 않은 연결을 사용하는 방법 의미 그리고 이런 장치를 만들 때, 모든 사람들이 적절하게 보안을 유지합니다 작은 IoT 회사들조차도 정말 간단한 장난감이나 뭐든간에, 왜냐하면 모두가 항상 자신의 장치가 문제가되지 않을 것이라고 생각합니다 작은 문제조차도 예상치 못한 영향을 미칠 수 있습니다 너는 나중에 꿈도 꾸지 않았다고 기기가 전 세계에 출시되면 그게 전부입니다

그것은 당신이 무엇을 할 수 있는지에 대한 핵심 개념입니다 우리가 만들고있는 세탁기를 가져올 필요가있다 클라우드에 연결하도록하십시오 Wi-Fi를 설정해야합니다 자격 증명을 전송해야합니다

그런 다음 암호화와 연결해야합니다 그러나 실제로는 훨씬 더 많습니다 그래서 내가 할 일은 내가 갈거야 대런에게 주요 개념의 일부에 대해 깊은 잠수를 할 수 있도록 여기에 약간의 설명이 있습니다 무슨 일이 일어나고 있는지

DARREN KRAHN : 멋지다 그래서 한 걸음 뒤로 물러나서 몇 가지 이야기하고 싶습니다 우리가 사용하는 핵심 개념들 장치 들간의 안전한 관계를 수립하고, 근본적으로 우리가하는 일입니다 우리가 장치를 제공 할 때 이러한 개념은 뚜렷하지만 매우 얽혀 있습니다

실제로 볼 수 있듯이 나는 인증, 권한 부여, 및 증명 첫째, 인증 뭔가를 인증하는 것은 간단합니다 정품인지 유효한지 증명하기 위해 정통합니다

우리는 예술 작품, 공식 문서, 필기체 서명 우리는 또한 대부분 얼굴 인식을 사용하여 서로를 인증합니다 이것은 우리에게 매우 자연스러운 일입니다 매우 직관적입니다 컴퓨터는 종종 암호를 사용하여 우리를 인증합니다

자동차는 종종 열쇠를 사용하여 우리를 인증합니다 그래서 우리는 일상 생활에서 항상 인증을 사용합니다 그것에 대해 생각조차하지 않고 그러나 하나의 컴퓨팅 장치가 다른 컴퓨팅 장치를 인증해야합니까? 이것은 우리가 생각하기에 덜 직관적입니다 흔히 비밀 데이터입니다 따라서 본격적인 컴퓨터는 비밀 데이터에 액세스 할 수 있습니다

다른 모든 컴퓨터는 그렇지 않습니다 이 비밀 데이터가 가질 수있는 두 가지 형식이 있습니다 나는 그 얘기를 듣고 싶다 하나는 암호 키입니다 다른 하나는 무기명 토큰입니다

인증하는 다른 방법이 있습니다 그러나 이것들은 매우 일반적이며 직접적으로 관련이 있습니다 우리의 "TensorWash"예제 나는 그들 각각을 조금씩 파헤쳐 보겠다 따라서 암호화 키와 인증서 웹에서 매우 일반적입니다

이것은 웹 브라우저가 웹을 인증하는 방법입니다 섬기는 사람– 예를 들어 HTTPS를 사용합니다 인증에는 인증서 확인이 포함되며, 상기 인증서 내의 상기 정보를 검증하는 단계; 이미 신뢰하고있는 것에 대해 확인 또는 당신이 기대하는 것, 그 증명서는 당신이 신뢰하는 어떤 것입니다 우리는 또한 열쇠 소유 증명을 검증해야합니다 키 자체는 전송되지 않습니다 네트워크를 통해 또는 적어도 열쇠의 비공개 부분

그러나 우리는 다른 컴퓨터에 소유권이 있는지 확인해야합니다 그것의 증거가됩니다 따라서 실제로이 작업을 수행하는 것은 정말 어려울 수 있습니다 이러한 프로토콜을 작성하는 것은 정말 어려울 수 있습니다 나는 너 자신을 직접 만들지 말 것을 강력히 권한다

그것을하는 좋은 도서관을 찾으십시오 Android Things를 사용하는 경우 HTTPS 및 TLS를 지원합니다 내장되어 있으므로 구현할 필요가 없습니다 그래서 나는 이런 종류의 인증을 비교하기를 좋아한다 공항 여권 수표로

네가 상상한다면 여권을 가져 가라 수표까지 와서 요원 특정 정보의 유효성을 검사 할 것입니다 여권에 그들은 그것이 권위에서 왔음을 입증 할 것입니다 그들이 신뢰하는 것

그리고 나서 그들은 소유 체크의 증거를 할 것입니다 여권의 경우, 사람의 얼굴과 그림이 일치한다 그들 앞에 서서 나는 또한 무기 토큰에 대해 이야기하고 싶다 이것들은 약간 다르게 작동합니다

그들은 순서대로 한 컴퓨터에서 다른 컴퓨터로 전달됩니다 확인하십시오 컴퓨터에서 종종 불투명합니다 그것을 보냅니다, 그러나 의미심장 한, 물론, 그것을 확인하는 컴퓨터에 토큰의 송신자 또는 베어러 인증 토큰의 인증에 의해 암시됩니다

검증자는 토큰을보고 확실한 토큰인지 아닌지에 대한 결정 나는 이것을 영화 표의 예와 비교하고 싶다 너는 티켓 대에 가서 영화 티켓을 산다 그 티켓이 당신의 무기명 토큰이됩니다 너는 극장에 들어가, 너는 선물한다

그 토큰, 당신은 들어갈 수 있습니다 그 티켓을 친구에게 넘깁니다 당신의 친구는 이제 그 토큰을 소지 한 사람입니다 그리고 그들은 영화에 들어갈 수 있습니다 종종 이러한 종류의 토큰은 보다 철저한 인증을 나타내는 데 사용됩니다

과거에 일어난 일입니다 또 다른 좋은 예가 있습니다 웹에서 로그인이 필요한 웹 사이트를 가지고있을 때, 사용자 이름과 암호로 로그인하십시오 그리고 암호를 다시 입력해야한다고 상상해보십시오 해당 사이트 내의 모든 페이지에 대해 새 페이지로 이동하고 암호를 다시 입력하십시오

그것은 쓸모 없을 것이다 그리고 너무 자주, 두포에서 무슨 일이 일어나는가? 웹 서버가 브라우저에 베어러 토큰을 발급 할 것입니다 그리고 그것은 일정 시간 동안 살 것이다 그리고 귀하의 계정에 액세스 할 수 있습니다 그 웹 사이트에서 의미합니다

따라서 비밀번호를 계속 입력하지 않아도됩니다 시간 IoT 장치에서도 동일한 방식으로 작동합니다 한 번 철저히 조사 할 수 있습니다 토큰을 발행하면 훨씬 가벼운 인증을받을 수 있습니다

그 시점부터의 메커니즘 인증에 대해 생각해 봅시다 IoT의 맥락에서 외침을받을 가치가있는 몇 가지 측면이 있습니다 하나는 인증이 양방향으로 진행되어야한다는 것입니다 장치 주변의 서비스 및 기타 장치 해당 장치를 인증해야합니다

그리고 그 장치는 인증을 필요로합니다 다른 서비스, 주변의 다른 장치 예를 들어, 장치는 웹 서비스를 인증하고, 브라우저가 웹을 인증하는 것과 같은 방식으로 HTTPS 또는 TLS를 사용하는 서비스 또한, 인증은 반드시 신원 확인을 의미합니다 종종, 우리는 그런 식으로 생각하지만, 반드시 그런 것은 아닙니다

그렇게해야합니다 제한된 웹 서비스의 예를 들어보십시오 [INAUDIBLE] 웹 서비스를 가정 해 보겠습니다 하지만 제품 인스턴스가 다시 연결할 수 있도록 설계되었습니다 그 웹 서비스에

그리고 모든 고객이 실제로 있는지 확인하고 싶습니다 해당 웹 서비스의 인스턴스 당신이하고 싶은 것은 인증입니다 그것은 당신의 장치 중 하나이지만 실제로는 어느 쪽인지 신경 써라 이 경우 실제로 익명 인증을 수행 할 수 있습니다

또한 인증을 바인드해야합니다 의미있는 기대에 이르기까지 우리가 인증하는지 확인하고 싶습니다 우리가 생각하는 것, 우리가 인증을 기대하고있는 것 몇 가지 예를 들어 보겠습니다

만약 당신 앞에 장치가 있다면, 당신은 그 장치를 인증하기를 원합니다 그것을 물리적 인 무언가에 묶는다 기기에서 실제적인 것을 찾아보십시오 기기에 화면이 있고 휴대 전화와 화면에 모두 코드를 표시 할 수 있습니다 예를 들어, 그것은 그 인증의 물리적 바인딩입니다

블루투스 페어링을 할 때 일반적인 경험입니다 또는 그런 것 그러나 장치 나 바코드에 스티커를 사용할 수도 있습니다 그리고 우리는 그것에 대해 조금 더 이야기 할 것입니다 암호화 된 채널도 마찬가지입니다

암호화 된 채널을 설정 한 경우 그런 다음 해당 채널을 인증해야합니다 해당 채널에 인증을 바인드하십시오 따라서 TLS 나 HTTPS와 같은 표준 프로토콜을 사용하는 경우, 이것은 이미 당신을 위해 이루어졌습니다 그것에 대해 걱정할 필요가 없습니다 그러나 두 장치간에 작업을 수행하는 경우, 예를 들어, 그들은 지원하지 않습니다

그런 종류의 프로토콜, 그럼 당신은 이것에 대해 생각할 필요가 있습니다 이제 "TensorWash"예제로 돌아가 보겠습니다 모든 인증을 살펴보십시오 그럴 필요가 있습니다 그래서 우리는 완전하게 프로 비전되지 않은 상태에서 시작할 것입니다

그래서 우리는 우리의 "TensorWash"기계를 상자에서 꺼냈습니다 이제 스마트 폰이 이미 설치되었다고 가정 해 봅시다 스마트 폰은 웹 서비스를 인증 할 수 있습니다 HTTPS, TLS를 사용합니다 그리고 우리의 경우에는 Google에 전화로 로그인 한 Google 계정이 있습니다

그래서 그 웹 서비스는 전화를 인증 할 수 있습니다 그래서 양방향 인증 관계가 있습니다 그곳에 우리가해야 할 첫 번째 일은 이 새로운 장치를 인증해야합니다 우리가 원하는 것은 자격 증명을 보내고 싶다는 것입니다

그 자격 증명은 가치가있을 수 있습니다 – Wi-Fi 암호, 클라우드 서비스에 대한 액세스 그리고 우리가 올바른 장치로 보내고 있는지 확인하고 싶습니다 우리가 그것을 보내기 전에 일단 우리가 그것을 제공하면, 우리는 그 상태로 끝나기를 원합니다 양방향 인증 관계가있는 곳 "TensorWash"시스템과 클라우드 서비스 사이 그래서 여기에 두 개의 예를 들었습니다

Firebase Cloud IoT Core를 "TensorWash"와 함께 사용할 예정입니다 그리고이 두 가지면에서 우리는 양방향 관계를 원합니다 다시 말하지만, 웹 서비스 인증, 우리는 표준 TLS HTTPS를 사용할 것입니다 그리고 우리는 다른 형태를 사용할 것입니다 우리는 조금 더 자세하게 이야기 할 것입니다

나중에 장치를 인증 할 수 있습니다 하지만 그 자격은 될거야 이 과정에서 전화로 제공됩니다 그래서 당신은 거기에 주목했을 것입니다 하지 않은 하나의 인증입니다

내보기에서 두 가지 방향으로 나아가십시오 이건 어때, 여기 노란색 이니? "TensorWash"에서 전화로 "TensorWash"장치를 상자에서 꺼내도 괜찮습니까? 설정하려고하는 전화를 인증하지 않습니까? 그래서 우리는이 방법을 사용했습니다 일반 소비자 장치 용 그들은 상자에서 나오면 깨끗한 상태에 있습니다

소유자가 누구인지에 대한 개념이 없습니다 또는 그들이 신뢰하는 사람 그들은 설치가 가능합니다 그래서 우리는이 경우를 만들고 싶었습니다 그리고 대부분은 괜찮습니다

자격 증명으로 상자에서 나오지 않습니다 그것을 내줄 예정입니다 그것은 자격 증명을 받고, 그래서 덜 중요하다, 예를 들어, 인증이 필요한 전화 "TensorWash"장치 그러나 예를 들어, 엔터프라이즈 제로 터치, 대량 출시 시나리오, 그 장치를 상자에서 꺼내기 원하는 곳 자신을 설정하십시오 상자에서 나올거야

이미 그것이 누구를 신뢰하는지에 대한 개념을 가지고있다 그리고 이것은 HTTPS URL을 취하는 것만 큼 간단 할 수 있습니다 그것을 장치에 임베드하여 깨어날 때, 그것은 그것이 갈 수있는 곳을 안다 그리고 그것을 기입 할 수있는 등록 서버가 될 수 있습니다 나머지 신임장이나 정보와 함께 구성이 필요합니다

그러나 우리는 우리의 대화를 위해 그 비트를 남겨 둘 것입니다 그리고 우리는 소비자가 있다고 가정 할 것입니다 장치, "TensorWash"가 깨끗한 상태로 상자 밖으로 나옵니다 그래서 우리는 인증에 대해 이야기했습니다 어떤 것이 진짜인지 확인하고있는 중입니다

그리고 지금 저는 허가에 대해 이야기하고 싶습니다 승인은 무언가가 허용되는지 여부를 확인하는 것입니다 그것이하려고하는 것을 할 수 있습니다 공항 여권 수표를 다시 생각해보십시오 유효한 여권을 가지고 공항에 도착합니다

수표를 통과 할 것이라는 의미는 아닙니다 예를 들어, 그들은 검사 할 것입니다 당신이 그 날 비행을 계획했는지 여부 여권이 본격적인 여권이기 때문에 당신이 통과한다는 것을 의미하지는 않습니다 여전히 추가 승인이 있습니다

유사하게, 영화 티켓 시나리오에서, 작년 영화 티켓을 가지고 극장에 가면, 당신은 당신의 영화를 보지 못할 수도 있습니다 그것은 다른 시간, 다른 날짜, 다른 보여주는 그리고 거기에 영화 티켓이 완벽하게 정통하더라도 따라서 OAuth 20의 예를 사용하고 싶습니다 매우 일반적으로 사용되는 인증입니다

웹용 프레임 워크 그것은 웹용으로 제작되었습니다 주어진 IoT 사용 사례에 따라 작동하지 않을 수도 있습니다 하지만 좋은 예입니다 중요한 몇 가지 개념을 풀어 나가야합니다

OAuth 20을 사용하지 않더라도, 당신은 이러한 개념들에 대해 생각할 필요가 있습니다 두 가지 큰 것들은 토큰 범위와 토큰 수명입니다 토큰 범위는 어떤 권한을 설명합니다 토큰과 연관되어 있습니다

그럼,이 토큰의 소지자는 무엇에 접근 할 수 있습니까? 토큰 수명은 토큰이 만기되는시기를 설명합니다 그리고 새로 고침 토큰의 개념이 있습니다 대 액세스 토큰 액세스 토큰이 사용됩니다 도착하려는 실제 리소스에 액세스하려면 보호 된 자원

이 토큰은 보통 수명이 짧고 범위가 좁습니다 그리고 그것은 자급 자족 할 수 있습니다 따라서 리소스 서버에 대한 결정 최적화되고 신속해질 수 있습니다 또한 백엔드 조회를 수행 할 필요가 없습니다 수신 한 토큰을 살펴 본다

그 정보로 결정을 내릴 수 있습니다 반대로 토큰을 새로 고침하면 이전 액세스가있을 때 새 액세스 토큰을 얻는 데 사용됩니다 토큰이 만료됩니다 이 토큰은 종종 수명이 길다 그들은 더 광범위하게 범위가 지정되어 있으므로 가서 다양성에 대한 액세스 토큰을 얻고 싶을 수도 있습니다

다른 범위의 그리고 그들은 특별히 자체적으로 포함되지 않습니다 이것이 가능하면 허가가 가능합니다 그 여부에 대한 결정을 내리는 서버 새로 고침 토큰을 기반으로 새 액세스 토큰을 제공해야합니다 해지가 있었는지 여부를 결정할 수 있습니다

그 허가 그리고 그것은 당신이 IoT와 함께 갖고 싶어하는 것입니다 그 수동적 만료를 원한다 따라서 해지되면 현재 액세스 토큰 집합 만료되면 더 이상 액세스 할 수 없습니다 다른 액세스 토큰을 가져올 방법이 없습니다

너는 상황에 있고 싶지 않아 사용하지 않는 IoT 장치를 벽장에서 꺼내야 만하는 곳, 여전히 부팅되고 공장 초기화가 이루어지기를 바랍니다 그것을 인증 해제하기 위해 당신은 그 일을 수동적으로 할 수 있기를 원합니다 그래서 이것은 OAuth spec rfc6749의 스 니펫입니다 새로 고침 토큰 흐름을 묘사합니다

중간에있는 액세스 토큰을 볼 수 있습니다 보호 된 리소스 및 리소스 서버에 액세스하는 데 사용됩니다 E와 F 단계에서 액세스 토큰이 만료 된 곳입니다 그러면 오류가 다시 발생합니다 그리고 바닥의 아래쪽, G와 H, 새로 고침 토큰이 사용 된 것을 볼 수 있습니다

권한 서버에서 다른 액세스 토큰을 가져올 수 있습니다 다행히도 시각화에 도움이됩니다 조금 더 좋아 그럼 인증에 대해 생각해 봅시다 IoT 또는 IoT 장치의 맥락에서 우리는 인증에 대해 이야기했습니다

두 가지 방법이 필요합니다 권한 부여는 두 가지 방법으로 갈 필요가 있습니다 아니면 적어도 양 방향으로 생각할 필요가 있습니다 우리는 누가 장치에 액세스 할 수 있는지, 누가 데이터를 읽을 수있는 장치에 명령을 보낼 수 있습니다 장치 등으로부터 우리는 또한 장치가 무엇에 접근 할 수 있는지 생각할 필요가 있습니다

웹 서비스에 연결할 때 어떤 권리가 있는지, 예를 들면? 우리는 최소한의 권한 원칙을 사용하기를 원합니다 우리는 필요한 것보다 더 많은 특권을주고 싶지 않습니다 이것은 IoT의 정말로 공통적 인 문제입니다 그저 그렇게주는 것이 너무 쉽기 때문이라고 생각합니다 서비스에 대한 기기 총 승인 에 연결하면 더 이상 문제가 발생하지 않기 때문입니다

인증 오류가 발생하지 않으며, 모든 것이 제대로 작동합니다 문제는 장치가 해당 승인의 10 % 사용, 기기가 해킹 당하면 이제 공격자는 모든 것을 액세스 할 수 있습니다 비록 당신이 그것을 사용하지 않았더라도 또한 만료가 필요합니다 나는 수동적 만료에 대해서 이야기했다

또한 토큰을 전달할 때 조심해야합니다 토큰은 물론 만들어집니다 특정 목적으로 통과, 예를 들어 검증 하지만 너는 네가 토큰을 보내기 전에 수신자를 인증했습니다 검증을 위해 웹 서비스로 보내고 있다면, HTTPS를 초과하는지 확인하십시오

새 기기를 구입하는 경우, 우리의 "TensorWash"케이스처럼, 그 새로운 장치를 인증하십시오 토큰을 보내기 전에 잠시 후에 알 수 있듯이 Firebase와 같은 Google 서비스 Android의 경우 Firebase SDK가 토큰을 관리합니다 이 토큰 관리에 대해 걱정할 필요가 없습니다 중대하다 그럼 돌아가서 승인을 살펴 봅시다

특히 "TensorWash"시나리오에서 우리는 전화가 이미 있다고 가정하는이 상태에서 시작합니다 이러한 클라우드 서비스로 새 장치를 설정할 수있는 권한이 부여되었습니다 전화가 암묵적으로 승인되었습니다 "TensorWash"장치를 설정해야합니다 그것에 관한 정책이 있으십시오

우리가 제공 한 후에 우리가 원하는 곳은 Firebase와 양방향 인증을 원합니다 그래서 우리는 Firebase Realtime Database를 사용할 것입니다 또한 장치와 동기화 할 수 있습니다 또한 장치에서 클라우드까지 데이터를 동기화 할 수 있습니다 그리고 장치와 동기화 될 때, 우리는 실제로 그것을 사용하여 장치에 명령을 내릴 수 있습니다

Firebase가 승인 된 권한이 있습니다 장치에 명령을 내리고 장치 데이터를 Firebase로 밀어 넣을 권한이 있습니다 Cloud IoT Core의 경우 화살표를 한 방향으로 만 넣으면됩니다 우리가 사용하려고하는 것은 통계입니다 기기가 작동하면서 메타 데이터를 Cloud IoT Core 프로젝트로 밀어 넣는다

푸시 할 권한이 있어야합니다 그 특정 프로젝트에 이제 어떻게 설정했는지에 대한 세부 정보를 보여 드리겠습니다 모두 위로 첫째, 저는 하나 더 핵심 개념에 대해 이야기하고 싶습니다 그것은 증명입니다

증명은 실제로 컴퓨팅의 무결성을 입증합니다 상태를 가진 장치, 현재 운영중인 장치 포함 장치의 상태 그래서 이것은 정말로 특별한 종류의 인증입니다 이것을 가능하게하기 위해서, 기기에 이미 자격증 명이 있어야합니다 그것은 그 자체를 증명하는 데 사용할 수 있습니다

종종 공장을 제공합니다 그래서 장치가 상자에서 나오면, 이미 진짜 인스턴스임을 증명할 수 있습니다 그 특정한 제품의 또한 증명이 종종 바운드됨을 언급 할 가치가 있습니다 암호 키로

따라서 장치의 증명 주장 대신에, 말하자면, 저는 안전한 모드에서 작동하는 진정한 장치입니다 그것은 조금 더 비슷합니다이 특별한 암호 키 정품 장치로 안전하게 보관 보안 모드에서 실행 중입니다 그리고 이것은 유용합니다 증명을 다른 것에 묶는 우리 열쇠를 사용합니다

다른 종류의 인증, 예를 들면 그리고 나중에 예제에서 보게 될 것입니다 Cloud IoT Core에 연결하기 위해 이와 같은 키를 사용합니다 그래서 안드로이드는 특히, 당신은 다양한 속성을 증명할 수 있습니다 당신은 그것이 진정한 안드로이드 것들임을 증명할 수 있습니다 장치

인스턴스인지 확인할 수 있습니다 특정 제품에 대한 장치 ID를 확인해야합니다 장치 상태를 확인할 수도 있습니다 내가 말했던 것처럼 그리고 우리가 끌어 낸 것들 중 하나는 검증 된 부팅 상태입니다

이 장치가 실제로 실행 중일 때, 그들은 그 장치를위한 소프트웨어를 증명합니다 암호화 키의 속성을 검증 할 수도 있습니다 그리고 나는 오늘 그 일에 들어 가지 않을 것입니다 이것이 인증서 체인이 보이는 것입니다 5 단계 깊이

맨 위에는 Android Things CA, Root CA, 및 중간 CA 이들은 Google에서 관리합니다 이것들은 모든 안드로이드 것들 증명에 대한 권한입니다 인증서 중간 3 단계에는 제품 별 CA가 있습니다 또한 Google에서 관리합니다

하지만 Android Things 개발자의 맥락에서 볼 수 있습니다 콘솔 특정 제품과 관련이 있습니다 그 콘솔에 콘솔에 제품을 만들 때마다, 중간 수준의 CA가있을 것입니다

해당 제품에 할당 된 따라서 다음 단계에서는 장치 별 CA가 있습니다 그리고 이것은 공장의 각 장치에 제공됩니다 이것은 장치마다 고유합니다 해당 장치의 ID가 포함되어 있습니다 그리고 장치가 상자에서 나오면, 이것이 가지고있는 것입니다

마지막 단계는 응용 프로그램 키입니다 및 인증서 그래서 이것은 장치에서 생성되었습니다 그것은 귀하의 응용 프로그램에 의해 생성되었습니다 그리고 인증서도 생성됩니다

장치 별 CA에 의해 신뢰할 수있는 실행에 의해 보호된다 환경 그래서 우리의 "TensorWash"예제에서, 증명은 화살표로 여기에서 일어난다 "TensorWash"장치에서 전화까지 따라서 우리가 그 검증을 할 때, 전화가 확인하려고하면 장치를 인증하려고합니다

그것이 우리가 증명을 사용하는 곳입니다 그래서 빠른 검토 우리는 인증, 점검 무언가가 진실하거나 유효하다는 것; 허가, 그것이 허용되는지 확인 그것이하려고하는 일을하는 것; 및 증명, 이는 특히 컴퓨팅 장치의 무결성을 검사하는 것입니다 그리고 지금, 웨인은 우리에게 보여줄 것입니다 Android Things로이 모든 작업을 수행하는 방법

쿨, 고마워 이제 주요 개념에 대해 살펴 보았습니다 이제 우리가 무언가를 만드는 방법에 대해 이야기합시다 이것을 사용하여 Android 및 기타 서비스에서 사용할 수 있습니다 Google이 제공하는 첫 번째 단계는 무언가를 사용할 수 있다는 것입니다

Nearby Connections (인접 연결) 그리고 인근 연결은 훌륭합니다 이는 추상화 계층을 제공하기 때문입니다 근처의 기기를 찾는 데 도움이되며 암호화 된 통신 채널을 설정합니다 두건 아래서는 블루투스, BLE, Wi-Fi 핫스팟을 사용합니다

그 시간에 사용할 수있는 것은 무엇이든 사용합니다 그것에 관한 또 다른 좋은 점은, 연결이 설정되면, 그것은 양측에 사람이 읽을 수있는 짧은 코드를 제공합니까? 화면에 표시 할 수 있습니다 이제는 많은 사람들이 기기를 사용했습니다 여기에 화면에 약간의 코드가 표시됩니다 그리고 그것은 대부분의 경우에 훌륭합니다

그러나 앞서 언급 한 세탁기 화면이 없습니다 따라서 우리에게는 필요한 보안이 충분하지 않습니다 그리고 우리는 어떻게 그 문제를 1 분 안에 처리 할 수 ​​있습니다 하지만 Nearby Connections는 첫 번째 빌딩 블록입니다 우리가 사용할거야

따라서 코드 스 니펫을 살펴보면, 이것은 단순한 일종의 약식 버전입니다 주변 연결 샘플의 여기서 우리는 인근 연결을 만드는 것을 볼 수 있습니다 클라이언트 상단에 그런 다음 몇 가지 검색 옵션을 지정합니다

방금 기본값 인 P2P 클러스터를 사용했습니다 우리가 여기서 사용하는 것은 그렇게 중요하지 않습니다 일단 발견 과정을 시작하면, 우리는 서비스 ID가 필요합니다 그래서이 경우에 그것은 텐센트 워시의 예입니다 제품 ID와 같습니다

Android에서의 앱 이름이 아닙니다 그들은 그것을 서비스 ID라고 부릅니다 그러나 그것은 당신의 장치의 이름이 무엇인지, 또는 당신이 그것을 부르고 싶은 무엇이든지 그런 다음 엔드 포인트 발견 콜백도 있습니다 Nearby Connections에서 언제든지 코드를 호출합니다

새로운 장치가 발견되었습니다 그리고 당신이 할 일은리스트 뷰를 유지하는 것입니다 그리고 UI를 업데이트하고, 발견 된 모든 장치를 보여줍니다 명확하게 말하면, 우리는 한 번에 하나 이상의 장치를 사용할 수 있습니다 그리고 나서 사용자가 원하는 것을 선택하면, 그들은 그것을 선택할 수 있습니다

그리고 우리는 연결을 설정할 수 있습니다 기기 측에서 Nearby 지원 startAdvertising 메소드입니다 기본적으로 사람이 읽을 수있는 장치 이름을 제공하십시오 그런 다음 동일한 서비스 ID를 입력합니다 그리고 콜백을 설정합니다

연결이 설정 될 때마다 호출됩니다 따라서 사용자가 장치를 선택하면, 그래서 그들은 스크린에서 그것을 골랐습니다 이제 요청 연결 방법을 사용해야합니다 연결 설정을 처리합니다 전달 된 원격 엔드 포인트 ID로 이동하십시오

다시 한 번 콜백이 있습니다 그리고 onConnectionInitiated는 다음과 같습니다 해당 장치로 연결이 시작될 때 사용됩니다 그리고 그것은 인증 토큰을 채운다 그것은 우리가 언급 한 짧은 코드입니다

인근 연결을 사용하면 사람이 읽을 수있는 짧은 값을 얻을 수 있습니다 다시 한번, 우리는 디스플레이가 없다 그래서 우리는 잠시 후에 그 문제를 어떻게 다룰 지 이야기 할 것입니다 하지만 여기서 볼 수 있습니다 코드는 정말 간단합니다

Nearby Connections와 함께 작업 할 수 있습니다 그리고 그것은 우리를 아주 빨리 가게합니다 그 다음 일은 대런이 증인에 대해 말한 것입니다 및 장치를 확인하는 것 따라서 우리 앞에있는 장치가 우리가 실제로 연결하고있는 것입니다

전화로 우리가하는 일은 실제로 임의의 도전 과제를 만듭니다 그래서 난수는 유일합니다 이 연결을 위해 그런 다음 기기로 전송합니다 그리고 우리는 이것을 사용하여 재연 공격을 막습니다

그리고 장치는 임의의 도전을합니다 인증 코드와 결합 주변 지역의 연결에서 가져 와서 그런 다음 이것을 사용하여 생성합니다 Android Keystore의 새로운 키 증명 인증서 체인과 함께 이 인증서 체인은 전화로 다시 전송됩니다 그러면 휴대 전화에서이를 확인할 수 있습니다 잠시 후에 얘기하겠습니다

그리고 우리가 임의의 도전을 사용하고 있지만, Nearby의 인증 코드가 중요합니다 암호화 채널에 바인딩하는 데 도움이되기 때문에 우리가 지금 사용하고있는 것 그리고 다른 것은 속도를 결정하는 것이 중요하다는 것입니다 실패한 연결을 제한합니다 그래서 네가 원하지 않는 것은 누군가를위한거야

기기를 끊임없이 연결할 수 있어야합니다 임의의 코드를 시도해보고 일부 키를 생성하도록하십시오 속도를 줄이는 것이 더 낫습니다 귀하의 장치를 공격하는 사람들 여기에 몇 가지 코드가 있습니다

너무 많이 걱정하지 마십시오 너에게 몇 가지 비트를 보여주고 싶었어 그리고 거기있는 것의 조각 하지만 장치에는 인증 토큰이 있습니다 근처에서

우리는 이전에 얻은 무작위적인 도전에 참여합니다 우리는 그것을 함께 결합합니다 이 코드를 사용하여 여기에 서명 키를 생성합니다 그리고 당신이 무언가를 생성 할 때 흥미로운 부분이 있습니다 Android Keystore에서 신뢰할 수있는 상태로 완료되었습니다

실행 환경 따라서 우리는 앱에 키를 실제로 보관하지 않습니다 우리는 실제로 신뢰할 수있는 실행 환경에 보관합니다 이것이 의미하는 바는 훌륭합니다 누군가가 우리 앱을 해킹하더라도, 그들은 개인 키를 꺼낼 능력이 없습니다

따라서 우리가하는 일에 추가적인 보안이 추가됩니다 어쨌든, 우리는이 모든 것들을 넣었습니다 모든 보라색 값은 모두 표준 상수입니다 당신이 사용하는 따라서 정확하게 캡처하는 것에 대해 걱정하지 마십시오

나중에 샘플을 출시 할 예정입니다 그 속에이 모든 것을 가지고 있습니다 그러나 나는 그저 약간의 걸음을 걷고 싶었습니다 하지만 결국 인증서 체인을 추출합니다 그리고 그게 당신이 그걸로 전화로 돌려 보내는거야

그것을 확인하고 무엇이든지 할 것입니다 그래서 Darren은 이전에 인증서 체인의 개념에 대해 언급했습니다 공장 출고시 증명 키 이 잎의 인증서 체인도 함께 제공됩니다 Android Things 루트 인증서로 돌아갑니다 이제 우리는 방금 생성 한 키에 대한 전체 체인을 갖게됩니다

그래서 바닥에, 우리가 방금 만든 것입니다 그리고 그것은 안드로이드 Things 루트에 다시 연결됩니다 이제 "TensorWash"가 생성되었습니다 그것은 사용자 지정 인증 키와 인증서 체인입니다 우리는 체인을 전화로 보냈습니다

전화로 이걸 확인해야 해 개조되지 않은 합법적 인 장치입니다 그리고 그것은 또한 우리 앞에있는 것입니다 사실 꽤 지루한 과정입니다 여러 단계가 있습니다

아마도 우리가해야 할 일입니다 장래에 도서관에두기 하지만 네가해야 할 일의 요지 인증서를 확인해야합니까 체인이 올바르게 연결되었습니다 루트가 신뢰할 수 있는지 확인해야합니다 Android Things의 루트

제품 ID인지 확인해야합니다 장치의 128 비트 UUID를 확인할 수 있습니다 이것은 공장에서, 당신은 실제로 코드를 가지고 박스에 찍어 인쇄 할 수 있습니다 사용자가 실제로 일치하는지 확인할 수 있습니다 그들 앞에서 한 사람과 부팅 상태를 확인할 수 있습니다

키가 서명되면 전송됩니다 부팅 여부를 나타내는 플래그와 함께 로더가 조작되었습니다 증명 질문을 확인합니다 우리는 조금 이야기 할 것입니다 그러면 공개 키로 저장할 수 있습니다

그리고 우리가 인증을 원할 때 유용 할 것입니다 나중에 클라우드 IoT를 사용합니다 전화 측에서 우리는 입증이 필요한지 확인해야합니다 도전은 정확합니다 그래서 우리는 그 인증서에서 증명을 추출합니다

그런 다음 인증 토큰의 해시를 만듭니다 근처에서부터 우리가 이전에 생성 한 무작위적인 도전 그리고 우리는 그것들을 결합하고 해시를 생성합니다 인증서에서 나온 것과 일치하는지 확인합니다 장치에서 체인

그리고 이런 종류의 것은 전체 루프가 완전하고 안전합니다 중요한 것은 실제로 장치에 직접 인증을 보냈습니다 주변에서 수행되었습니다 그래서 모든 것이 올바르게 수행되었는지 확인합니다 중간 공격에 사람이 없다는 것을 도중에

이제 우리는 그 장치가 우리의 것이라는 것을 압니다 그리고 이러한 모든 문제를 해결하는 데 도움이됩니다 우리가 확인한 이제 전화가 "TensorWash"를 신뢰할 수 있음을 확인했습니다 이제 Wi-Fi 네트워크에서 장치를 인증해야합니다 가장 빠른 방법은 팝업으로 휴대 전화의 활동을 말하자

Wi-Fi SSID 및 패스 프레이즈? 그러나 물론 사용자들은 그렇게하고 싶지 않습니다 사용자 친화적이지 않습니다 그리고 사용자는 자신의 암호를 입력해야합니다 앱이 암호를 읽는 동안 앱이 암호를 보게됩니다 장치로 전송됩니다

그리고 다음으로 할 일은 장치 측에서, Wi-Fi 관리자를 사용해야합니다 SSID와 암호를 설정합니다 그래서이 코드는 작은 코드 조각입니다 그러나 Wi-Fi 관리자는 좀 더 복잡합니다 따라서 실제 샘플을 보면, 이것은 작성해야하는 코드입니다

Wi-Fi Manager와 대화 할 수 있습니다 그래서 이것은 우리가 작업하고있는 것입니다 우리가 사용할 수있는 작은 코드 라이브러리를 만들고 싶습니다 당신이 가지지 못하게하기 위해이 모든 것을 건너 뜁니다 그 종류의 코드를 작성하십시오

그리고 우리는 더 좋은 소식을 가지고 있습니다 Nearby 설치라는 API가 있습니다 Google Play 서비스로 이동합니다 곧 제공 될 Nearby Setup에 대한 가장 좋은 점은, Wi-Fi 자격증을 취득 할 수있는 능력이 있다는 것입니다 휴대 전화에 저장되어 다른 기기 인 Google에 전달됩니다

서비스를 재생하십시오 Android Thing은 Google Play 서비스를 지원합니다 자격 증명을 복사 할 수 있습니다 너 자신을 다룰 필요가 없다 사용자는 입력 할 필요가 없습니다

따라서 사용자 편의를 위해 매우 유용합니다 그래서 곧 나옵니다 세부 사항은 developersgooglecom/nearby에서 확인할 수 있습니다

나중에 준비가되면 우리 장치에서 인터넷에 접속할 수 있고 열쇠가 있습니다 자, 이제 어떻게하면 우리는 이야기하고 얻는 것에 대해 갈 것입니다 클라우드 서비스가이 장치에서 활성화되었습니다 그래서 Firebase와 Cloud IoT에 대해 이야기 할 것입니다

그래서 우리가해야 할 첫 번째 일은 전화 측에서, Firebase를 설치해야합니다 Firebase는 Android, iOS 및 웹에서 작동하기 때문에 훌륭합니다 따라서 휴대 전화 앱은 여러 종류의 기기에있을 수 있습니다 Firebase 프로젝트 ID를 생성합니다 그리고 우리는 전화와 장치 모두에서이를 사용할 것입니다

그런 다음 전화 사용자에게 인증을 요청합니다 그들의 사용자 이름과 비밀 번호로, 대화 상자를 팝업, 그러면 우리가 토큰을 얻을거야 이전에 생성 한 암호화 된 파이프를 전달하십시오 여기에 약간의 코드 스 니펫이 있습니다 맨 위에 로그인 요청을하는 중입니다

흥미 롭습니다 우리는 단지 요청하고 있기 때문입니다 이메일 ID의 범위 Google은 완전한 Google 액세스를 원하지 않습니다 파일이나 이메일 또는 그와 비슷한 것에 액세스 할 수 있습니다

우리는 신분증 명을 요구하고 있습니다 범위를 제한하려고하기 때문에 Darren이 이전에 이야기했던 것과 같습니다 우리는 결국 JSON 웹 토큰을 얻습니다 그러면 Firebase로 로그인 할 수 있습니다 그러면 우리 장치는 Firebase와 상호 작용할 수 있습니다

하지만 우리는 그 토큰을 발송합니다 이전 토큰을 기기로 보냈습니다 그래서 Firebase에 로그인하여 그걸로 할 수 있습니다 그래서 다른면에서 Google 토큰을 가져옵니다 그것을 Firebase에 전달하고 그걸로 인증하십시오

이제 장치는 Firebase Realtime Database에 액세스 할 수 있습니다 코드 스 니펫도 장치에서 매우 유사하게 보입니다 Android Things 기기는 일반 Android이므로, 우리는 전화에서하는 것처럼 동일한 코드를 사용합니다 자격증 명을 받아서 Firebase 인증에 대한 자격 증명으로 로그인하려면, 이제 끝났어 이제 우리는 양방향 인증을 받았습니다

그리고 우리의 "TensorWash"는 이제 완전히 Firebase Realtime Database에 참여하십시오 그럼 기어를 바꿔서 끝내자 Cloud IoT Core와도 이야기 할 수 있습니다 그래서 당신이 수천 명의 사람들과 함께 세탁실을 운영하고 있다고 상상해보십시오 기계와 수천 개의 위치, 예측 분석을 수행하려고합니다

따라서 우리는 이러한 장치에서 데이터를 푸시하고자합니다 분석을위한 구름 IoT 그래서 Cloud IoT에서 우리는 장치를 등록합니다 휴대 전화에 앱에 대한 자격 정보가 있어야합니다 그리고 당신은 그 공인 인증서 우리가 이전에 만들었던 것, 그리고 당신은 그것을 줄 것입니다

클라우드 IoT로 장치를 알 수 있도록 그리고 그것을 믿을 수 있습니다 그런 다음 MQTT를 사용하여 요청을 보냅니다 기기 ID로 Cloud IoT에 연결하고 Google 키로 서명했습니다 클라우드 IoT가이 메시지를 확인할 수 있습니다 이 키를 확인하여 합법적입니다

이전에 받았던 내용으로 확인하십시오 그런 다음 TLS를 사용하여 MQT 요청을 보냅니다 그리고 우리는 우리의 장치가 알고 있도록 TLS를 사용합니다 누가 데이터를 보내고 있는지를 기억할 수 있기 때문에 신뢰할 수 있습니다 양측은 상대방을 확인해야합니다

여기에 아주 간단한 작은 조각이 있습니다 프로젝트 ID와 사물의 일부를 입력하는 방법을 보여줍니다 그렇게 그리고 샘플도 공개 할 예정입니다 곧 Android에서 Cloud IoT Core를 수행하는 방법을 보여줍니다

그리고 좋은 점은 publishDeviceState입니다 아래쪽에는 기본적으로 원하는 이진 BLOB가 필요합니다 그것을 클라우드 IoT로 보냅니다 그리고 생성에 대해 걱정할 필요가 없습니다 어떤 메시지 든

그래서 우리는 Cloud IoT와 Firebase에 대해 매우 빨리 이야기했습니다 당신이 할 수있는 일의 다른 옵션은 무엇입니까? 음, 우리는 또한 스마트 홈이 있습니다 Google에서 기기를 제어하는 ​​새로운 방법입니다 조수 당신이 전구를 가지고 있다면, 당신은 할 수 있습니다

조명을 조금 어둡게 말할 수 있습니다 또는 세탁기의 경우, 스마트 홈을 구현하면 내 세탁기 시작하고, Google Assistant에서 세탁물을 차게됩니다 따라서 Firebase를 구현하면 스마트 홈에 연결되는 작은 웹 고리를 작성하십시오 그런 다음 기기를 사용하도록 설정할 수 있습니다 Google Assistant로 그리고 마침내, 당신은 실제로 Google Assistant SDK를 장치에 내장하십시오

세탁기와 실제로 대화 할 수 있음을 의미합니다 직접 기계에 명령을 내리십시오 그것은 시원한 종류 다 그럼 다음은 뭐니? 조만간 공장에서 핵심 프로비저닝 스토어를 제공 할 예정입니다 기본적으로 하드웨어 장치가 있습니다

Android Things 기기에 키를 추가 할 수있게됩니다 이것은 당신이 할 수있는 일입니다 또는 그들이 생산 될 때 그리고 이것이이 열쇠가 장치에 어떻게 도달 할 것인가입니다 개발자 키트가있는 경우 키 서명을 올바르게 테스트 할 수 없으며, Android의 공식 키가 없으므로 소지품

그러나 우리는 도구를 공개 할 것입니다 곧이 일을 할 수 있습니다 Nearby Setup API도 곧 출시 될 예정입니다 그리고 그것은 프로비저닝을하는 것이 정말 좋을 것입니다 이거 정말 쉽습니다

따라서 요약하면 Google 사이트를 방문하십시오 androidthingswithgooglecom, 훌륭한 커뮤니티입니다 많은 정보가 담긴 사이트

우리는 G + community, gco/iotdev, 더 많은 정보를 얻을 수있는 곳, 그리고 오는 사이트를 추적 할 수있는 Nearby 사이트 곧 또한 소셜 미디어에서도 우리를 팔로우하십시오 기회가 없다면 IMX7 중 하나를 사용해보십시오 Google I / O에서 제공하는 개발자 키트 그래서 당신이 그 중 하나를 얻을 수 있는지 확인하십시오

너 자신 안드로이드 것들을 시도 할 수 있습니다, 정말 재미있는 개발 경험이기 때문입니다 프로토 타입 제작에 적합합니다 그러나 생산 장치 제작에도 좋습니다 그것이 우리를위한 것입니다와 주셔서 대단히 감사합니다

그리고 우리는 회의에서 당신을 만날 겁니다 고맙습니다 [음악 재생]

Explained – Android Looper and handler

안녕 얘들 아 코드 교사 여기 ​​그리고 내 이름은 Anil Deshpande입니다 이것은 이전 비디오의 연속입니다 UI

내가 이전 비디오에서 말했던 것처럼 하지만 UI를 별도의 스레드에서 업데이트하는 것은 조금 까다 롭습니다

별도의 스레드에서 UI 스레드를 업데이트하려고하면 어떤 일이 일어나는지 봅시다 나는이 특별한 경우에 디자인을 약간 수정했다 나는 count라는 변수를 유지했다 while while 루프에서 계속 증가한다

텍스트보기를 추가했는데 특정 텍스트보기를 업데이트하려고합니다 스레드가 카운터의 값을 증가시킬 때마다 이점을 위해서만

이 앱이 어떻게 실행되는지 보여 드리겠습니다 자리에 변수를 계산 그래서 볼 수 있습니다 응용 프로그램이 시작됩니다

처음에는 스레드가 하나입니다 시작 스레드 단추를 클릭하면 카운터가 계속 증가합니다 스레드 ID가 다르다는 것을 알 수 있습니다

스레드 중지 버튼을 클릭하면 카운트는 10시에 멈추게 될 것입니다 이제 카운트 값을 로그에 출력하는 대신 나는 그것을 텍스트보기로 업데이트하고 싶다

그래서 여기에 텍스트보기의 인스턴스가 있습니다 그리고이 특정 텍스트보기를 설정해야합니다 새로운 카운트 값으로

그러니 내가 해봅시다 텍스트보기 도트 세트 텍스트와 카운트

카운트로 업데이트 할 수 있습니다 값 그럼 다시 실례합시다 스레드가 아직 시작하지 않았어요 나는 단추를 클릭 할 것이다 그것을 클릭하면 UI를 업데이트하려고 시도해야하지만 앱이 충돌합니다 오류가 표시되면 치명적인 예외가 있으며 자세한 내용을 살펴보면

말하자면 뷰 계층 구조를 만든 원래 스레드 만이 특정 전망 기본적으로 말하는 것은 텍스트보기가 별도의 스레드에서 작성된 것입니다 메인 스레드였습니다

이 특정 카운트 값은 실행 중이거나 업데이트 중입니다 별도의 스레드 이 특정 스레드는보기를 업데이트 할 수 없습니다

즉 텍스트보기 그래서 어떻게이 특정한 문제를 해결할 수 있습니까? 왜냐하면 우리는 몇 분 동안 이러한 것들을 제쳐두고 몇 가지 더 많은 개념을 이해하고 있습니다 메시지 대기열과 관련있다 안드로이드는 항상 메시지 큐로 불리는 큐를 유지합니다 항상 채워집니다 작업 UI를 업데이 트해야합니다 이 작업은 버튼을 렌더링하는 것처럼 간단 할 수 있습니다 버튼을 클릭 할 때 무언가를하는 것입니다 따라서이 메시지 큐는 기본적으로 작업 대기열입니다 다른

이제 질문은 누가이 작업에 해당 작업을 수행 할 것인가입니다 열? 우리는 다른 스레드를 가지고 있습니다

어떤 루프가 계속 실행 중입니다 계속 실행 중입니다 특정 메시지 대기열에있는 모든 작업 이 스레드는 상수 루프에 있기 때문에 루퍼라고합니다 우리의 경우 UI를 업데이트하고 싶습니다 UI 스레드 자체는 상수 아래에 있습니다

루프 그리고 그것은 당신이 특정 메시지 대기열에 넣어 모든 작업을 실행하려고합니다 우리는 스레드를 가지고 있습니다 그리고 스레드는이 특정 큐에 작업을 넣기를 원합니다 하지만이 일은 불가능합니다 스레드는 특정 작업을 직접 수행 할 수 없습니다 열

이를 위해 Handler라는 것을 사용합니다 스레드는 작업을 제공합니다 처리기에 대기열에 그리고 처리기는 메시지 대기열에 대한 참조를 가질 것입니다 그 특정 작업을 메시지 대기열에 배치합니다 안드로이드에 따라 작업은 Runnable 인스턴스 유형이어야합니다 이 Runnable의 인스턴스 이 특정 대기열에 배치됩니다

대기열에 작업이 포함되어있는 한 이 특별한 경우 주 스레드는 실행중인 작업을 계속 수행합니다 메시지 대기열에 있습니다

이것을 실행 중에 보자 이 특정 count 변수는 이와 같이 직접 업데이트 할 수 없습니다 그래서 내가 할 일은 Handler의 인스턴스를 생성합니다

이 핸들러는 여기에서 초기화 할 것입니다 새로운 핸들러 이 새로운 Handler에는 UI 스레드의 메시지 큐에 대한 참조가 있어야합니다 그래서 그게 내가 할 수있는 건 응용 프로그램 컨텍스트 ()를 얻을 주 루퍼를 얻을 그래서 이것은이 처리기가 항상 내 메인 루퍼에 대한 참조가 될 것입니다

메인 스레드 또는 Ui 스레드이기도합니다 이제 내가 처리 할 점은 처리기입니다 게시물을 게시하고 있습니다 작업은 유형이어야합니다 Runnable

그래서 Runnable 인스턴스를 만들자 그리고 run 메소드 내부에서 textview 도트 집합 텍스트 및 여기에 이제 count 값을 입력 할 수 있습니다 그러니 내가 이걸 단추를 클릭합니다 이제 텍스트보기가 업데이트되고 있음을 볼 수 있습니다

왜냐하면 지금 updation 작업 메시지 큐에 넣어지고 차례 차례로지고있다 루퍼 스레드에 의해 실행

메인 스레드입니다 UI를 업데이트하는 또 다른 간단한 방법 이 경우에는이 모든 것을 쓸 필요가 없습니다 소지품 내가 뭘 할 수있는 직접 텍스트보기 게시물 새로운 Runnable 여기 ​​텍스트보기 스레드 개수 세트 수 이것은 또한 똑같은 일을하고 있습니다하지만 그것은 말할 수 있습니다 표기법 같은 행동을 달성 내가 이걸 실행하게 해 줘 스레드를 시작하십시오 당신은 우리가 똑같은 행동을하고 있음을 볼 수 있습니다

그래서 당신이 별도의 스레드에서 UI를 업데이 트하려는 경우 그것을 통해 이루어져야합니다 루퍼와 핸들러의 개념 이 특정 비디오의 끝 부분에 우리를 데려옵니다 새로운 개념을 배우고 싶습니다

채널을 구독하십시오 주의를 기울이십시오 안녕

Activity and Fragment Transitions in Lollipop

Android 50 Lollipop 또는 API 21 추가됨 활동 간 트래픽을보다 잘 설계 할 수있는 새로운 방법 첫째, 새 API를 사용하면 활동을 시작할 때 전환을 실행할 수 있습니다

출구 이렇게하면 화면에서 개별보기를 어떻게 사용자 정의 할 수 있습니다 진입 또는 퇴출 이를 콘텐츠 전환이라고합니다 둘째, 공유 항목 전환 만들기 , 이것은 요소가 움직일 때입니다 , 두 화면에 위치 결과는 시각적으로 지속됩니다 공통 요소들 중 새 API 응용 프로그램에 들어가기 전에 조금 얘기합시다 , 과정의이 부분이 적용될 때까지 우리가 공부 한 모든 것 연결된 모든 Android 버전에서 특히 AppCompat와 같은 Android 지원 라이브러리의 도움으로 , 우리가 본 공과에서 보았 듯이 Android API 응용 프로그램이 새로 출시 될 때마다 더욱 강력하고 효과적으로되었습니다

즉, 일부 고급 효과는 불가능할 수 있습니다 그것을 확인하거나 오래된 기계에 적용하십시오 애니메이션을 적용하는 일반적인 방법이 있습니다 최신 API 응용 프로그램을 사용하는 것이지만 모든 장치로 적절히 축소됩니다 복잡한 그림보다는 단순한 애니메이션으로 대체하십시오

기기가 지속적으로 활성화되고 업그레이드됨을 기억하십시오 따라서 새로운 API 응용 프로그램에서 작업하는 경우 처음에는 수용률이 떨어질 수 있습니다 그러나 투자 수익은 증가 할 것입니다 이제 버전 50의 새로운 활동 전환을 자세히 살펴 보겠습니다