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
Mater of Subscription
Search
FujiKinaga
October 01, 2018
Programming
0
63
Mater of Subscription
FujiKinaga
October 01, 2018
Tweet
Share
More Decks by FujiKinaga
See All by FujiKinaga
最新のCompose Multiplatform を使うとiOSとAndroidアプリはどれくらい作れるのか
fujikinaga
2
620
Androidのテストの理解を深めてみた
fujikinaga
0
55
開発案件の進み方
fujikinaga
0
87
深いい勉強会 vol.10
fujikinaga
0
80
深いい勉強会 vol.9
fujikinaga
0
100
Understanding Dagger2 Part1
fujikinaga
0
43
深いい勉強会
fujikinaga
2
69
深いい勉強会 The Navigation Component
fujikinaga
0
53
深いい勉強会
fujikinaga
0
66
Other Decks in Programming
See All in Programming
SwiftUI Viewの責務分離
elmetal
PRO
2
270
ソフトウェアエンジニアの成長
masuda220
PRO
12
2.1k
kintone開発を効率化するためにチームで試した施策とその結果を大放出!
oguemon
0
160
第3回関東Kaggler会_AtCoderはKaggleの役に立つ
chettub
3
1.2k
機能が複雑化しても 頼りになる FactoryBotの話
tamikof
0
150
.NET Frameworkでも汎用ホストが使いたい!
tomokusaba
0
200
How mixi2 Uses TiDB for SNS Scalability and Performance
kanmo
40
16k
複数のAWSアカウントから横断で 利用する Lambda Authorizer の作り方
tc3jp
0
120
お前もAI鬼にならないか?👹Bolt & Cursor & Supabase & Vercelで人間をやめるぞ、ジョジョー!👺
taishiyade
7
4.2k
15分で学ぶDuckDBの可愛い使い方 DuckDBの最近の更新
notrogue
3
520
仕様変更に耐えるための"今の"DRY原則を考える
mkmk884
9
3.2k
Unity Android XR入門
sakutama_11
0
180
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Visualization
eitanlees
146
15k
Making Projects Easy
brettharned
116
6k
Become a Pro
speakerdeck
PRO
26
5.2k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
Speed Design
sergeychernyshev
27
810
RailsConf 2023
tenderlove
29
1k
A Philosophy of Restraint
colly
203
16k
Writing Fast Ruby
sferik
628
61k
Practical Orchestrator
shlominoach
186
10k
How to train your dragon (web standard)
notwaldorf
91
5.9k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
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.