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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
FujiKinaga
October 01, 2018
Programming
80
0
Share
Mater of Subscription
FujiKinaga
October 01, 2018
More Decks by FujiKinaga
See All by FujiKinaga
Flutterで実装する実践的な攻撃対策とセキュリティ向上
fujikinaga
2
1.2k
最新のCompose Multiplatform を使うとiOSとAndroidアプリはどれくらい作れるのか
fujikinaga
2
700
Androidのテストの理解を深めてみた
fujikinaga
0
71
開発案件の進み方
fujikinaga
0
110
深いい勉強会 vol.10
fujikinaga
0
94
深いい勉強会 vol.9
fujikinaga
0
120
Understanding Dagger2 Part1
fujikinaga
0
64
深いい勉強会
fujikinaga
2
84
深いい勉強会 The Navigation Component
fujikinaga
0
74
Other Decks in Programming
See All in Programming
2026-03-27 #terminalnight 変数展開とコマンド展開でターミナル作業をスマートにする方法
masasuzu
0
320
ルールルルルルRubyの中身の予備知識 ── RubyKaigiの前に予習しなイカ?
ydah
0
110
[PHPerKaigi 2026]PHPerKaigi2025の企画CodeGolfが最高すぎて社内で内製して半年運営して得た内製と運営の知見
ikezoemakoto
0
340
我々はなぜ「層」を分けるのか〜「関心の分離」と「抽象化」で手に入れる変更に強いシンプルな設計〜 #phperkaigi / PHPerKaigi 2026
shogogg
2
900
ネイティブアプリとWebフロントエンドのAPI通信ラッパーにおける共通化の勘所
suguruooki
0
260
Swift Concurrency Type System
inamiy
0
430
ファインチューニングせずメインコンペを解く方法
pokutuna
0
290
安いハードウェアでVulkan
fadis
1
940
TiDBのアーキテクチャから学ぶ分散システム入門 〜MySQL互換のNewSQLは何を解決するのか〜 / tidb-architecture-study
dznbk
1
140
まかせられるPM・まかせられないPM / DevTech GUILD Meetup
yusukemukoyama
0
120
Feature Toggle は捨てやすく使おう
gennei
0
520
Rethinking API Platform Filters
vinceamstoutz
0
11k
Featured
See All Featured
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
370
Crafting Experiences
bethany
1
110
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.7k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
260
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
130
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Facilitating Awesome Meetings
lara
57
6.8k
Site-Speed That Sticks
csswizardry
13
1.1k
Test your architecture with Archunit
thirion
1
2.2k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
880
Being A Developer After 40
akosma
91
590k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
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.