Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Mater of Subscription
Search
FujiKinaga
October 01, 2018
Programming
97
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Mater of Subscription
FujiKinaga
October 01, 2018
More Decks by FujiKinaga
See All by FujiKinaga
Flutterで実装する実践的な攻撃対策とセキュリティ向上
fujikinaga
2
1.7k
最新のCompose Multiplatform を使うとiOSとAndroidアプリはどれくらい作れるのか
fujikinaga
2
740
Androidのテストの理解を深めてみた
fujikinaga
0
82
開発案件の進み方
fujikinaga
0
130
深いい勉強会 vol.10
fujikinaga
0
120
深いい勉強会 vol.9
fujikinaga
0
130
Understanding Dagger2 Part1
fujikinaga
0
85
深いい勉強会
fujikinaga
2
100
深いい勉強会 The Navigation Component
fujikinaga
0
92
Other Decks in Programming
See All in Programming
コーディング自動化の次へ。人の介入をゼロにするファクトリーとサポートAIによる実践
timakin
5
4.8k
sbt 2.0: takeoff
eed3si9n
0
170
オーケストレーション記述言語 Katari
yukikurage
0
200
Railsバージョンを4倍にした話
optim
0
800
Vue.jsで作る空間解析アプリとCapacitorプラグインのData Bridge
hal_spidernight
1
120
Long Living Tokens, Die, Die, Die! (or: The One Ring is Banned in Modern)
sylph01
0
380
AI時代のシニアエンジニアとは
yosuke_furukawa
PRO
12
10k
AIが生成したコードは読むべきか?抽象化設計とコードの品質保証 / abstraction-design-and-quality
minodriven
11
6.8k
AI-Powered Domain-Driven Design
ziobrando
0
340
自サークルのIdPからログアウトできるようになるまで
taiseiue
1
150
作れる、でも消せるか?──安全に「枯らして消す」機能削除術 / Drain, Then Delete
chobishiba
2
1.2k
プロジェクトコードをキレイキレイしよう!暗黙的な参照を読み解く静的解析
ostk0069
0
130
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
500
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
2
410
Being A Developer After 40
akosma
PRO
92
590k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8.1k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
1
290
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
460
Documentation Writing (for coders)
carmenintech
77
5.6k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
For a Future-Friendly Web
brad_frost
184
10k
Code Reviewing Like a Champion
maltzj
529
40k
Transcript
Master of Subscription Fuji Kinaga
ఆظߪೖʹରԠͨ࣌͠ʹಘͨݟΛ
άάͬͯҊ֎ใ͕ͳ͍
՝ۚؔ࿈ͷ·ͱΊ͓͢͢Ί • CyberAgent https://ameblo.jp/principia-ca/ entry-12071725733.html • Cookpad https://techlife.cookpad.com/entry/ 2018/03/14/090000 •
Excite https://blog.excite.co.jp/exdev/27370175/
ͤͳ͍ͷ • αʔόʔαΠυͷGoogleAPIͷ • ΞΠςϜߪೖ՝ۚͷ • ՝ۚͷྉۚߋ৽Ԇͱ͍ͬͨൃలతͳ͍ ํͷ • ෆਖ਼՝ۚπʔϧͷ
લఏ 1.ఆظߪೖΛ༗ޮʹ͍ͯ͠ΔͷʹϓϨϛΞϜػ ೳ͕͑ͳ͍ͱ͍͏͜ͱ͙͖ 2.ఆظߪೖ͕ແޮʹͳ͍ͬͯΔͷʹϓϨϛΞϜ ػೳ͕͑ͯ͠·͏ͷ͙͖ 3.Ϣʔβʔͷαϙʔτମ੍Λ͓͖͑ͯ͘ʢϓ ϨϛΞϜػೳͷෆඋෆ۩߹ʹඋ͑ͯʣ
͜ͷલఏΛ࣮ݱ͢Δͷ͕݁ߏ ͔ͬͨ͠
େ͖࣮࣌͘ʹҙͨ͜͠ͱ • ʹఆظߪೖத͔Ͳ͏͔ͷσʔλΛӬଓԽ͢Δ͖Ͱͳ͍ - ՝ۚใGoogleΞΧϯτʹඥ͖ͮɺϢʔβʔ͕ઃఆ͔Βࣗ༝ʹΞΧϯτ ΛมߋͰ͖Δ(Γସ͑ɾՃɾআɾશআͰ͖Δ) - ΞϓϦΛআ͢ΔͱຖճӬଓԽσʔλϦηοτ͞ΕΔ - ಉ͡GoogleΞΧϯτͰෳΛར༻͍ͯ͠Δέʔεߟྔ͢Δඞཁ͕͋Δ
• ՝ۚใͷऔಘΛαϘΒͳ͍ - ՝ۚঢ়ଶGooglePlayετΞΞϓϦ͔Βղͱ࠶։ɺPlayConsole͔Βղͱ ͍͠ɺઃఆ͔ΒGoogleΞΧϯτΓସ͕͑Ͱ͖ΔͨΊɺ͍ͭͰมߋ͕ ൃੜ͢ΔՄೳੑ͕͋Δ - GoogleSDKͷ՝ۚใͷऔಘΩϟογϡΛར༻ͯ͠औಘͯ͘͠ΔͨΊɺඇಉظͰ ͋Δ͕௨৴͕ຖճൃੜ͢Δ͜ͱͳ͍
ଞʹݕ౼ͨ͠ͷ
Google Play Billing Library
GPBL 1.1 • In-app Billing Version3 APIΛ͍͘͢ϥοϓͯ͘͠Ε͍ͯΔ • ܾࡁॲཧɺߪೖใऔಘͷonActivityResultͷϋϯυϦϯάΛ Γͯ͘͘͢͠Ε͍ͯΔ
• ErrorCodeΛPublic enumͰఆٛͯ͘͠ΕͯΔͷ͕݁ߏ͋Γ͕ ͍ͨ • developerPayload͕ඇਪʢUserIdͱ͔ೖΕ͓͚ͯ҆શ ͕ͩͬͨɺߟྀ͕૿͑ͨʣ
onResumeͰ՝ۚঢ়ଶͷߋ৽
ޭҎ֎ͷߟ͑Δ͖Τϥʔέʔε • ະ՝ۚ - ఆظߪೖΛ༗ޮʹͨ͜͠ͱ͕ͳ͍ - ఆظߪೖΛղ͠ɺ՝ۚΛܴ͑ͨޙ • ωοτϫʔΫΤϥʔ -
Googleͷαʔόʔͷଓʹࣦഊͨ͠ • Google͔Βߪೖσʔλ͕ฦͬͯ͜ͳ͍ - ʹGoogleΞΧϯτ͕Ұͭͳ͍࣌ - GoogleͷαʔόʔଓͰΤϥʔ͕ى͖Δ • ఆظߪೖʹରԠ͍ͯ͠ͳ͍ - ରԠ͍ͯ͠ͳ͍ࠃͷIPΞυϨε͔ΒGoogleΞΧϯτ࿈ܞ͕ߦΘΕ͍ͯΔ
શମਤ Ϡϯά͞Μ࡞
Google Play ConsoleͰߦ͑Δ͜ͱ
จID͝ͱͷఆظߪೖղͱ͍͠ • ղ͢Δͱ͍͕͠ԡͤΔΑ͏ʹͳΔ
ςετ՝ۚ • ςετ൛Ͱ՝ۚॲཧ͍ͨ͠߹
ςετ՝ۚ • ແྉͰܾࡁͰ͖ΔΑ͏ʹ͍ͨ͠߹
࣮ʹ͍ͭͯ • RuntimePermission࣮ͷΑ͏ʹϓϨϛΞϜ࣮͢Δͷ͕៉ྷ - ՝ۚޙߦ͍͔ͨͬͨॲཧΛonActivityResultͳͲͰॲཧͯ͋͛͠Δ • ܾࡁ࣌ͷωοτϫʔΫΤϥʔߟ͑ͳͯ͘େৎ - SDKଆ͕͔ͬ͠Γ͍ͯ͠Δ •
ॳظඞͣະϓϨϛΞϜʹ͓ͯ͘͠ - onResumeͰͷ՝ۚใͷऔಘ͕ऴΘΔ·Ͱͭ • ՝ۚΤϥʔ࣌ϩάΛૹΔΑ͏ʹ͓ͯ͘͠
ϋϚͬͨ͜ͱ • ෳͰಉ͡GoogleΞΧϯτΛར༻͍ͯ͠Δ࣌ʹɺͲΕ͔ͷͰ՝ۚঢ়ଶΛมߋͨ࣌͠ɺ ଞͷͷใөʹϥά͕͋ͬͨ - https://www.au.com/support/faq/view.k1205140002/ • طଘͷiOSͷϓϨϛΞϜػೳͷཁ݅ΛAndroidͷSDKͷൣғͰຬͨ͢ඞཁ͕͋ͬͨ • ใ͕গͳ͍ͨΊɺෆ֬ఆͳཁૉ͕ଟ͘ɺશͯಈ͔ͯ͠ݕূ͍ͯ͘͠ඞཁ͕͋ͬͨ
• ϓϨϛΞϜػೳ͕བྷΉը໘ͷεΩʔϚ - ՝ۚใͷऔಘΛஞҰͭඞཁ͕͋ΔͨΊ - ຊʹߟ͑Δ͜ͱଟ͍(৺ͷڣͼ) • ςετ՝ۚΛQAͰߦ͑ΔΑ͏ʹ͢ΔΈͮ͘Γ - ࠷ॳͷࠒຖճQAςετ༻ͷϏϧυΛผͰ࡞ͬͯຖߋ৽ͨ͠Γ͍ͯͨ͠ - όʔδϣϯίʔυΛຖճΠϯΫϦϝϯτͨ͠Γɺ࡞ۀ͕໘ͩͬͨ
ཪٕ • Deploygate͔ΒΠϯετʔϧͨ͠ϏϧυͰ՝ۚ Ͱ͖Δ - ςετ൛ʹΞοϓͨ͠Ϗϧυͱใ͕ಉ͡Ͱ͋Ε ՝ۚػೳ͕ར༻Ͱ͖Δ - ετΞʹ্͛ΒΕͨϏϧυͷApplicationIdͱ࣮ࡍ ʹ՝ۚ͠Α͏ͱ͍ͯ͠ΔId͕Ұக͍ͯ͠Δ͔
- όʔδϣϯίʔυͷ͕Ұக͍ͯ͠Δ͔(͓ͦΒ͘)
ෆਖ਼՝ۚπʔϧ/ϋοΩϯάͷଘࡏ
ରԠࡦ • TokenΛαʔόʔʹૹͬͯෆਖ਼ͳTokenͰͳ͍ ͔ਫ਼ࠪ͢Δ • ՝ۚػೳΛ͑Δ͔Ͳ͏͔ͷஅΛ GooglePlaySDK͔Βͷใ+αʔόʔ͔Βͷ ใʹ͢Δ
Fin.