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 / Subscription with StoreKit
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
WorldDownTown
June 30, 2016
Programming
3
3k
In-App Purchase / Subscription with StoreKit
『WWDC16. Meetup @Wantedly with 日本経済新聞社』の登壇資料
WorldDownTown
June 30, 2016
Tweet
Share
More Decks by WorldDownTown
See All by WorldDownTown
WWDC動画鑑賞会📹🍱を支える技術 / WWDC Video Lunch
worlddowntown
0
300
Live Renderingとの上手い付き合い方
worlddowntown
1
550
20150225_iqon.pdf
worlddowntown
0
94
ios_push_local_notification
worlddowntown
0
150
iqon_ios_growth_hack
worlddowntown
3
4.3k
Other Decks in Programming
See All in Programming
AI活用のコスパを最大化する方法
ochtum
0
330
実践ハーネスエンジニアリング #MOSHTech
kajitack
7
3.7k
OTP を自動で入力する裏技
megabitsenmzq
0
130
Codexに役割を持たせる 他のAIエージェントと組み合わせる実務Tips
o8n
4
1.4k
Claude Codeログ基盤の構築
giginet
PRO
7
3.6k
Codex の「自走力」を高める
yorifuji
0
1.3k
PHPのバージョンアップ時にも役立ったAST(2026年版)
matsuo_atsushi
0
250
テレメトリーシグナルが導くパフォーマンス最適化 / Performance Optimization Driven by Telemetry Signals
seike460
PRO
2
160
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
640
ふつうの Rubyist、ちいさなデバイス、大きな一年
bash0c7
0
1.1k
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
170
AI時代のシステム設計:ドメインモデルで変更しやすさを守る設計戦略
masuda220
PRO
6
1.1k
Featured
See All Featured
The Curious Case for Waylosing
cassininazir
0
280
YesSQL, Process and Tooling at Scale
rocio
174
15k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
190
SEO for Brand Visibility & Recognition
aleyda
0
4.4k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
120
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
160
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
340
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
660
Transcript
In-App Purchase / Subscription with StoreKit
Keisuke Shoji @WorldDownTown VASILY, Inc.
In-App Purchase େ͖ͳൃද͕͋Γ·ͨ͠Ͷ (WWDCͷલʹ)
Introducing Expanded Subscriptions in iTunes Connect (Session 301) Using Store
Kit for In-App Purchases with Swift 3 (Session 702)
Introducing Expanded Subscriptions in iTunes Connect (Session 301)
In-App Purchase?
In-App Purchase • Consumable (LINEͷίΠϯ) • Non-consumable (ࠂඇදࣔΦϓγϣϯ) • Non-renewable
subscriptions (Quizlet) • Auto-renewalbe subscriptions (Apple Music) • Free subscriptions (Newsstand)
In-App Purchase • Consumable • Non-consumable • Non-renewable subscriptions •
Auto-renewalbe subscriptions • Free subscriptionsɹ2016ळ͔Βdeprecated
Auto-renewable subscriptions
Auto-renewable subscriptions ։ൃऀͷച্͕Ξοϓ
Auto-renewable subscriptions ։ൃऀͷച্͕Ξοϓ • ച্ͷ70→85% • ద༻ϦϦʔε͔Β1ޙ • ͢ͰʹϦϦʔε͔Β1ܦա͍ͯ͠Δσϕϩούʔʹద༻ࡁ Έ
Auto-renewable subscriptions ΧςΰϦ੍ݶͷഇࢭ
Auto-renewable subscriptions ΧςΰϦ੍ݶͷഇࢭ • 2016ळʙ • ϧʔϧ·ͩ໌จԽ͞Ε͍ͯͳ͍ ex) ͨͩͷջதి౮ΞϓϦʹ͑ͳ͍ͱ͔ •
͜Ε·Ͱ৹͕ࠪ௨Βͳ͔ͬͨΧςΰϦͰɺ৹ࠪʹ௨ΔΑ͏ ʹͳͬͨ
Auto-renewable subscriptions Subscription Groups ࠓ·Ͱ
Auto-renewable subscriptions Subscription Groups 2016ळʙ SubscriptionάϧʔϓʹෳͷΛแͰ͖Δ
Auto-renewable subscriptions Subscription Groups AppStoreΞϓϦͰҙͷϓϥϯʹมߋՄೳ
Auto-renewable subscriptions Territory Pricing ࠃ͝ͱʹTierͷΓସ͕͑Մೳ
Auto-renewable subscriptions Customrer Retension ্͛ͨ࣌͠… ࠓ·Ͱϝʔϧͷ௨ͷΈ
Auto-renewable subscriptions Customrer Retension ্͛ͨ࣌͠… 2016ळʙ PUSH௨དྷΔ
Auto-renewable subscriptions Customrer Retension 240ԁʹ্͛͢Δ͕ɺطʹߪೖࡁΈͷ Ϣʔβʔʹ120ԁͷ··ఏڙ͢Δ͜ͱ ͕Ͱ͖Δ
Auto-renewable subscriptions • ऩӹͱΧςΰϦͷخ͍͠ΈΜͳخ͍͠ʂ • (্͕ͬͨऩӹͰAppStoreͷࠂങͬͯͶ) • Androidʹಉ͡ػೳ͕ͳ͍ͷʹɺiOS͚ͩԼ͛ͬͯͷ… • ݸਓ։ൃऀʹخ͍͔͠
Using Store Kit for In-App Purchases with Swift 3
In-App Purchase Auto-renewable subscriptions Λ͜Ε͔Β࣮͢Δ͋ͳͨ
͜ͷಈըݟͳ͍͍ͯ͘Ͱ͢
iOS 10ʹͳͬͯߪೖॲཧͷϑϩʔ มΘΒͳ͍
In-App Purchase ϓϩάϥϛϯάΨ Πυ https://developer.apple.com/jp/documentation/ StoreKitGuide.pdf ϨγʔτݕূϓϩάϥϛϯάΨΠυ https://developer.apple.com/jp/documentation/General/ ValidateAppStoreReceipt/Introduction.html#//apple_ref/doc/
εϥΠυͷίʔυ͕ಈ͔ͳ͍
εϥΠυͷίʔυ͕ಈ͔ͳ͍
StoreKit API Diff in iOS 10 https://developer.apple.com/library/prerelease/content/ releasenotes/General/iOS10APIDiffs/Swift/StoreKit.html
StoreKit API Diff in iOS 10 Enumͷͷ಄จࣈ͕খจࣈʹͳͬͨ enum SKPaymentTransactionState :
Int { case Purchasing ! case purchasing
StoreKit API Diff in iOS 10 ͳϝιου໊͕γϯϓϧʹͳͬͨ // SKPaymentQueue func
addTransactionObserver(_ observer: SKPaymentTransactionObserver) ! func add(_ observer: SKPaymentTransactionObserver)
Receipt Validation
Receipt Validation StoreKitͰߪೖྃޙɺAppStore͔Βड͚औΕΔϨγʔτใ (ߪೖͷূ໌ॻ) ↓ վ᜵͞ΕΔةݥੑ͕͋Δ
Receipt Validation ΞϓϦͰݕূ ❌ΞϧΰϦζϜެ։͞Ε͍ͯΔ͕ෳࡶ ❌αϯϓϧίʔυ͕ͳ͍ ❌OSS͋Δʹ͋Δ͕… rmaddy/VerifyStoreReceiptiOS
Receipt Validation αʔόʔαΠυͰݕূ • ࣗલͰϗετ͢ΔαʔόʹϨγʔτΛ͛Δ • αʔόˠAppStoreʹϨγʔτΛ͛ͯݕূ͢Δ ✅ෳࡶͳϩδοΫΛ࣮͢Δඞཁ͕ແ͍
Φεεϝ SwiftyStoreKit ˒900+ https://github.com/bizz84/ SwiftyStoreKit In-App Purchaseʹඞཁͳॲཧ͕΄ͱΜ Ͳೖ͍ͬͯΔ
·ͱΊ • Auto-renewable subscriptions ։ൃऀͷऩӹ͕Ξοϓ • Auto-renewable subscriptions ͷΧςΰϦ੍ݶ͕ͳ͘ͳΔ •
iOS10ʹͳͬͯIn-App PurchaseͷΈมΘΒͣ • StoreKitϝιου໊ͷมߋ͕΄ͱΜͲ • ϨγʔτݕূαʔόʔͰΔͷ͕Φεεϝ
Thank You!