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
410
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
1.9k
cookpadTV のコメント配信における AppSync の導入事例
osadake212
4
1.5k
Cookpad Tech Kitchen #15
osadake212
3
5.8k
Other Decks in Technology
See All in Technology
Azure OpenAI Service Dev Day / LLMでできる!使える!生成AIエージェント
masahiro_nishimi
3
740
技術負債による事業の失敗はなぜ起こるのか / Why do business failures due to technical debt occur?
i35_267
0
190
テストケースの自動生成に生成AIの導入を試みた話と生成AIによる今後の期待
shift_evolve
0
180
AIアシスタントの活用で品質の向上と開発ワークフローのスピードアップ
nagix
1
190
可視化プラットフォームGrafanaの基本と活用方法の全て
hamadakoji
0
230
ACRiルーム最新情報とAMD GPUサーバーのご紹介
anjn
0
150
Git 研修 Basic【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
310
エンジニアリングマネージャーはどう学んでいくのか #devsumi / How Do Engineering Managers Continue to Learn and Grow?
expajp
4
1.3k
ソフトウェアエンジニアリングの知見を活かして データ基盤をいい感じにする on Snowflake [MIERUNE BBQ #10]
mtpooh
2
150
LINE WORKSへ簡単通知!Incoming Webhookアプリの紹介
mmclsntr
0
110
AI研修【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
130
DDDにおける認可の扱いとKotlinにおける実装パターン / authorization-for-ddd-and-kotlin-implement-pattern
urmot
4
390
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
262
13k
Being A Developer After 40
akosma
72
580k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
325
21k
Rails Girls Zürich Keynote
gr2m
93
13k
Why Our Code Smells
bkeepers
PRO
332
56k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
248
20k
What the flash - Photography Introduction
edds
65
11k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
20
7.2k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
36
9.1k
Designing for Performance
lara
604
67k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
662
120k
Documentation Writing (for coders)
carmenintech
63
4.2k
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!