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
みてねのAndroid課金開発環境 / Android In-App Purchase Env...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
satoru.sasaki
May 20, 2019
Technology
0
1.7k
みてねのAndroid課金開発環境 / Android In-App Purchase Environment
satoru.sasaki
May 20, 2019
Tweet
Share
More Decks by satoru.sasaki
See All by satoru.sasaki
Dynamic Links with mitene
caad1229
0
1.8k
In-Memory Realms を使って API キャッシュした話 / Use In-Memory Realms
caad1229
0
1.8k
Other Decks in Technology
See All in Technology
今日から始めるAmazon Bedrock AgentCore
har1101
4
420
SREじゃなかった僕らがenablingを通じて「SRE実践者」になるまでのリアル / SRE Kaigi 2026
aeonpeople
6
2.5k
生成AIと余白 〜開発スピードが向上した今、何に向き合う?〜
kakehashi
PRO
0
140
pool.ntp.orgに ⾃宅サーバーで 参加してみたら...
tanyorg
0
590
[CV勉強会@関東 World Model 読み会] Orbis: Overcoming Challenges of Long-Horizon Prediction in Driving World Models (Mousakhan+, NeurIPS 2025)
abemii
0
150
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
93k
usermode linux without MMU - fosdem2026 kernel devroom
thehajime
0
240
Amazon S3 Vectorsを使って資格勉強用AIエージェントを構築してみた
usanchuu
4
460
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
2k
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
3
1k
Embedded SREの終わりを設計する 「なんとなく」から計画的な自立支援へ
sansantech
PRO
3
2.6k
Oracle Cloud Observability and Management Platform - OCI 運用監視サービス概要 -
oracle4engineer
PRO
2
14k
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Leo the Paperboy
mayatellez
4
1.4k
Test your architecture with Archunit
thirion
1
2.2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
71
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
54
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
240
Technical Leadership for Architectural Decision Making
baasie
2
250
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Color Theory Basics | Prateek | Gurzu
gurzu
0
200
Transcript
ΈͯͶͷ "OESPJE՝ۚ։ൃڥ ΈͯͶͷ.FFUVQܾࡁΛࢧ͑Δٕज़ גࣜձࣾϛΫγΟΈͯͶࣄۀ෦ ࠤʑڿ!DBBE IUUQTCJUMZ70.'K+
ࣗݾհ ࠤʑڿ !DBBE ݄ೖࣾ ݄4/4NJYJΈͯͶʹҠಈ
ࠓ͢͜ͱ w "OESPJEʹ͓͚Δ՝ۚʹ͍ͭͯ w ΈͯͶͷ"OESPJE։ൃڥʹ͍ͭͯ w ಋೖखॱ w ͓͍ͬͯͨํ͕Α͍͜ͱ w
͓·͚ w ·ͱΊ
"OESPJEʹ͓͚Δ՝ۚʹ͍ͭͯ
wΞϓϦ՝ۚ(PPHMFͱͷΓऔΓ ͢Δ w1MBZ$POTMFͱ࿈ܞ͢ΔͨΊొ͞Εͨ ύοέʔδͰͳ͚Ε՝ۚػೳ͑ͳ ͍ "OESPJEʹ͓͚Δ՝ۚʹ͍ͭͯ
ΈͯͶͷ"OESPJE։ൃڥʹ͍ͭͯ
ΈͯͶͷ։ൃڥ wݸਓڥআ͖ɺେ·͔ʹ̏ͭͷڥ
ΈͯͶͷ։ൃڥ wݸਓڥআ͖ɺେ·͔ʹ̏ͭͷڥ
ΈͯͶͷ։ൃڥ wݸਓڥআ͖ɺେ·͔ʹ̏ͭͷڥ
ΈͯͶͷ։ൃڥ wݸਓڥআ͖ɺେ·͔ʹ̏ͭͷڥ
w ֤ڥ͝ͱʹΞϓϦΛ࡞ w ՝ۚΛ༗ޮʹ͢Δ w ςετ՝ۚͰ͖ΔΑ͏ʹ͢Δ w ࣮͢Δ ಋೖखॱ
w ֤ڥ͝ͱʹΞϓϦΛ࡞ w ՝ۚΛ༗ޮʹ͢Δ w ςετ՝ۚͰ͖ΔΑ͏ʹ͢Δ w ࣮͢Δ ࣮·Ͱͷखॱ
՝ۚ࣌ͷཧ wखݩͷϏϧυɾ%FQMPZ(BUF৴ͨ͠ΞϓϦͰςετ՝͍ۚͨ͠
֤ڥ͝ͱʹΞϓϦΛ࡞
֤ڥ͝ͱʹΞϓϦΛ࡞ wEFWFMPQͱTUBUJOHશମެ։͠ͳ͍લఏ
wϝϦοτ wΒ͔͕͠ڐ͞ΕΔ wࣦഊΛؾʹͤͣ͋Δఔ͖ʹͰ͖Δ wച্Ϩϙʔτ͕ςετڥͱผʹͳΔ wσϝϦοτ w͏͔ͬΓશମެ։ͯ͠͠·͏ڪΕ͋Γ wಉ͡ઃఆΛ֤ڥʹө͢Δඞཁ͕͋Δ ΞϓϦΛ͚Δ͜ͱͷϝϦοτɾσϝϦοτ
w ֤ڥ͝ͱʹΞϓϦΛ࡞ w ՝ۚΛ༗ޮʹ͢Δ w ςετ՝ۚͰ͖ΔΑ͏ʹ͢Δ w ࣮͢Δ ࣮·Ͱͷखॱ
#JMMJOH-JCSBSZΛؚΉBQLΛ1MBZ4UPSFʹެ։͢Δ ՝ۚΛ༗ޮʹ͢ΔͨΊʹ͢Δ͜ͱ
ᶃ#JMMJOH-JCSBSZՃͯ͠Ϗϧυ ᶄ1MBZ$POTPMFʹBQLΞοϓϩʔυ ᶅ1MBZ$POTPMFͰఆظߪೖΞΠςϜ࡞ ᶆΫϩʔζυΞϧϑΝͰެ։ ՝ۚΛ༗ޮʹ͢ΔͨΊʹ͢Δ͜ͱ
ᶃ#JMMJOH-JCSBSZՃͯ͠Ϗϧυ ᶄ1MBZ$POTPMFʹBQLΞοϓϩʔυ ᶅΫϩʔζυΞϧϑΝͰެ։ ᶆ1MBZ$POTPMFͰఆظߪೖΞΠςϜ࡞ ՝ۚΛ༗ޮʹ͢ΔͨΊʹ͢Δ
ᶃ#JMMJOH-JCSBSZՃͯ͠Ϗϧυ ᶄ1MBZ$POTPMFʹBQLΞοϓϩʔυ ᶅΫϩʔζυΞϧϑΝͰެ։ ᶆ1MBZ$POTPMFͰఆظߪೖΞΠςϜ࡞ ՝ۚΛ༗ޮʹ͢ΔͨΊʹ͢Δ
ᶃ#JMMJOH-JCSBSZՃͯ͠Ϗϧυ ᶄ1MBZ$POTPMFʹBQLΞοϓϩʔυ ᶅΫϩʔζυΞϧϑΝͰެ։ ᶆ1MBZ$POTPMFͰఆظߪೖΞΠςϜ࡞ ՝ۚΛ༗ޮʹ͢ΔͨΊʹ͢Δ
ᶃ#JMMJOH-JCSBSZՃͯ͠Ϗϧυ ᶄ1MBZ$POTPMFʹBQLΞοϓϩʔυ ᶅΫϩʔζυΞϧϑΝͰެ։ ᶆ1MBZ$POTPMFͰఆظߪೖΞΠςϜ࡞ ՝ۚΛ༗ޮʹ͢ΔͨΊʹ͢Δ
w ֤ڥ͝ͱʹΞϓϦΛ࡞ w ՝ۚΛ༗ޮʹ͢Δ w ςετ՝ۚͰ͖ΔΑ͏ʹ͢Δ w ࣮͢Δ ࣮·Ͱͷखॱ
wެࣜʹΑΔͱ ςετߪೖ ςετߪೖɺಛఆͷϥΠηϯε ςετ Ϣʔβʔ͕՝ۚΛ ΘͣʹΞϓϦΞΠςϜΛߪೖͰ͖Δํ๏Ͱ͢ɻςετߪ ೖΞϧϑΝ൛ɺϕʔλ൛ϦϦʔεʹରͯ͠ͷΈՄೳͰ͢ɻ
wͭ·Γɺςετߪೖ͢Δʹɺɺ ςετߪೖ
wͭ·Γɺςετߪೖ͢Δʹɺɺ ςετߪೖ ςελʔ ϥΠηϯε ςετ Ϣʔβʔ ʹͳΔඞཁ͕͋Δ
wςελʔ wΞϧϑΝ൛ɾϕʔλ൛ΛHPPHMFQMBZTUPSF͔ΒऔಘͰ͖Δ wϥΠηϯεςετϢʔβ wςετߪೖ͕ڐՄ͞ΕͨϢʔβ ςελʔͱϥΠηϯεςετϢʔβ ΞϓϦϥΠηϯεΛ༻ͨ͠ΞϓϦ՝ۚͷςετ https://support.google.com/googleplay/android-developer/answer/6062777?hl=ja ΞϓϦϥΠηϯε https://developer.android.com/google/play/licensing/overview.html
w1MBZ$POTPMFͷΞϓϦμογϡϘʔυ͔ΒςελʔՃ wΦϓτΠϯ63-ʹΞΫηε ςελʔʹͳΔ https://play.google.com/apps/testing/<package>
w1MBZ$POTPMFઃఆΞΧϯτͷৄࡉϥΠηϯεςετ wΞΧϯτՃ ϥΠηϯεςετϢʔβʔʹͳΔ
wखݩͷϏϧυͰςετߪೖͰ͖ΔΑ͏ʹͳΔ w(PPHMF1MBZ͔ΒΞϧϑΝ൛ΛΠϯετʔϧ͠ͳͯ͘Α͍ ςετߪೖͰ͖·͢
ςετߪೖͱຊߪೖ
ςετߪೖͰগ͠ϋϚΔ͜ͱ
ςετߪೖͰগ͠ϋϚΔ͜ͱ ొ͢ΔΞΧϯτϓϥΠϚϦΞΧϯτͰ͋Δ͜ͱ
ςετߪೖͰগ͠ϋϚΔ͜ͱ wϓϥΠϚϦΞΧϯτ w"OESPJEҰͭͷʹෳΞΧϯτΛొ͢ Δ͜ͱ͕Ͱ͖Δ wΞϓϦ՝ۚʹ͏ΞΧϯτ࠷ॳʹొͨ͠ ΞΧϯτͱͳ͍ͬͯΔ ϓϥΠϚϦΞΧϯτ wͭ·ΓɺΞϧϑΝ൛ςετߪೖ͢Δʹɺϓϥ ΠϚϦΞΧϯτΛొ͠ͳ͍ͱςετ՝ۚͰ͖
ͳ͍
ςετߪೖͰগ͠ϋϚΔ͜ͱ ςετߪೖ͍ͨ͠ΞΧϯτ cc ʹ࠷ॳʹొ͢ΔΞΧϯτ wͭ·Γ
w ֤ڥ͝ͱʹΞϓϦΛ࡞ w ՝ۚΛ༗ޮʹ͢Δ w ςετ՝ۚͰ͖ΔΑ͏ʹ͢Δ w ࣮͢Δ ࣮·Ͱͷखॱ
ௐࠪͱ͔ࢀߟʹͨ͠ͷ wϥΠϒϥϦ w#JMMJOH$MJFOU-JCSBSZW ࠷ۙWϦϦʔε͞Εͨ wࢀߟʹͨ͠ͷ wެࣜυΩϡϝϯτ w(PPHMFͷαϯϓϧɺྫͷΞϨ 5SJWJBM%SJWF@W
w%SPJE,BJHJৄղఆظߪೖ Droidkaigi 2019 ৄղఆظߪೖ (·Μͩʔ @ymnd ͞Μ) https://developer.android.com/google/play/billing/billing_testing?hl=ja#solo TrivalDrive_v2 https://developer.android.com/google/play/billing/billing_library_overview
ઃܭ wΑ͋͘ΔΞϨ w.77. wࠓճɺ#JMMJOH$MJFOUΛѻ͏%BUB4PVSDFʹ ͍ͭͯগ͚ͩ͠
ઃܭ wΑ͋͘ΔΞϨ w.77. wࠓճɺ#JMMJOH$MJFOUΛѻ͏%BUB4PVSDFʹ ͍ͭͯগ͚ͩ͠
ઃܭ wΑ͋͘ΔΞϨ w.77. wࠓճɺ#JMMJOH$MJFOUΛѻ͏%BUB4PVSDFʹ ͍ͭͯগ͚ͩ͠
%BUB4PVSDF w#JMMJOH-JCSBSZΛ3Y+BWBͰϥοϐϯά wҰ෦ϨεϙϯείʔϧόοΫ෦Ͱ໘ͳ "1*͕͋ͬͨ w$BMMCBDLϝΠϯεϨουͰͷ࣮ߦ͕ඞਢ w(JTUࢀরͯ͠Έ͍ͯͩ͘͞ Google ͷ੩తϨεϙϯε͕͋ΔͷͰɺΞΠςϜͳͯ͘୯ମςετͰ͖·͢ https://developer.android.com/google/play/billing/billing_testing?hl=ja#solo Gist
https://gist.github.com/caad1229/a6aea2e863b87074e5cf29e13504fcff
w ֤ڥ͝ͱʹΞϓϦΛ࡞ w ՝ۚΛ༗ޮʹ͢Δ w ςετ՝ۚͰ͖ΔΑ͏ʹ͢Δ w ࣮͢Δ ࣮·Ͱͷखॱ
͓͍ͬͯͨ΄͏͕ྑ͍͜ͱ
4FSWFSͰϨγʔτݕূͯ͠Β͏ wߪೖϋοΫ͢Δ'SFFEPNͱ-VDLZ1BUDIFSͱ͍ͬͨΞϓϦ͕͋Δ wϨγʔτݕূ4FSWFSʹͤΔ͜ͱͰɺෆਖ਼Λ͙͜ͱ͕Ͱ͖Δ wΈͯͶͰ݅ɺෆਖ਼Ϩγʔτ͕͋ͬͨ w($1αʔϏεΞΧϯτ1MBZ$POTPMFͱ࿈ܞ͍ͯ͠Δඞཁ͕͋Δ
4FSWFSͰϨγʔτݕূͯ͠Β͏ wߪೖϋοΫ͢Δ'SFFEPNͱ-VDLZ1BUDIFSͱ͍ͬͨΞϓϦ͕͋Δ wϨγʔτݕূ4FSWFSʹͤΔ͜ͱͰɺෆਖ਼Λ͙͜ͱ͕Ͱ͖Δ wΈͯͶͰ݅ɺෆਖ਼Ϩγʔτ͕͋ͬͨ w($1αʔϏεΞΧϯτ1MBZ$POTPMFͱ࿈ܞ͍ͯ͠Δඞཁ͕͋Δ ͔͔Δ͕ɺ͋ͬͨ΄͏͕ྑ͍
ߪೖ෮ؼॲཧ w(PPHMFɾΈͯͶΞϓϦɾ4FSWFSͰͷ߹ੑ͕औΕͳ͔ͬͨ߹ͷରԠ
͓·͚
։ൃ༻ΞϓϦͷϦδΣΫτ w(PPHMF͔Β։ൃ༻ΞϓϦ͕ϦδΣΫτ͞Εͨ w։ൃΞϓϦ͕ɺͳΓ͢·͠ೝఆ͞Εͨ wύοέʔδ͕ࣅ͍ͯͨ w4UPSFใΛ1SPEVDUͱಉ͡ͷ͍ͬͯͨ wυϝΠϯূ໌ͱ͔ɺ1MBZ$POTPMFͷεΫγϣΛϝʔϧͰૹͬͯ߅ٞ
։ൃ༻ΞϓϦͷϦδΣΫτ w(PPHMF͔Β։ൃ༻ΞϓϦ͕ϦδΣΫτ͞Εͨ w։ൃΞϓϦ͕ɺͳΓ͢·͠ೝఆ͞Εͨ wύοέʔδ͕ࣅ͍ͯͨ w4UPSFใΛ1SPEVDUͱಉ͡ͷ͍ͬͯͨ wυϝΠϯূ໌ͱ͔ɺ1MBZ$POTPMFͷεΫγϣΛϝʔϧͰૹͬͯ߅ٞ
·ͱΊ
·ͱΊ wΈͯͶͰ͜ͷΑ͏ͳྲྀΕͰ՝ۚڥΛߏஙɾ։ൃͨ͠ w։ൃํ๏༷ʑͰ͋ΔͷͰɺͦΕͧΕͷ։ൃڥʹ͋ͬͨํ๏Λ ಋೖͯ͠ྑ͍ͱࢥ͏ wҰͭͷಋೖࣄྫͱͯ͠ࢀߟʹ͍͚ͯͨͩ͠Ε͍Ͱ͢
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠