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
400
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
510
アラートなどの割り込み表示を制御する
srea
1
500
mablりましょう。
srea
0
890
OSSと私
srea
1
490
ソフトウェア品質を支える E2Eテストのパイプライン作り
srea
3
3.2k
Other Decks in Business
See All in Business
IT 未経験者をVue.js で開発できる IT コンサルタントに育てあげる秘訣/ Future's New Employee Training
yut0naga1_fa
0
310
株式会社リブセンス 会社説明資料(報道関係者様向け)
livesense
PRO
0
770
【DearOne】Dear Newest Member
hrm
2
6k
アルプ株式会社/会社紹介資料
alpinc
0
470
Cobe Associe: Who we are? /コンサル・市場調査・人材紹介のCobe Associe
nozomi
6
18k
エンジニア向けオープンワーク会社紹介資料 / company profile
openwork
1
17k
GovTech Express
botexpress
1
230
M&A Cloud Advisory Partners 採用ピッチブック
macloud
1
13k
SmartBank - Recruiting Deck
smartbank
10
200k
新しい社員の組織適応を 支える3つの要素とプロセス / Three elements and processes of organizational adaptation
tbpgr
0
210
株式会社BFT 会社紹介資料|エンジニア&セールス職向け
bft_recruit
2
11k
20241027.jjug_ccc_creditsaison.pdf
lalha
4
2.5k
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
520
39k
Scaling GitHub
holman
458
140k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
BBQ
matthewcrist
85
9.3k
The Cost Of JavaScript in 2023
addyosmani
45
6.8k
4 Signs Your Business is Dying
shpigford
180
21k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Building Adaptive Systems
keathley
38
2.3k
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ઓུʹ͍ͭͯɺଟࣄۀల։͍ͯ͠Ε໌͔Βݕ౼ͯ͠ΈΔՁ͋Γ
͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ