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
530
0
Share
App Store/Google Play App内課金の実装 Tips 3つ
in Cookpad TechConf 2019 LT
osadake212
February 27, 2019
More Decks by osadake212
See All by osadake212
cookpadLive 短期間で行うサービス開発術
osadake212
0
2.1k
cookpadTV のコメント配信における AppSync の導入事例
osadake212
4
1.6k
Cookpad Tech Kitchen #15
osadake212
3
6.2k
Other Decks in Technology
See All in Technology
Chasing Real-Time Observability for CRuby
whitegreen
0
580
Good Enough Types: Heuristic Type Inference for Ruby
riseshia
1
390
生成AI時代のドキュメントに対する期待の整理と実践から得た学び / Rethinking Documentation for LLM: Lessons from Practice
bitkey
PRO
1
120
プラットフォームエンジニアリングの実践 - AWS コンテナサービスで構築する社内プラットフォーム / AWS Containers Platform Meetup #1
literalice
1
230
巨大プラットフォームを進化させる「第3のROI」
recruitengineers
PRO
2
2k
Building Production-Ready Agents Microsoft Agent Framework
_mertmetin
0
130
UIライブラリに依存しすぎないReact Native設計を目指して
grandbig
0
170
Pure Intonation on Browser: Building a Sequencer with Ruby
nagachika
0
380
Forget technical debt
ufried
0
140
コードや知識を組み込む / Incorporate Code and Knowledge
ks91
PRO
0
190
Digital Independence: Why, When and How
wannesrams
0
200
社内エンジニア勉強会の醍醐味と苦しみ/tamadev
nishiuma
0
270
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
230
Chasing Engaging Ingredients in Design
codingconduct
0
180
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
180
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
520
Code Review Best Practice
trishagee
74
20k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
350
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
730
Statistics for Hackers
jakevdp
799
230k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
530
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
140
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
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!