Slide 1

Slide 1 text

Support
 Android 9 Pie note engineer meetup #1

Slide 2

Slide 2 text

About Me • Shinobu Okano • piece of cake, inc. • 2018 / 07 Join • Mobile Engineer • @operandoOS • note : operando_os

Slide 3

Slide 3 text

note AndroidνʔϜʹ͍ͭͯ • νʔϜͱݴ͑Ͳɺݱࡏ̍ਓ • Զ͕3ਓ෼ʹͳΔ… • ੒௕ͷظ଴͔͠ͳ͍νʔϜͰ͢ʂ

Slide 4

Slide 4 text

։ൃΞϓϩʔν

Slide 5

Slide 5 text

https://note.mu/laprasdrum/n/nab0b64f3fa4b

Slide 6

Slide 6 text

ͱ͸͍͑… • ϦχϡʔΞϧ·ͰݱߦͷΞϓϦ͕Ξοϓσʔτ
 ͞Εͳ͍͜ͱ͸͓٬༷ͱͯ͠͸خ͘͠ͳ͍ • Ξοϓσʔτ͕ͳ͍ = վળ͞Εͳ͍ + ΋͏
 ։ൃࢭ·ͬͯΔͷ͔ͳʁͱ͍͏ෆ҆ • ΞϓϦΛ࢖ͬͯΔ͓٬͞·ͷ͜ͱ
 ๨Εͯͳ͍Αʂͱ͍͏ελϯε͸େࣄ

Slide 7

Slide 7 text

iOSͱAndroidͰ։ൃΞϓϩʔνΛม͑Δ • iOSͱAndroidͰ͸։ൃ؍఺ɺΞϓϦͷػೳ΍
 ఏڙͰ͖ΔମݧͳͲͰ՝୊͕ҧ͏ • ՝୊͕ҧ͏ͳΒͦΕͧΕ࠷దͳΞϓϩʔνͰ
 ΍Δͷ͕ϕετ • Android͸͙͢ϦϦʔεͰ͖Δ͠
 ʮ·ͣ͸ૉૣ͘ࢼͦ͏ʯͷࢹ఺

Slide 8

Slide 8 text

note AndroidΞϓϦ աڈ3ϲ݄ͷऔΓ૊Έ

Slide 9

Slide 9 text

ԿΛ͖͔ͯͨ͠ • ࡉ͔͍࢖͍উखͷվળ + ෆ۩߹मਖ਼ • Ϋϥογϡ཰ͷվળ • Push௨஌Λ෮׆ͤ͞Δ(ྦͳ͠ʹ͸ޠΕͳ͍) • ϦϑΝΫλϦϯά? • ͍͔ͭ΍Βͳ͍ͱ͍͚ͳ͍͜ͱ

Slide 10

Slide 10 text

Ϋϥογϡ཰ͷվળ

Slide 11

Slide 11 text

ϦϑΝΫλϦϯά? • ͱʹ͔͍ͬ͘ͺ͍΍Γ·ͨ͠ • ?͕͍ͭͯΔͷ͸ɺ࡯͍ͯͩ͘͠͞... • ݱࡏ ୈೋ஄͕ऴΘͬͨͱ͜ΖͰ
 ·ͩ·ͩଓ͖·͢

Slide 12

Slide 12 text

͍͔ͭ΍Βͳ͍ͱ͍͚ͳ͍͜ͱ • Android OରԠ ✅ • Android 9 PieରԠ ✅ • GCM͔ΒFCM΁ͷҠߦ

Slide 13

Slide 13 text

͍͔ͭ΍Βͳ͍ͱ͍͚ͳ͍͜ͱ • Android OରԠ ✅ • Android 9 PieରԠ ✅ • GCM͔ΒFCM΁ͷҠߦ

Slide 14

Slide 14 text

ԿΛҙ͔ࣝͨ͠ • վળͨ͠΋ͷΛͳΔ΂͘ૣ͘ϦϦʔε͢Δ • Ή΍ΈʹίʔυΛݟͳ͍ɺॻ͔ͳ͍ • ίʔυ͸ಡ·ͣɺΞϓϦΛͱʹ͔͘৮Δ • ՝୊Λݟ͚ͭΔ࣌ؒΛଟ͘औΔ • ̍ਓ͔ͩΒͦ͜΍Δ΂͖͜ͱ͸ૣΊʹ΍͓ͬͯ͘

Slide 15

Slide 15 text

Support Android 9 Pie

Slide 16

Slide 16 text

͜ͷࢿྉͰͷSupport Android 9 Pieͱ͸ • Android 9ʹΑΔ࢓༷มߋͰɺΞϓϦ͕
 ڧ੍ऴྃ͠ͳ͍͜ͱ • ΞϓϦͷtargetSdkVersionΛ28ʹ͢Δ

Slide 17

Slide 17 text

ͦ΋ͦ΋ͳͥSupport͢Δͷ͔ʁ ࠓޙͷ Google Play ͰͷΞϓϦͷ
 ηΩϡϦςΟ͓ΑͼύϑΥʔϚϯε ͷվળʹ͍ͭͯ https://developers-jp.googleblog.com/ 2017/12/improving-app-security-and- performance.html

Slide 18

Slide 18 text

ͦ΋ͦ΋ͳͥSupport͢Δͷ͔ʁ “2018೥ͷޙ൒ΑΓɺPlayͰ͸ɺ৽͍͠ ΞϓϦ΍ΞϓϦͷΞοϓσʔτ͸࠷৽ͷ Android APIϨϕϧΛλʔήοτʹࢦఆ͢ Δ͜ͱ͕ٛ຿͚ͮΒΕ·͢ɻ”

Slide 19

Slide 19 text

ͦ΋ͦ΋ͳͥSupport͢Δͷ͔ʁ “͜Ε͕ඞਢͱͳΔͷ͸ɺ৽نΞϓϦ͸ 2018೥8݄ɺطଘΞϓϦͷΞοϓσʔτ ͸2018೥11݄Ͱ͢ɻ”

Slide 20

Slide 20 text

ͦ΋ͦ΋ͳͥSupport͢Δͷ͔ʁ “2018೥11݄:طଘͷΞϓϦͷΞοϓσ ʔτͰɺλʔήοτAPIϨϕϧ26Ҏ͕߱ ඞਢʹͳΓ·͢ɻ”

Slide 21

Slide 21 text

ͦ΋ͦ΋ͳͥSupport͢Δͷ͔ʁ • ཁ͸ɺtargetSdkVersionΛ26ʹͯ͠
 Android OରԠ͠ͳ͍ͱΞϓϦͷΞοϓσʔτ͕ Google PlayͰ഑৴Ͱ͖ͳ͘ͳΔΑͬͯ͜ͱ

Slide 22

Slide 22 text

ͦ΋ͦ΋ͳͥSupport͢Δͷ͔ʁ “2019೥Ҏ߱:ຖ೥ɺtargetSdkVersionͷཁ݅ ্͕͕Γ·͢ɻAndroidͷ֤σβʔτϦϦʔε ͷޙ1೥Ҏ಺ʹɺ৽͍͠ΞϓϦͱΞϓϦͷΞοϓ σʔτ͸ɺରԠ͢ΔAPIϨϕϧҎ߱ʹλʔήο τΛࢦఆ͢Δ͜ͱ͕ٛ຿͚ͮΒΕ·͢ɻ”

Slide 23

Slide 23 text

ͭ·Γ... • ૣΊʹtargetSdkVersionΛ্͛ͯɺ৽͍͠OS όʔδϣϯ޲͚ͷରԠΛ͓͍ͯͨ͠΄͏͕͍͍ • Ξφ΢ϯε͕ग़ͯ΋ԕ͍ઌͷ͜ͱʹײͯ͡
 ରԠ͢Δؾ͕ى͖ͳ͍৺ཧ • ظݶ͕͍ۙͮͯٸ͍ͰରԠ͢ΔͱࣄނΓ΍͍͢

Slide 24

Slide 24 text

ରԠͷ೉қ౓͸ΞϓϦʹΑͬͯ·ͪ·ͪ • ࢖ͬͯΔػೳɺఏڙͯ͠Δ࢓૊ΈͳͲͰ
 ରԠͷ೉қ౓͕େ͖͘มΘΔ • ʮ࢖͍ͬͯͨػೳ͕͍͖ͳΓେมͳ͜ʹʂʁʯ ͕ΘΓͱى͜Δ • ΞϓϦΤϯδχΞ͚ͩͰ͸ղܾͰ͖ͳ͍มߋ΋ ى͖Δ

Slide 25

Slide 25 text

Android O Support Pull Request • ͦͦ͜͜ରԠ͢Δ͜ͱ͕͋ͬͨ • ίʔυ΋ͦͦ͜͜ॻ͍ͨ

Slide 26

Slide 26 text

Android Pie Support Pull Request • ରԠ͢΂͖͜ͱ͕গͳ͔ͬͨ • ΄΅΄΅ίʔυॻ͍ͯͳ͍

Slide 27

Slide 27 text

·ͣԿ͔Β࢝ΊΔ͔ • ެࣜυΩϡϝϯτ΍Android Developers BlogΛख़ಡ • targetSdkVersionʹؔ܎ͳ͘มߋ͞ΕΔಈ࡞ targetSdkVersionʹؔ܎ͯ͠มߋ͞ΕΔಈ࡞
 ͦΕͧΕΛཧղ͢Δ

Slide 28

Slide 28 text

·ͣԿ͔Β࢝ΊΔ͔ • Android 9ؔ࿈ͳΒҎԼͷυΩϡϝϯτ͕ख़ಡର৅ • https://developer.android.com/about/versions/ pie/android-9.0-changes-all • https://developer.android.com/about/versions/ pie/android-9.0-changes-28 • Android Developers Blogʹ΋Android 9޲͚ͷ
 ղઆهࣄ͕͍͔ͭ͋͘ΔͷͰɺ߹ΘͤͯಡΜͰ͓͖͍ͨ

Slide 29

Slide 29 text

·ͣԿ͔Β࢝ΊΔ͔ • ख़ಡͯࣗ͠਎ͷΞϓϦʹӨڹͦ͠͏ͳൣғʹ Ί΅͠Λ͚ͭΔ • ΞϓϦ͚ͩͰ׬݁͠ͳ͍มߋ͸ૣΊʹؔ܎ऀ ʹҰ੠͔͚͓ͯ͘

Slide 30

Slide 30 text

ݸਓతʹ΍͹ͦ͏ͱࢥͬͨ Android 9Ͱมߋ͞ΕΔಈ࡞

Slide 31

Slide 31 text

Power management • App standby bucketsͷಋೖ • Battery saver improvements • https://developer.android.com/ about/versions/pie/power

Slide 32

Slide 32 text

App standby buckets • ΞϓϦͷ࢖༻ස౓ʹΑͬͯɺ5ͭͷpriority bucketsʹΞϓϦ͕ৼΓ෼͚ΒΕΔ࢓૊Έ • priority͕௿͍bucketʹৼΓ෼͚ΒΕΔ΄Ͳ
 ΞϓϦʹಈ࡞੍ݶ͕͔͔Δ

Slide 33

Slide 33 text

Power management

Slide 34

Slide 34 text

Power management • Battery life࠷దԽʹΑΓى͜Δ੍ݶͷ·ͱΊ • Power management restrictions • https://developer.android.com/topic/ performance/power/power-details

Slide 35

Slide 35 text

App standby buckets • ͲͷbucketʹׂΓৼΒΕΔ͔ͷϩδοΫ͸ มߋ͞ΕΔՄೳੑ͕͋Δ͠ɺϝʔΧʔಠࣗͰ มߋͰ͖ΔʁΒ͍͠ • ΞϓϦ͸ͱʹ͔͘ͲͷbucketʹׂΓৼΒΕ ͯ΋ɺ͔ͬ͠Γಈ࡞͢ΔΑ͏ʹ࣮૷͢Δ

Slide 36

Slide 36 text

Power management

Slide 37

Slide 37 text

Restrictions on use of non- SDK interfaces https://speakerdeck.com/operando/android-p- restrictions-on-non-sdk-interfaces-1

Slide 38

Slide 38 text

Restrictions on use of non- SDK interfaces • ެࣜυΩϡϝϯτ • https://developer.android.com/about/ versions/pie/restrictions-non-sdk- interfaces

Slide 39

Slide 39 text

Network TLS enabled by default • httpͰͷ௨৴͕σϑΥϧτෆՄೳʹͳΔ • iOSͰݴ͏ͱ͜ΖͷATS(App Transport Security) • ಈ࡞֬ೝͨ͠ײͩ͡ͱWebViewʹ΋
 ద༻͞ΕͯΔؾ͕͢Δ

Slide 40

Slide 40 text

Android 9 SupportͰnoteΞϓϦ͕
 Өڹͦ͠͏ͳൣғͱͯ͠ચ͍ग़ͨ͠΋ͷ • targetSdkVersionʹؔ܎ͳ͘มߋ͞ΕΔಈ࡞ • Power management • Limited access to sensors in background • Restrictions on use of non-SDK interfaces

Slide 41

Slide 41 text

Android 9 SupportͰnoteΞϓϦ͕
 Өڹͦ͠͏ͳൣғͱͯ͠ચ͍ग़ͨ͠΋ͷ • targetSdkVersionʹؔ܎ͯ͠มߋ͞ΕΔಈ࡞ • Foreground services • Network TLS enabled by default • Apache HTTP client deprecation

Slide 42

Slide 42 text

࣮ࡍʹnoteΞϓϦͰରԠ͕
 ඞཁͩͬͨมߋ • 2͚ͭͩͰࡁΜͩ • Foreground services • Apache HTTP client deprecation ※ ରԠ͸͢Δඞཁͳ͔͕ͬͨɺӨڹͦ͠͏ͳൣғͱͯ͠ચ͍ग़ͨ͠ ΋ͷ͸ɺυΩϡϝϯτΛಡΈͳ͕Βಈ͔ͯ͠Έͯಈ࡞֬ೝ͸ͨ͠

Slide 43

Slide 43 text

Thanksʂʂ