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
株式会社AbemaTV 会社説明資料
abematv
2
1.3k
運営という選択〜参加者から運営への変容と運営を経験して得られた学び〜 / The Choice of Being an Organizer
aki_moon
0
400
サイボウズの開発チームが行っているスクラムの紹介
tonionagauzzi
0
470
ヒューマンスターチャイルド株式会社採用資料
starchild
0
4.6k
5分でわかる松鶴建設 | Shokaku Recruit
shokaku_recruit
0
610
株式会社SAFELY 会社紹介 / Company
safely_pr
1
250
2ndPASS_リクルートガイド2024
akinodaichi
0
510
anveil_companydeck_2025
anveilpr
0
310
朝日新聞社 ITエンジニア キャリア採用 紹介資料
asahi_cto
0
210
【業界・業種別】副業・兼業トラブルに関する実態調査
fkske
0
200
VISASQ: ABOUT DEV TEAM
eikohashiba
3
24k
株式会社Plott Company Deck
plott
0
1.4k
Featured
See All Featured
Building an army of robots
kneath
303
45k
A better future with KSS
kneath
238
17k
Code Review Best Practice
trishagee
67
18k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Adopting Sorbet at Scale
ufuk
74
9.2k
A Philosophy of Restraint
colly
203
16k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
KATA
mclloyd
29
14k
Practical Orchestrator
shlominoach
186
10k
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ઓུʹ͍ͭͯɺଟࣄۀల։͍ͯ͠Ε໌͔Βݕ౼ͯ͠ΈΔՁ͋Γ
͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ