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
App Store/Google Play App内課金の実装 Tips 3つ
Search
osadake212
February 27, 2019
Technology
0
480
App Store/Google Play App内課金の実装 Tips 3つ
in Cookpad TechConf 2019 LT
osadake212
February 27, 2019
Tweet
Share
More Decks by osadake212
See All by osadake212
cookpadLive 短期間で行うサービス開発術
osadake212
0
2k
cookpadTV のコメント配信における AppSync の導入事例
osadake212
4
1.6k
Cookpad Tech Kitchen #15
osadake212
3
6k
Other Decks in Technology
See All in Technology
TypeScriptで実践するクリーンアーキテクチャ ― WebからもCLIからも使えるアプリ設計 / CClean Architecture with Typescript Application
panda_program
10
2.9k
フロントエンドがTypeScriptなら、バックエンドはPHPでもいいじゃない/php-is-not-bad
hanhan1978
1
110
OCI Full Stack Disaster Recovery サービス概要
oracle4engineer
PRO
1
140
ワールドカフェ再び、そしてロール・ツール群の開発 / World Café Again, and the Development of a Suite of Roles and Tools
ks91
PRO
0
110
KubeCon EU 2025 Recap - Kubernetes CRD Design for the Long Haul: Tips, Tricks, and Lessons Learned / Kubernetes Meetup Tokyo #70 / k8sjp70-crd-long-haul-recap
everpeace
0
110
幸せに働ける組織を目指すリーダーの葛藤と挑戦 / 20250517 Tadahiro Yasuda & Rinto Ikenoue
shift_evolve
0
100
計装を見直してアプリケーションパフォーマンスを改善させた話
donkomura
2
220
熱々🔥のUDN🍜を喰らえ❗マルチテナントもVM統合も思いのまま❗新機能で切り拓くk8sネットワークの未来
tsukaman
0
140
君だけのオリジナル async / await を作ろう / TSKaigi 2025
susisu
1
740
"発信文化"をどうやって計測する?技術広報のKPI探索記/How do we measure communication culture?
bitkey
4
370
撤退危機からのピボット : 4年目エンジニアがリードする TypeScript で挑む事業復活 / crisis-to-pivot-4th-year-engineer-ts-relaunch
carta_engineering
2
120
技術選定の仕方 - FLEXYウェビナー / How to select technology
shinden
1
130
Featured
See All Featured
Designing for Performance
lara
608
69k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
105
19k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.4k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
5
620
Code Review Best Practice
trishagee
68
18k
Side Projects
sachag
453
42k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Agile that works and the tools we love
rasmusluckow
329
21k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
GitHub's CSS Performance
jonrohan
1031
460k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.6k
Transcript
App Store/Google Play App内課金の実装 Tips 3つ 2019.02.27 メディアプロダクト開発部 長田 卓哉
アジェンダ • cookpadTV • App内課金の実装が難しい理由 • 実装時に気をつけるポイント3つ • We are
hiring!
cookpadTV
cookpadTV • 料理家や有名人と一緒に 料理ができる • 分かりづらいポイントをその場で質問でき 双方向コミュニケーションができる • その場でレシピを確認でき 料理の工程が分かり
やすい • iOS / Android / Android TV / Fire TV
cookpadTV:有料コンテンツ • 月400円でゴールド会員になれる:継続課金 ◦ スペシャル LIVE/TIME などのゴールド会員限定コンテンツを視聴することができる ◦ 通常は1週間の見逃し配信を 1週間過ぎても見られる
• ポイントをチャージすることができる:都度課金 ◦ ポイントを使ってライブ中にスタンプを送ることができる
cookpadTV:有料コンテンツ • 月400円でゴールド会員になれる:継続課金 ◦ スペシャル LIVE/TIME などのゴールド会員限定コンテンツを視聴することができる ◦ 通常は1週間の見逃し配信を 1週間過ぎても見られる
• ポイントをチャージすることができる:都度課金 ◦ ポイントを使ってライブ中にスタンプを送ることができる App内課金
App内課金の実装が難しい理由
課金...
• お金を扱う心理的ハードルがある • そもそも購入フローが複雑 • サービス間で失敗するポイントが多い App内課金の実装が難しい理由
①購入処理開始 ②管理ID 発行 ③購入要求 ④レシート発行 ⑤アイテム有効化要求 ⑥レシート検証 ⑦レシート検証結果 ⑧アイテム有効化 ⑧購入処理完了
課金...
実装時に気をつけるポイント3つ
実装時に気をつけるポイント3つ 1. ログを詳細に残す ◦ クライアント/サーバーどちらも詳細に残す ◦ ログをみると、ユーザーがどういう操作をしたのか分かるレベル 2. 一連の処理を冪等にする ◦
意図せず途中で終了してもリトライできるようにする ◦ エラー通知が飛んでも「リトライすればいいか」となり、精神衛生面で ◦ 3. レシート情報を残しておく ◦ レシート情報を残しておくことで、サーバーサイドでのリトライが可能になる ◦ エラー時にApple/Google に購入状態の詳細を問い合わせることができる
備えあれば憂い無し
We are hiring!