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
アプリ内課金の最新事情 クライアントサイド編 / In-app Purchase in Coo...
Search
uzzu
November 27, 2019
Technology
3
4.5k
アプリ内課金の最新事情 クライアントサイド編 / In-app Purchase in Cookpad 2019
Cookpad Tech Kitchen #22 決済基盤の最新事情
https://cookpad.connpass.com/event/153267/
uzzu
November 27, 2019
Tweet
Share
More Decks by uzzu
See All by uzzu
Context Receiversに思いを馳せる / Context Receivers
uzzu
0
690
StoreKitのこれまでとこれから / StoreKit 2 from 1
uzzu
5
16k
Autofill Framework
uzzu
0
120
Billing Client 2.0 acknowledgement
uzzu
0
17k
Promoting IAP対応から学ぶ外部アプリ内課金実装 / Promoting IAP and others
uzzu
2
1.5k
ブログ作り直した / My blog @ Othlo Tech
uzzu
0
160
新規アプリ開発を支えるユーザ・決済基盤
uzzu
2
2.8k
kotlin-mpp-library-tips
uzzu
1
6.3k
Coroutine Kyuin
uzzu
2
290
Other Decks in Technology
See All in Technology
Jamf Connect ZTNAとMDMで実現! 金融ベンチャーにおける「デバイストラスト」実例と軌跡 / Kyash Device Trust
rela1470
0
150
Tableau API連携の罠!?脱スプシを夢見たはずが、逆に依存を深めた話
cuebic9bic
3
210
Strands Agents & Bedrock AgentCoreを1分でおさらい
minorun365
PRO
6
250
風が吹けばWHOISが使えなくなる~なぜWHOIS・RDAPはサーバー証明書のメール認証に使えなくなったのか~
orangemorishita
15
5.5k
アカデミーキャンプ 2025 SuuuuuuMMeR「燃えろ!!ロボコン」 / Academy Camp 2025 SuuuuuuMMeR "Burn the Spirit, Robocon!!" DAY 1
ks91
PRO
0
120
マルチプロダクト×マルチテナントを支えるモジュラモノリスを中心としたアソビューのアーキテクチャ
disc99
1
340
「Roblox」の開発環境とその効率化 ~DAU9700万人超の巨大プラットフォームの開発 事始め~
keitatanji
0
110
生成AI導入の効果を最大化する データ活用戦略
ham0215
0
110
dipにおけるSRE変革の軌跡
dip_tech
PRO
1
240
AI時代の経営、Bet AI Vision #BetAIDay
layerx
PRO
1
1.8k
【CEDEC2025】『ウマ娘 プリティーダービー』における映像制作のさらなる高品質化へ!~ 豊富な素材出力と制作フローの改善を実現するツールについて~
cygames
PRO
0
240
製造業の課題解決に向けた機械学習の活用と、製造業特化LLM開発への挑戦
knt44kw
0
160
Featured
See All Featured
Thoughts on Productivity
jonyablonski
69
4.8k
4 Signs Your Business is Dying
shpigford
184
22k
Site-Speed That Sticks
csswizardry
10
750
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Raft: Consensus for Rubyists
vanstee
140
7.1k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.4k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
790
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Statistics for Hackers
jakevdp
799
220k
Automating Front-end Workflow
addyosmani
1370
200k
Transcript
アプリ内課金の最新事情 (クライアントサイド編) Cookpad Tech Kitchen #22 @uzzu
自己紹介 •宇津宏一 @uzzu •クライアントサイド開発 がメイン •2017年4月 入社 •Design It!は良い本なの で読みましょう
まとめ •Cookpadアプリではアプリ内課金の定期購読機能の新機能 を早期に取り入れる動きがある •Cookpadアプリ以外でも新機能を使いたいので、そのノウ ハウを集約する形でCuisineプロジェクトが存在している、 というのが現状 •CuisineをCookpadアプリにも導入し、新規問わずサービス 開発を加速させるのが今後のミッション
Agenda •アプリ内課金機能の利用状況 •Cuisine(iOS, Android)の技術スタックと理由 •所感と直近のミッション
アプリ内課金機能の利用状況 •定期購入機能の利用がメイン •cookpadLiveでは都度課金機能を利用している時期も あった(現在は終了) •non-Consumable(都度課金/買い切り)以外は運用実績 がある
Cookpadアプリの速 •iOS: Promoting IAP, Promotional Offers(予定) •Android: Defer billing, Grace
period, Acknowledgement •技術調査は発表後即(みんな新機能が大好き) •導入仕様検討や試作はbeta段階〜OSリリース直後 •使用していないものは未検討ではなく意図的なものがほとん ど
Cookpadアプリの速 •個別のノウハウは随時アウトプットしてるので そちらをどうぞ - クックパッド開発者ブログ - https://techlife.cookpad.com/ - connpassのイベントページに登壇資料のリンクあり -
https://cookpad.connpass.com/event/ - 他、エンジニア各位のblogやSpeaker Deck等
https://speakerdeck.com/uzzu/
Agenda •アプリ内課金機能の利用状況 •Cuisine(iOS, Android)の技術スタックと理由 •所感と直近のミッション
Cookpadアプリ以外でも使いたい https://speakerdeck.com/uzzu/xin-gui-apurikai-fa-wozhi-eruyuzajue-ji-ji-pan
Cuisine •新規アプリ開発で必要になるユーザ認証・課金周りの 汎用的且つ複雑な機能を吸収して、サービス開発を加 速する為のプロジェクト •cuisine-api(Rails)、クライアントライブラリ(cuisine- ios, cuisine-android)、実装ガイドライン、導入サ ポート
Ϣʔβొ Cookpad API Ϣʔβج൫ Reverse Proxy Cookpad App (iOS, Android)
༷ʑ New App API cuisine-api New App (iOS, Android, etc…) Financier cuisine (ios, android)
クライアントライブラリの技術スタック cuisine-ios - KeychainAccess - [test] XCTest - [test] OHHTTPStubs/Swift
cuisine-android - kotlin(MPP) - kotlinx-serialization - kotlinx-coroutines - ktor-client - ktor-client-okhttp - [test] kotlin.test - [test] assertk
クライアントライブラリの技術スタック •依存ライブラリは少なく、最低限必要なものだけ - 新機能をすぐに試せる状況にしたい - 外的要因によってbeta版SDKを試せない、といった 状況を極力防ぎたい •課金周りは自作したい - 固有のロジックが入る可能性が高い
- 既存OSS以上の機能提供がCuisineには必要
現状 •cuisine-ios - 認証、アプリ内課金両サポート - 新規アプリではほぼ導入されている(8件) •cuisine-android - 認証周りのみ。アプリ内課金機能追加はこれから -
アプリ内課金機能を利用していない新規アプリで 導入されている(2件)
現状 •Androidでアプリ内課金使いたい場合は? - ラッパーライブラリ + 実装ガイドライン Android Cookpadも新規Androidアプリも これらを使用して実装されている
例) 定期購入の購入処理フロー
Agenda •アプリ内課金機能の利用状況 •Cuisine(iOS, Android)の技術スタックと理由 •所感と直近のミッション
アプリ内課金実装の共通化に対する所感 •共通化・導入自体は「やればできる」 •各サービスより先周りして動く必要がある - 「使いたい」話を受けてから動くのでは遅い - 「使えますよどうですか?」と売り込むぐらいの スピード感・スタンスであるべき
アプリ内課金実装の共通化に対する所感 •WWDCやGoogle I/O等で発表された新機能をシュッと汎用化しなけれ ばならない - 新機能検証は即 - 特にServer notification周りは充実してきているので しっかり活用する
•なるべく素の状態に近い汎用的な概念に落とし込み、且つ各サービス で素早く導入できるようにする - それなりに難易度は高いが、ソフトウェアエンジニアとしては とても楽しい
直近のミッション •CuisineのCookpadアプリへの導入 - 新規だけでなくCookpadアプリもサービス開発に 注力できるように - Cookpadアプリのレガシーな認証・アプリ内課金実装を リプレースする裏目的もある •導入するためには… -
Cookpadアプリの速に追いつく(まずは機能追従) - 導入した後Cuisineをどう運用するか?(速の維持の為)
まとめ •Cookpadアプリではアプリ内課金の定期購読機能の新機能 を早期に取り入れる動きがある •Cookpadアプリ以外でも新機能を使いたいので、そのノウ ハウを集約する形でCuisineプロジェクトが存在している、 というのが現状 •CuisineをCookpadアプリにも導入し、新規問わずサービス 開発を加速させるのが今後のミッション