Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DMM 次世代SDK開発チーム

37388695483b7c7d355cd9a9dc04281e?s=47 yuki tamazawa
January 26, 2021

DMM 次世代SDK開発チーム

37388695483b7c7d355cd9a9dc04281e?s=128

yuki tamazawa

January 26, 2021
Tweet

Transcript

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

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

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

  4. ࣍ੈ୅SDK։ൃνʔϜͱ͸

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

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

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

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

  9. ͳͥSDK͔ • DMM ͕ Tech Vision Λܝ͛ɺ
 ࠓޙ 10 ೥Ͱ

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

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

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

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

    -> Kotlin • iOSɿObjective-C -> Swift
  15. SDK։ൃͰඞཁʹͳΔ؍఺

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

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

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

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

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

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

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

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

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

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

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

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

  28. ·ͱΊ

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

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