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
380
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
400
アラートなどの割り込み表示を制御する
srea
1
470
mablりましょう。
srea
0
850
OSSと私
srea
1
470
ソフトウェア品質を支える E2Eテストのパイプライン作り
srea
3
3.1k
Other Decks in Business
See All in Business
株式会社ユビレジ_採用ピッチ資料 / Ubiregi_CompanyProfile
ubiregi_saiyo
0
4.8k
ties|クラウド顧客・案件管理システム - サービスのご紹介
so_kotani
1
240
WORKERS'BOX document ver5.2
himojimoji
0
100
株式会社Penetrator - Culture Deck202407
fumiyafujii0123
0
120
株式会社ソマリ-会社紹介資料(2024)
oyataka
0
130
払いすぎていませんか?AWSコスト最適化へのはじめの一歩
o2mami
1
1.3k
AmbientNavi 紹介資料
ambientnavi0329
0
400
価値のある機能をユーザに早く届けるための大企業エンジニアの挑戦 / Achieving Faster Delivery of Customer Value Features in a Siloed Organization
nttcom
11
7.1k
組織のスケーリングと持続性 / Scaling and Sustainability
tunepolo
7
6.2k
マネジメント本から学ぶチームで価値を生む考え方 / Concepts for Creating Value in Teams Learned from Management Books
shuzon
5
990
BALLAS 事業紹介資料
ballas_inc
0
400
(3枚)人材価値を測る5つのスキルと欠落的欠点とは?
nyattx
PRO
2
230
Featured
See All Featured
It's Worth the Effort
3n
181
27k
Producing Creativity
orderedlist
PRO
340
39k
The Cost Of JavaScript in 2023
addyosmani
31
4.7k
Typedesign – Prime Four
hannesfritz
37
2.2k
Principles of Awesome APIs and How to Build Them.
keavy
124
16k
What's in a price? How to price your products and services
michaelherold
239
11k
Atom: Resistance is Futile
akmur
261
25k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
13
430
Embracing the Ebb and Flow
colly
81
4.3k
Designing with Data
zakiwarfel
96
5k
What's new in Ruby 2.0
geeforr
338
31k
Faster Mobile Websites
deanohume
303
30k
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ઓུʹ͍ͭͯɺଟࣄۀల։͍ͯ͠Ε໌͔Βݕ౼ͯ͠ΈΔՁ͋Γ
͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ