Slide 1

Slide 1 text

Yuki Tamazawa / DMM Android Meetup #4 2021-01-26 ࣍ੈ୅SDK։ൃνʔϜ DMMΞϓϦͷϓϥοτϑΥʔϜઓུ

Slide 2

Slide 2 text

• ۄᖒ ༟و • CTOࣨࣄۀࢧԉνʔϜॴଐ • DMM PointClub΍SDKͷ։ൃ • https://github.com/srea/ ࢲʹ͍ͭͯ

Slide 3

Slide 3 text

͓࿩͢͠Δ಺༰ • ࣍ੈ୅SDKνʔϜͱ͸ • ϩάΠϯSDKʹ͍ͭͯ • SDK։ൃͰඞཁʹͳΔ؍఺ • ·ͱΊ

Slide 4

Slide 4 text

࣍ੈ୅SDK։ൃνʔϜͱ͸

Slide 5

Slide 5 text

࣍ੈ୅SDK։ൃνʔϜͱ͸ ϛογϣϯ͸ɺ ɹࣗࣾͰఏڙ͢ΔΞϓϦͷάϩʔεϋοΫ΁ߩݙ͠ɺ Ձ஋ͷ࠷େԽΛ໨ࢦ͢ ࣗࣾΞϓϦΛର৅ͱͨ͠SDK։ൃ෦ୂɺࡢ೥ळࠒʹνʔϜԽ DMM͕ఏڙ͢ΔΞϓϦΛԣஅͨ͠ϓϥοτϑΥʔϜઓུͷ̍ͭΛ୲͍ͬͯΔ

Slide 6

Slide 6 text

࣍ੈ୅SDK։ൃνʔϜͱ͸ ϓϥοτϑΥʔϜ։ൃ෦ ࣍ੈ୅SDK։ൃνʔϜ ଞଟ਺…

Slide 7

Slide 7 text

ϝϯόʔߏ੒ Ϧʔμʔɿ໊̍ Androidɿ໊̎ʢ಺ɹCTOࣨ ࣄۀࢧԉ໊̍ʣ iOSɿ໊̎ʢ಺ɹCTOࣨ ࣄۀࢧԉ໊̎ʣ ܭ໊̑ͰSDKͷاըɾ։ൃɾαϙʔτͳͲΛߦͳ͍ͬͯΔɻ

Slide 8

Slide 8 text

ఏڙ͍ͯ͠ΔSDK • ϩάΠϯSDK • ଞɺτϥοΩϯάSDKͳͲΛݕ౼ • ͦͷଞɺӡ༻͕ࢭ·͍ͬͯΔSDKͷࠓޙͷํ਑ܾఆͳͲ

Slide 9

Slide 9 text

ͳͥSDK͔ • DMM ͕ Tech Vision Λܝ͛ɺ
 ࠓޙ 10 ೥Ͱ 300 ࣄۀΛ૑ग़Ͱ͖Δ૊৫ྗΛ໨ࢦ͢தͰɺ
 ΞϓϦͷଘࡏ͸ແࢹͰ͖ͳ͍ • ૉૣ͍αʔϏε্ཱͪ͛ • σʔλ෼ੳ • αʔϏεؒͷମݧ඼࣭ͷ౷Ұ ͜ͷลΓΛSDKͱ͍͏ܗͰԣஅతʹϑΥϩʔ͠ɺTech Visionͷ࣮ݱΛ໨ࢦ͢ɻ

Slide 10

Slide 10 text

ϩάΠϯSDKʹ͍ͭͯ

Slide 11

Slide 11 text

ϩάΠϯSDKʹ͍ͭͯ • ΞϓϦͰϩάΠϯɾ৽نొ࿥Λ؆୯ʹ࣮ݱ͢ΔͨΊͷػೳΛఏڙ • DMMΞΧ΢ϯτΛར༻͢ΔΞϓϦͷ΄ͱΜͲͰಋೖ͞Ε͍ͯΔ

Slide 12

Slide 12 text

ϩάΠϯSDKͷ໾ׂ • OpenID ConnectͷೝՄίʔυϑϩʔશൠͷίϯτϩʔϧ • ΞΫηετʔΫϯͷ؅ཧ΍ߋ৽ • IDTokenͳͲͷೝՄ৘ใͷ؅ཧ

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

௚ۙͷνʔϜͷಈ͖ • ϩάΠϯSDKͷϦϓϨΠε • Android / iOS ڞʹ࠷৽ͷϓϥοτϑΥʔϜʹ߹Θͤͨઃܭ΁࡮৽ • AndroidɿJava -> Kotlin • iOSɿObjective-C -> Swift

Slide 15

Slide 15 text

SDK։ൃͰඞཁʹͳΔ؍఺

Slide 16

Slide 16 text

SDK։ൃͰඞཁʹͳΔ؍఺ • ։ൃ • ӡ༻

Slide 17

Slide 17 text

։ൃ࣌ͷ؍఺ • ಋೖͷ͠΍͢͞ • ରԠOSόʔδϣϯ͸޿͘ • OSSʹͳΔ΂͘ґଘ͠ͳ͍ • ෼͔Γ΍͍͢Τϥʔϝοηʔδ • ςετ

Slide 18

Slide 18 text

ಋೖͷ͠΍͢͞ ෯޿͍ಋೖख๏΁ͷରԠͱɺαϯϓϧϦϙδτϦͷ༻ҙ
 • Android • Gradle / Maven • iOS • SwiftPM / CocoaPods / Carthage / XCFramework

Slide 19

Slide 19 text

ରԠOSόʔδϣϯ͸޿͘ • ࣄۀ෦ଆ͕ಋೖ͢ΔͨΊʹɺαϙʔτόʔδϣϯΛ্͛Δঢ়گ͸ආ͚Δ • ͨͩ͠ɺରԠίετ͕૿͑Δ৔߹ɺϢʔβʔͷར༻όʔδϣϯΛݟͯ൑அ

Slide 20

Slide 20 text

OSSʹͳΔ΂͘ґଘ͠ͳ͍ • ΞϓϦଆͰಋೖ͍ͯ͠Δͱڝ߹͕ى͜Δ • OSSͷόʔδϣϯΞοϓ͕ࠔ೉ SDK ΞϓϦ ϥΠϒϥϦA v2.0.0 ϥΠϒϥϦA v1.3.0

Slide 21

Slide 21 text

෼͔Γ΍͍͢Τϥʔϝοηʔδ ૉૣ͘ಛఆ͢ΔͨΊʹ։ൃऀ޲͚ͷσόοά࣌ͷϩά͸ৄࡉʹ
 ઃఆ࿙Ε΍࣮૷ϛεͳͲɺ࣍ͷΞΫγϣϯʹͭͳ͕ΔώϯτΛ
 • ѱ͍ྫ
 ʮΞΫηετʔΫϯͷऔಘʹࣦഊ͠·ͨ͠ʯ • ྑ͍ྫ
 ʮKeychain͔ΒͷΞΫηετʔΫϯͷऔಘʹࣦഊ͠·ͨ͠ɻAccessGroup΍ CapabilityͷઃఆΛݟ௚͍ͯͩ͘͠͞ɻʯ

Slide 22

Slide 22 text

ςετ • SDKͰ໰୊͕ى͜ΔͱӨڹൣғ͕޿͍ • ಛʹUI͕བྷΉ෦෼͸໰୊͕ى͖΍͍͢ • ৽OS͸ૣΊʹಈ࡞ݕূΛߦ͓ͬͯ͘ • σϞΞϓϦͰOSຖʹUIςετ͕ࣗಈԽ͞Ε͍ͯΔͱڧ͍

Slide 23

Slide 23 text

ӡ༻࣌ͷ؍఺ • σʔλۦಈ • ࣾ಺΁ͷීٴ • τϥϒϧγϡʔςΟϯάूͷ༻ҙ

Slide 24

Slide 24 text

σʔλۦಈ • SDK͕ظ଴ͨ͠Ձ஋Λग़͍ͯ͠Δͷ͔Λܧଓ΢Υον • ԾઆݕূαΠΫϧͷ࣮ࢪ

Slide 25

Slide 25 text

ࣾ಺΁ͷීٴ • Ϣʔβʔ͕ར༻ͯ͠ॳΊͯՁ஋͕෼͔Δɻ ։ൃ ಋೖ ϦϦʔε ར༻ Ձ஋

Slide 26

Slide 26 text

τϥϒϧγϡʔςΟϯάूͷ༻ҙ • ࣗݾղܾΛଅ͢͜ͱ͕Ͱ͖Δ • αϙʔτෛՙΛ཈͑ΒΕΔ

Slide 27

Slide 27 text

SDKઓུΛখ͘͞ਅࣅΔ ΞϓϦΛଟ਺ग़͍ͯͯ͠ɺ৽نࣄۀ։ൃ͕׆ൃͳձࣾΛྫʹ • ڞ௨͢ΔػೳΛݟ͚ͭɺΞϓϦ಺ͰϞδϡʔϧ੾Γग़͠ • ϞδϡʔϧΛผϓϩδΣΫτͰ੾Γग़͠ • ύοέʔδ؅ཧπʔϧʹࡌͤΔ • SDKͱͯࣾ͠಺഑෍

Slide 28

Slide 28 text

·ͱΊ

Slide 29

Slide 29 text

·ͱΊ • ࣍ੈ୅SDK։ൃνʔϜ͸ɺԣஅͯ͠ࣄۀ੒௕΁ͷߩݙΛ໨ࢦ͍ͯ͠Δ • SDKઓུʹ͍ͭͯɺଟࣄۀల։͍ͯ͠Ε͹໌೔͔Βݕ౼ͯ͠ΈΔՁ஋͋Γ

Slide 30

Slide 30 text

͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ