Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
DMM 次世代SDK開発チーム
Search
yuki tamazawa
January 26, 2021
Business
0
410
DMM 次世代SDK開発チーム
yuki tamazawa
January 26, 2021
Tweet
Share
More Decks by yuki tamazawa
See All by yuki tamazawa
DMM.swift#1 Mergeable Libraryを試した
srea
1
600
アラートなどの割り込み表示を制御する
srea
1
520
mablりましょう。
srea
0
930
OSSと私
srea
1
500
ソフトウェア品質を支える E2Eテストのパイプライン作り
srea
3
3.2k
Other Decks in Business
See All in Business
ビジネスで活かす生成AIエージェント 〜業務利用を目指して今を俯瞰的に理解しよう〜
masatoto
4
210
ACES_エンジニア向け採用資料.pdf
aces
0
330
株式会社Domuz会社紹介資料(採用)
kimpachi_d
0
21k
株式会社スピークバディ 会社紹介資料
speakbuddy
1
220k
株式会社CINC 会社案内/Company introduction
cinchr
6
51k
anveil_companydeck_2025
anveilpr
0
280
国立大学法人等職員仕事ガイド(北海道地区)
univstaffhokkaido
0
2.3k
TSUIDE_採用ピッチ資料
tsuide
0
150
【全ポジション共通】㈱エグゼクション/会社紹介資料
exe_recruit
1
1k
不確実性の高い仮説を 迅速に検証するための開発プロセス
mkitahara01985
2
120
merpay-overview_en
mercari_inc
1
18k
#TRG24 / Daniel Sanchez-Crespo / Cómo cargarte una industria...
tarugoconf
0
990
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
Designing for Performance
lara
604
68k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
GraphQLとの向き合い方2022年版
quramy
44
13k
Done Done
chrislema
182
16k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.4k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
Bootstrapping a Software Product
garrettdimon
PRO
306
110k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
21
2.5k
Transcript
Yuki Tamazawa / DMM Android Meetup #4 2021-01-26 ࣍ੈSDK։ൃνʔϜ DMMΞϓϦͷϓϥοτϑΥʔϜઓུ
• ۄᖒ ༟و • CTOࣨࣄۀࢧԉνʔϜॴଐ • DMM PointClubSDKͷ։ൃ • https://github.com/srea/
ࢲʹ͍ͭͯ
͓͢͠Δ༰ • ࣍ੈSDKνʔϜͱ • ϩάΠϯSDKʹ͍ͭͯ • SDK։ൃͰඞཁʹͳΔ؍ • ·ͱΊ
࣍ੈSDK։ൃνʔϜͱ
࣍ੈSDK։ൃνʔϜͱ ϛογϣϯɺ ɹࣗࣾͰఏڙ͢ΔΞϓϦͷάϩʔεϋοΫߩݙ͠ɺ Ձͷ࠷େԽΛࢦ͢ ࣗࣾΞϓϦΛରͱͨ͠SDK։ൃ෦ୂɺࡢळࠒʹνʔϜԽ DMM͕ఏڙ͢ΔΞϓϦΛԣஅͨ͠ϓϥοτϑΥʔϜઓུͷ̍ͭΛ୲͍ͬͯΔ
࣍ੈSDK։ൃνʔϜͱ ϓϥοτϑΥʔϜ։ൃ෦ ࣍ੈSDK։ൃνʔϜ ଞଟ…
ϝϯόʔߏ Ϧʔμʔɿ໊̍ Androidɿ໊̎ʢɹCTOࣨ ࣄۀࢧԉ໊̍ʣ iOSɿ໊̎ʢɹCTOࣨ ࣄۀࢧԉ໊̎ʣ ܭ໊̑ͰSDKͷاըɾ։ൃɾαϙʔτͳͲΛߦͳ͍ͬͯΔɻ
ఏڙ͍ͯ͠ΔSDK • ϩάΠϯSDK • ଞɺτϥοΩϯάSDKͳͲΛݕ౼ • ͦͷଞɺӡ༻͕ࢭ·͍ͬͯΔSDKͷࠓޙͷํܾఆͳͲ
ͳͥSDK͔ • DMM ͕ Tech Vision Λܝ͛ɺ ࠓޙ 10 Ͱ
300 ࣄۀΛग़Ͱ͖Δ৫ྗΛࢦ͢தͰɺ ΞϓϦͷଘࡏແࢹͰ͖ͳ͍ • ૉૣ͍αʔϏε্ཱͪ͛ • σʔλੳ • αʔϏεؒͷମݧ࣭ͷ౷Ұ ͜ͷลΓΛSDKͱ͍͏ܗͰԣஅతʹϑΥϩʔ͠ɺTech Visionͷ࣮ݱΛࢦ͢ɻ
ϩάΠϯSDKʹ͍ͭͯ
ϩάΠϯSDKʹ͍ͭͯ • ΞϓϦͰϩάΠϯɾ৽نొΛ؆୯ʹ࣮ݱ͢ΔͨΊͷػೳΛఏڙ • DMMΞΧϯτΛར༻͢ΔΞϓϦͷ΄ͱΜͲͰಋೖ͞Ε͍ͯΔ
ϩάΠϯSDKͷׂ • OpenID ConnectͷೝՄίʔυϑϩʔશൠͷίϯτϩʔϧ • ΞΫηετʔΫϯͷཧߋ৽ • IDTokenͳͲͷೝՄใͷཧ
None
ۙͷνʔϜͷಈ͖ • ϩάΠϯSDKͷϦϓϨΠε • Android / iOS ڞʹ࠷৽ͷϓϥοτϑΥʔϜʹ߹Θͤͨઃܭ৽ • AndroidɿJava
-> Kotlin • iOSɿObjective-C -> Swift
SDK։ൃͰඞཁʹͳΔ؍
SDK։ൃͰඞཁʹͳΔ؍ • ։ൃ • ӡ༻
։ൃ࣌ͷ؍ • ಋೖͷ͢͠͞ • ରԠOSόʔδϣϯ͘ • OSSʹͳΔ͘ґଘ͠ͳ͍ • ͔Γ͍͢Τϥʔϝοηʔδ •
ςετ
ಋೖͷ͢͠͞ ෯͍ಋೖख๏ͷରԠͱɺαϯϓϧϦϙδτϦͷ༻ҙ • Android • Gradle / Maven • iOS
• SwiftPM / CocoaPods / Carthage / XCFramework
ରԠOSόʔδϣϯ͘ • ࣄۀ෦ଆ͕ಋೖ͢ΔͨΊʹɺαϙʔτόʔδϣϯΛ্͛Δঢ়گආ͚Δ • ͨͩ͠ɺରԠίετ͕૿͑Δ߹ɺϢʔβʔͷར༻όʔδϣϯΛݟͯஅ
OSSʹͳΔ͘ґଘ͠ͳ͍ • ΞϓϦଆͰಋೖ͍ͯ͠Δͱڝ߹͕ى͜Δ • OSSͷόʔδϣϯΞοϓ͕ࠔ SDK ΞϓϦ ϥΠϒϥϦA v2.0.0 ϥΠϒϥϦA
v1.3.0
͔Γ͍͢Τϥʔϝοηʔδ ૉૣ͘ಛఆ͢ΔͨΊʹ։ൃऀ͚ͷσόοά࣌ͷϩάৄࡉʹ ઃఆ࿙Ε࣮ϛεͳͲɺ࣍ͷΞΫγϣϯʹͭͳ͕ΔώϯτΛ • ѱ͍ྫ ʮΞΫηετʔΫϯͷऔಘʹࣦഊ͠·ͨ͠ʯ • ྑ͍ྫ ʮKeychain͔ΒͷΞΫηετʔΫϯͷऔಘʹࣦഊ͠·ͨ͠ɻAccessGroup CapabilityͷઃఆΛݟ͍ͯͩ͘͠͞ɻʯ
ςετ • SDKͰ͕ى͜ΔͱӨڹൣғ͕͍ • ಛʹUI͕བྷΉ෦͕ى͖͍͢ • ৽OSૣΊʹಈ࡞ݕূΛߦ͓ͬͯ͘ • σϞΞϓϦͰOSຖʹUIςετ͕ࣗಈԽ͞Ε͍ͯΔͱڧ͍
ӡ༻࣌ͷ؍ • σʔλۦಈ • ࣾͷීٴ • τϥϒϧγϡʔςΟϯάूͷ༻ҙ
σʔλۦಈ • SDK͕ظͨ͠ՁΛग़͍ͯ͠Δͷ͔ΛܧଓΥον • ԾઆݕূαΠΫϧͷ࣮ࢪ
ࣾͷීٴ • Ϣʔβʔ͕ར༻ͯ͠ॳΊͯՁ͕͔Δɻ ։ൃ ಋೖ ϦϦʔε ར༻ Ձ
τϥϒϧγϡʔςΟϯάूͷ༻ҙ • ࣗݾղܾΛଅ͢͜ͱ͕Ͱ͖Δ • αϙʔτෛՙΛ͑ΒΕΔ
SDKઓུΛখ͘͞ਅࣅΔ ΞϓϦΛଟग़͍ͯͯ͠ɺ৽نࣄۀ։ൃ͕׆ൃͳձࣾΛྫʹ • ڞ௨͢ΔػೳΛݟ͚ͭɺΞϓϦͰϞδϡʔϧΓग़͠ • ϞδϡʔϧΛผϓϩδΣΫτͰΓग़͠ • ύοέʔδཧπʔϧʹࡌͤΔ • SDKͱͯࣾ͠
·ͱΊ
·ͱΊ • ࣍ੈSDK։ൃνʔϜɺԣஅͯ͠ࣄۀͷߩݙΛࢦ͍ͯ͠Δ • SDKઓུʹ͍ͭͯɺଟࣄۀల։͍ͯ͠Ε໌͔Βݕ౼ͯ͠ΈΔՁ͋Γ
͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ