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
Auto-Renewable Subscriptionsを5年間運用した歴史から学ぶ注意点
Search
yuutetu
September 01, 2018
Technology
1
2k
Auto-Renewable Subscriptionsを5年間運用した歴史から学ぶ注意点
iOSDC2018で発表した内容です
yuutetu
September 01, 2018
Tweet
Share
Other Decks in Technology
See All in Technology
会社紹介資料 / Sansan Company Profile
sansan33
PRO
6
380k
AWSを利用する上で知っておきたい名前解決のはなし(10分版)
nagisa53
10
3k
5分でカオスエンジニアリングを分かった気になろう
pandayumi
0
210
Skrub: machine-learning with dataframes
gaelvaroquaux
0
120
AWSで推進するデータマネジメント
kawanago
1
1.3k
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
370
react-callを使ってダイヤログをいろんなとこで再利用しよう!
shinaps
1
230
Kiroと学ぶコンテキストエンジニアリング
oikon48
6
9.9k
これでもう迷わない!Jetpack Composeの書き方実践ガイド
zozotech
PRO
0
310
Function Body Macros で、SwiftUI の View に Accessibility Identifier を自動付与する/Function Body Macros: Autogenerate accessibility identifiers for SwiftUI Views
miichan
2
180
研究開発と製品開発、両利きのロボティクス
youtalk
1
510
Language Update: Java
skrb
2
290
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
A designer walks into a library…
pauljervisheath
207
24k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
13k
Producing Creativity
orderedlist
PRO
347
40k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
RailsConf 2023
tenderlove
30
1.2k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.6k
GraphQLの誤解/rethinking-graphql
sonatard
72
11k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Transcript
Auto-Renewable Subscriptions Λ5ؒӡ༻ͨ͠ྺ࢙͔ΒֶͿҙ pixiv.inc Masayuki Kagae
yuutetu pixiv iOS, AndroidΞϓϦΛ୲͠ ͍ͯ·͢
• ΞϓϦ৹ࠪͷϦδΣΫτ༰ؚ͕͍͔ͭ͘·Ε·͢ɻ • ΞϓϦ৹ࠪͷϦδΣΫτ༰ɺΞϓϦʹΑͬͯɾঢ়گʹΑͬͯɾ࣌ظʹ ΑͬͯมΘΓ͏Δͷͩͱࢥ͍ͬͯ·͢ɻ • ʮ͜Μͳࣄ͕͋ͬͨΑʯʮͦͷ࣌͜͏ͨ͠Αʯͱ͍͏͙Β͍Ͱฉ͍ͯ Β͑Δͱॿ͔Γ·͢ɻ
ҙ
• In App Purchaseͱʁ(3) • Auto-renewable subscriptionsͱʁ(2) • pixivͰͷAuto-renewable subscriptionsͷ࣮ࣄྫ(10)
• ૺ۰֤ͨ͠छ(15) ΞδΣϯμ ※ όοΫΤϯυͷʹҰ৮Ε·ͤΜ ฉ͖͍ͨํੋඇฐࣾ༡ͼʹདྷ͍ͯͩ͘͞ -> https://www.wantedly.com/projects/163009
In App Purchase
Apple͕ఏڙ͍ͯ͠ΔiOSΞϓϦ্Ͱ՝ۚϞσϧΛ࣮͢ΔͨΊͷΈ In App Purchase 4UPSF,JU App Store pixiv
API Server
In App Purchase 4UPSF,JU App Store pixiv API
Server ߪೖϑϩʔΑΖ͘͠ ߪೖྃͨ͠Α
API Serverʹ՝ۚͷϨγʔτΛૹͬͯΛΒ͏ In App Purchase 4UPSF,JU App Store
pixiv API Server ߪೖྃͨ͠Α ՝ۚͷಛయͩΑ
• ফඅܕ( Consumable ) • ඇফඅܕ( Non-consumable )
• ࣗಈߋ৽ߪಡܕ( Auto-renewable subscriptions ) • ඇߋ৽ߪಡܕ( Non-renewable subscriptions )
ࣗಈߋ৽ߪಡܕ
• ʮֹ݄ ooԁʯΛ࣮ݱ͢Δ՝ۚܕ • 1िؒɾ1ϲ݄ɾ2ϲ݄ɾ3ϲ݄ɾ6ϲ݄ɾ1͕બΔ • ظݶ͕ΕͨΒࣗಈతʹߋ৽͞ΕΔ • ղ͍ͨ͠ͱ͖ɺߋ৽ͷ24࣌ؒલ·Ͱʹղखଓ͖͢Δͱߋ৽͞Εͳ͍ •
ֹۚมߋΛܭը͢Δ͜ͱͰ͖Δ • ແྉׂҾͰͷ͓ࢼ͠ظؒΛΈࠐΉ͜ͱͰ͖Δ ࣗಈߋ৽ߪಡܕ
pixiv ͱ ࣗಈߋ৽ߪಡܕ՝ۚ
pixivϓϨϛΞϜ • ਓؾͷ࡞ΛΑΓ͘ɺΑΓ ؆୯ʹ୳ͤΔαϒεΫϦϓγϣ ϯαʔϏε • ֹ݄ ¥600
• (Web൛Android൛ͱҟͳΔ) • όοΫΤϯυ͕ϓϨϛΞϜػೳΛ ཧ͠ɺWeb൛Android൛ؔͳ͘Ϋ ϩεϓϥοτϑΥʔϜͰར༻Մೳ
App • ϓϨϛΞϜొ • ϓϨϛΞϜ෮ݩ • ϦτϥΠ Server
• Ϩγʔτݕূ • ϓϨϛΞϜঢ়ଶɾϨγʔτظ ݶཧ Ϣʔβͷૢ࡞ʹجͮ͘ॲཧ+ิॿ ҆શʹϓϨϛΞϜঢ়ଶΛཧ͢Δ
ϓϨϛΞϜొ SKPaymentQueue.canMakePayments()Ͱ ʮ՝ۚՄೳͳ༻ऀʯͰ͋Δ͜ͱΛ ֬ೝͭͭ͠ɺ 1. pixivΞΧϯτͷ࠶ϩάΠϯ/ొՄೳ ͳΞΧϯτ͔֬ೝ 2.
՝ۚΞΠςϜ࠶औಘɾ֬ೝ 3. ܾࡁ 4. αʔόʹܾࡁϨγʔτΛૹΔ(ొॲཧ) 5. pixivΞΧϯτͷ࠶ϩάΠϯ
ϓϨϛΞϜొ SKPaymentQueue.canMakePayments()Ͱ ʮ՝ۚՄೳͳ༻ऀʯͰ͋Δ͜ͱΛ ֬ೝͭͭ͠ɺ 1. pixivΞΧϯτͷ࠶ϩάΠϯ/ొՄೳ ͳΞΧϯτ͔֬ೝ 2.
՝ۚΞΠςϜ࠶औಘɾ֬ೝ 3. ܾࡁ 4. αʔόʹܾࡁϨγʔτΛૹΔ(ొॲཧ) 5. pixivΞΧϯτͷ࠶ϩάΠϯ ͢ͰʹϓϨϛΞϜΞΧϯτͰͳ͍͔ʁ ͜ͷ··՝ۚΛΒ͍͍͔ͤͯʁ ϓϨϛΞϜΞΧϯτͳͷʹɺܾࡁॲཧΛΒ ͤͯ͠·͏ͱʮ2ॏొʯʹͳͬͯ͠·͏ɻ ՝͕ۚΔલʹࢭΊ͓ͯ͘ɻ
ϓϨϛΞϜొ SKPaymentQueue.canMakePayments()Ͱ ʮ՝ۚՄೳͳ༻ऀʯͰ͋Δ͜ͱΛ ֬ೝͭͭ͠ɺ 1. pixivΞΧϯτͷ࠶ϩάΠϯ/ొՄೳ ͳΞΧϯτ͔֬ೝ 2.
՝ۚΞΠςϜ࠶औಘɾ֬ೝ 3. ܾࡁ 4. αʔόʹܾࡁϨγʔτΛૹΔ(ొॲཧ) 5. pixivΞΧϯτͷ࠶ϩάΠϯ ఏڙதͷ՝ۚΞΠςϜ͔ʁ
ϓϨϛΞϜొ SKPaymentQueue.canMakePayments()Ͱ ʮ՝ۚՄೳͳ༻ऀʯͰ͋Δ͜ͱΛ ֬ೝͭͭ͠ɺ 1. pixivΞΧϯτͷ࠶ϩάΠϯ/ొՄೳ ͳΞΧϯτ͔֬ೝ 2.
՝ۚΞΠςϜ࠶औಘɾ֬ೝ 3. ܾࡁ 4. αʔόʹܾࡁϨγʔτΛૹΔ(ొॲཧ) 5. pixivΞΧϯτͷ࠶ϩάΠϯ ܾࡁϑϩʔ։࢝ AppStoreʹͯϩάΠϯ͍ͯ͠ ͳ͍߹ʹɺϩάΠϯΛଅ ͢͜ͱͬͯ͘ΕΔɻ
ϓϨϛΞϜొ SKPaymentQueue.canMakePayments()Ͱ ʮ՝ۚՄೳͳ༻ऀʯͰ͋Δ͜ͱΛ ֬ೝͭͭ͠ɺ 1. pixivΞΧϯτͷ࠶ϩάΠϯ/ొՄೳ ͳΞΧϯτ͔֬ೝ 2.
՝ۚΞΠςϜ࠶औಘɾ֬ೝ 3. ܾࡁ 4. αʔόʹܾࡁϨγʔτΛૹΔ(ొॲཧ) 5. pixivΞΧϯτͷ࠶ϩάΠϯ SKPaymentTransactionObserverܦ༝ʹͯड͚औ ΕΔTransactionΛͱʹɺܾࡁϨγʔτΛૹΓ ϓϨϛΞϜొ͢Δ
ϓϨϛΞϜొ SKPaymentQueue.canMakePayments()Ͱ ʮ՝ۚՄೳͳ༻ऀʯͰ͋Δ͜ͱΛ ֬ೝͭͭ͠ɺ 1. pixivΞΧϯτͷ࠶ϩάΠϯ/ొՄೳ ͳΞΧϯτ͔֬ೝ 2.
՝ۚΞΠςϜ࠶औಘɾ֬ೝ 3. ܾࡁ 4. αʔόʹܾࡁϨγʔτΛૹΔ(ొॲཧ) 5. pixivΞΧϯτͷ࠶ϩάΠϯ ϓϨϛΞϜొྃΛΞΧϯτঢ়ଶʹө͢Δ
ϓϨϛΞϜ෮ݩ SKPaymentQueue.canMakePayments()Ͱ ʮ՝ۚՄೳͳ༻ऀʯͰ͋Δ͜ͱΛ ֬ೝͭͭ͠ɺ 1. pixivΞΧϯτͷ࠶ϩάΠϯ 2. ෮ݩॲཧ
3. αʔόʹܾࡁϨγʔτΛૹΔ(ొॲཧ) 4. pixivΞΧϯτͷ࠶ϩάΠϯ
ϓϨϛΞϜ෮ݩ SKPaymentQueue.canMakePayments()Ͱ ʮ՝ۚՄೳͳ༻ऀʯͰ͋Δ͜ͱΛ ֬ೝͭͭ͠ɺ 1. pixivΞΧϯτͷ࠶ϩάΠϯ 2. ෮ݩॲཧ
3. αʔόʹܾࡁϨγʔτΛૹΔ(ొॲཧ) 4. pixivΞΧϯτͷ࠶ϩάΠϯ ϓϨϛΞϜΞΧϯτ͔֬ೝ ϓϨϛΞϜΞΧϯτͳΒ෮ݩͯ͠ ҙຯ͕ͳ͍
ϓϨϛΞϜ෮ݩ SKPaymentQueue.canMakePayments()Ͱ ʮ՝ۚՄೳͳ༻ऀʯͰ͋Δ͜ͱΛ ֬ೝͭͭ͠ɺ 1. pixivΞΧϯτͷ࠶ϩάΠϯ 2. ෮ݩॲཧ
3. αʔόʹܾࡁϨγʔτΛૹΔ(ొॲཧ) 4. pixivΞΧϯτͷ࠶ϩάΠϯ ࠷৽ͷ՝ۚϨγʔτʹRefresh͞Εɺ SKPaymentTransactionObserverʹ Transaction͕ൃߦ͞ΕΔ
ϓϨϛΞϜ෮ݩ SKPaymentQueue.canMakePayments()Ͱ ʮ՝ۚՄೳͳ༻ऀʯͰ͋Δ͜ͱΛ ֬ೝͭͭ͠ɺ 1. pixivΞΧϯτͷ࠶ϩάΠϯ 2. ෮ݩॲཧ
3. αʔόʹܾࡁϨγʔτΛૹΔ(ొॲཧ) 4. pixivΞΧϯτͷ࠶ϩάΠϯ SKPaymentTransactionObserverܦ༝ʹͯड͚औ ΕΔTransactionΛͱʹɺܾࡁϨγʔτΛૹΓ ϓϨϛΞϜొ͢Δ
ϓϨϛΞϜ෮ݩ SKPaymentQueue.canMakePayments()Ͱ ʮ՝ۚՄೳͳ༻ऀʯͰ͋Δ͜ͱΛ ֬ೝͭͭ͠ɺ 1. pixivΞΧϯτͷ࠶ϩάΠϯ 2. ෮ݩॲཧ
3. αʔόʹܾࡁϨγʔτΛૹΔ(ొॲཧ) 5. pixivΞΧϯτͷ࠶ϩάΠϯ ϓϨϛΞϜঢ়ଶΛΞϓϦʹө
ϦτϥΠॲཧ 4UPSF,JU App Store pixiv API Server ߪೖྃͨ͠Α
• ՝ۚͰ͖͕ͨϓϨϛΞϜొ͞Εͳ͍έʔε͕Ͳ͏ͯ͠ൃੜ͢Δ
ϓϨϛΞϜొ SKPaymentQueue.canMakePayments()Ͱ ʮ՝ۚՄೳͳ༻ऀʯͰ͋Δ͜ͱΛ ֬ೝͭͭ͠ɺ 1. pixivΞΧϯτͷ࠶ϩάΠϯ/ొՄೳ ͳΞΧϯτ͔֬ೝ 2.
՝ۚΞΠςϜ࠶औಘɾ֬ೝ 3. ܾࡁ 4. αʔόʹܾࡁϨγʔτΛૹΔ(ొॲཧ) 5. pixivΞΧϯτͷ࠶ϩάΠϯ ͔ͬ͠ΓτϥϯβΫγϣϯͯ͋͛͠ Δඞཁ͕͋Δ
• ܾࡁͱϓϨϛΞϜొ·ͰʹτϥϯβΫγϣϯΛ͔·͓ͤͯ͘ • τϥϯβΫγϣϯ͕ੜ͖͍ͯͨΒɺαʔόʹ࠶ϨγʔτΛૹΔ ϦτϥΠॲཧ
pixivϓϨϛΞϜ • ਓؾͷ࡞ΛΑΓ͘ɺΑΓ ؆୯ʹ୳ͤΔαϒεΫϦϓγϣ ϯαʔϏε • ֹ݄ ¥600
• (Web൛Android൛ͱҟͳΔ) • όοΫΤϯυ͕ϓϨϛΞϜػೳΛ ཧ͠ɺWeb൛Android൛ؔͳ͘Ϋ ϩεϓϥοτϑΥʔϜͰར༻Մೳ
͜ͷӡ༻ʹɺزଟͷ ࠔ͕ͪߏ͍͑ͯͨ
1 ϓϨϛΞϜొը໘ ༷ʑͳཁҼͰมಈ͢Δ
• ϓϨϛΞϜొը໘(LP: Landing Page)ͷσβΠϯొऀʹେ͖͘Өڹ • ࣗಈߋ৽ߪಡܕ՝ۚෳࡶͳͷͰஸೡͳઆ໌͕ඞཁ • ʮ1ϲ݄ܦաͨ͠Βࣗಈߋ৽͞ΕΔʯʮղߋ৽ͷ24࣌ؒલ·Ͱʯ • ͜͜ɺAppleͷϨϏϡΞʔ͔ͳΓؾʹ͢ΔϙΠϯτ
• ՝ۚΞΠςϜ໊ɾՁ֨ࣾ֎ͷཁҼͰมΘΓ͏Δ • ʮॳ݄ແྉʯΛഇࢭͯ͠ɺ՝ۚΞΠςϜ໊͔Βʮॳ݄ແྉʯΛແ͍ͨ͘͠ • ՝ۚΞΠςϜͷՁ֨มߋ มಈཁҼͷྫ
• ϓϨϛΞϜLPը໘ΛWKWebViewʹ࣮ͯ • ՝ۚΞΠςϜ໊ɾՁ֨ใStoreKit͔Βऔಘͯ͠දࣔ • WebϖʔδଆͰJSͷϝιουΛ༻ҙ͠ɺevaluateJavaScriptʹͯड͚͢ • ొɾ෮ݩϘλϯURL SchemeΛ։͘Α͏ʹ͢Δ͜ͱʹΑΓొɾ෮ݩϑ ϩʔʹೖΔ
มಈʹରॲͰ͖ΔॊೈͳϓϨϛΞϜLP
• όοΫΤϯυʹΑΔߴͳA/Bςετ͕Մೳʹͳͬͨ • ΑΓਖ਼֬ʹϓϨϛΞϜػೳɾࣗಈߋ৽ߪಡܕΛ͑ΒΕΔ • چόʔδϣϯʹ࠷৽ͷαϙʔτΛఏڙͰ͖Δ • WebViewΫϥογϡͳͲڍಈ͕ෆ҆ఆʹͳΓ͕ͪͰ͋Δ • ϓϨϛΞϜLPͳΒॏ͍JSແ͍ͷͰͦ͜·Ͱෆ҆ఆʹͳΓͮΒ͍
WKWebViewʹΑΔϓϨϛΞϜLP ॊೈͳϓϨϛΞϜLPͷͨΊʹ
• ͔ͬ͠ΓߪೖͰ͖Δ՝ۚΞΠςϜ໊ɾՁ֨Λදࣔ͢Δ • Ձ֨มߋ͕͋ͬͯ҆৺ StoreKit͔Βͷ՝ۚΞΠςϜใදࣔ ॊೈͳϓϨϛΞϜLPͷͨΊʹ
ొɾ෮ݩϘλϯURL SchemeͰಈ࡞ ॊೈͳϓϨϛΞϜLPͷͨΊʹ
2 ࣗಈߋ৽ߪಡܕ՝ۚͷ ϨϏϡʔΨοπϦߦΘΕΔ
• ຖ݄ࣗಈతʹߋ৽͞ΕΔ • ղ͕͍͠ • ղํ๏ɺAppStoreͷΞΧϯτը໘͔ΒͰ͖Δ • ߋ৽͠ͳ͍ͨΊʹߋ৽ͷ24࣌ؒલ·Ͱʹղ͢Δඞཁ͕͋Δ • ͍ͬͯΔظؒػೳ͕༗ޮʹͳ͍ͬͯΔ
ࣗಈߋ৽ߪಡܕ՝͍ۚ͠
͔ͬ͠Γઆ໌͢Δ ΞϓϦΠϯετʔϧϖʔδ pixivϓϨϛΞϜొը໘
• ʮ͜ͷ՝ۚͰԿ͕Ͱ͖ΔΑ͏ʹͳΔʁʯ • ʮετΞͷઆ໌จͰϓϥϯʹ͍ͭͯઆ໌ͯ͠Ͷʯ • ʮϓϨϛΞϜొը໘ͷҙॻ͖ɺϢʔβͷొϑϩʔͰݟ͑Δॴʹ ஔ͍ͯͶʯ Appleؾʹ͍ͯ͠Δ
3 AppStoreͷՁ֨มߋ
• 20154݄ʹຊϦʔδϣϯͰͷҝସʹΑΔՁ֨มߋ͕͋ͬͨɻ • ֹ݄࣌¥600ͩͬͨ՝ۚΞΠςϜ͕ຊϦʔδϣϯʹֹ͓͍݄ͯ¥720ʹ ্͕Γ͠Α͏ͱ͍ͯͨ͠ Ձ֨มߋͷා͞ ¥600/݄ ¥720/݄
ຊʹ͜ΕͰྑ͍ͩΖ ͏͔ʁ
• ՝ۚͷՁ֨ɺAppleʹΑͬͯ༻ҙ͞ΕͨෳछྨͷՁ͔֨Βબ͢ΔͷΈ • iOS൛pixivͷϓϨϛΞϜͷՁ֨ɺWeb൛Android൛ͱҟͳ͍ͬͯΔ • ͞ΒͳΔେ͖ͳဃආ͚͍ͨ ϓϨϛΞϜՁ֨ͷဃΛݮΒ͍ͨ͠
ʮԾʹ্͕Γͨ͠߹ɺ Կ͕ى͖ΔͷͩΖ͏ʁʯ
• ϢʔβʹԿ௨ͳ্͛͘͞ΕΔΘ͚ઈରͳ͍ • Կ͕ى͖Δͷ͔ɺಛʹυΩϡϝϯτ͕ͳ͍ɾɾɾ ʮԾʹ্͕Γͨ͠ΒԿ͕ى͖ΔΜͩΖ͏ʁʯ
্͛Λܭըͨ͠߹ ɺͲ͏ͳΔʁ
• ϢʔβʹEϝʔϧͱϓογϡ௨Ͱ্͛ͷ௨ͱ৽͍͠Ձ֨ͷಉҙ֬ೝ ͕ߦΘΕΔ • ಉҙ͠ͳ͍ɾԠ͠ͳ͍߹ɺαϒεΫϦϓγϣϯ͕ऴྃ͢Δ ্͛Λܭըͨ࣌͠
• ϢʔβʹEϝʔϧͱϓογϡ௨Ͱ্͛ͷ௨ͱ৽͍͠Ձ֨ͷಉҙ֬ೝ ͕ߦΘΕΔ • ಉҙ͠ͳ͍ɾԠ͠ͳ͍߹ɺαϒεΫϦϓγϣϯ͕ऴྃ͢Δ ্͛Λܭըͨ࣌͠ ์ஔ͢Δͱɺ͜ͷϑϩʔ͕࣮ߦ͞ΕΔͷͰʁ
ରԠ: ՝ۚΞΠςϜͷՁ ֨ଳΛҰͭԼ͛ɺ৽Ձ ֨¥600ʹਾ͑ஔ͘
• ϓϨϛΞϜLPมಈཁҼ͕େ͖͍ WebViewΛΈ߹Θ࣮͕͓ͤͨ͢͢Ί • Auto-renewable subscriptions͍͠ ొஈ֊Ͱஸೡʹઆ໌͠Α͏ AppleͱͷΓऔΓ͋Δ͔Βɺ༨༟Λ࣋ͬͯ৹ࠪఏग़͠Α͏ɻ
͜͜·Ͱͷ·ͱΊ
4 ՝ۚΞΠςϜͷҠߦ
ӡ༻͍ͯ͠Δͱඞͣͬͯ͘Δ՝ۚϓϥϯͷௐ Ͳ͏ͬͯʮॳ݄ແྉʯΛഇࢭ͢Δͷ͔ • ӡ༻தͷ՝ۚΞΠςϜ͔Βʮॳ݄ແྉʯΛऔΓ֎͢͜ͱͰ͖ͳ͍ • ৽͍͠՝ۚΞΠςϜΛ࡞ͬͯҠߦ͢Δ ʮॳ݄ແྉʯΛഇࢭ͍ͨ͠
• ෳͷ՝ۚϓϥϯͷؔੑΛઃఆ͢Δ͜ͱ͕Ͱ͖Δ Subscription Group ͍҆ϓϥϯ=݄ ී௨ͷϓϥϯ=݄ ߴ͍ϓϥϯ= ݄
ී௨ͷϓϥϯ= ্Ґ ԼҐ
• ՝ۚΞΠςϜΛͻͱ·ͱΊʹͰ͖Δ • ಉ࣌ʹ1ϓϥϯͷొͷΈͰ͖ΔΑ͏ʹ͢Δ • ՝ۚΞΠςϜͷ্ԼؔΛઃఆͰ͖Δ • ϓϥϯมߋ࣌ʹ͍͍ײ͡ʹಈ͘ • ΞοϓάϨʔυͷͱ͖ʹଈ࠲ʹϓϥϯ͕ΓସΘΔ
• μϯάϨʔυɾΫϩεάϨʔυɺ࣍ճߋ৽ʹΓସΘΔ Subscription Group
• ՝ۚΞΠςϜΛՃ͢Δ • ಉҰͷSubscription GroupsͷಉϨϕϧʹஔ • ສ͕Ұʹɺ2ॏొ͕ઈରʹى͜Βͳ͍Α͏ʹ͢Δ • (ແ͍ͩΖ͏͚Ͳɺ)ΫϩεάϨʔυͰ͖ΔΑ͏ʹ •
ϓϨϛΞϜొ࣌ʹ৽͍͠՝ۚΞΠςϜͰొ͢Δ • ϓϨϛΞϜͷ෮ݩ(Restore)࣌ʹɺ৽ɾچ྆ํͷ՝ۚΞΠςϜΛରͱ͢Δ • 1ϲ݄ແྉϓϥϯͷϢʔβRestoreͰ͖ΔΑ͏ʹɻ ৽͍͠՝ۚΞΠςϜʹҠߦ͢Δ
5 ৽ػೳ࣮ʹ͏Өڹ <ϩάΠϯඞਢഇࢭ>
• pixivϓϨϛΞϜಋೖ࣌: ϩάΠϯඞਢ • 2015: ඇϩάΠϯͰ͑ΔΑ͏ʹͳΔ • ৽نϢʔβ͕োนͳ͘ΞϓϦΛ͍࢝ΊΒΕΔ • 2016:
ԾΞΧϯτొಋೖɾϩάΠϯඞਢԽ • χοΫωʔϜͷઃఆ͕૿͑Δ͕ɺ͙͢ʹҰൠΞΧϯτͷػೳΛ͑Δ ৽نϢʔβͷϋʔυϧΛԼ͖͛ͯͨ
• pixivϓϨϛΞϜಋೖ࣌: ϩάΠϯඞਢ • 2015: ඇϩάΠϯͰ͑ΔΑ͏ʹͳΔ • ৽نϢʔβ͕োนͳ͘ΞϓϦΛ͍࢝ΊΒΕΔ • 2016:
ԾΞΧϯτొಋೖɾϩάΠϯඞਢԽ • χοΫωʔϜͷઃఆ͕૿͑Δ͕ɺ͙͢ʹҰൠΞΧϯτͷػೳΛ͑Δ ৽نϢʔβͷϋʔυϧΛԼ͖͛ͯͨ
ϩάΠϯඞਢഇࢭͷ࣮࣌ pixivʹϩάΠϯ͍ͯ͠ͳ͍߹ɺ ϓϨϛΞϜొͰ͖ͳ͍͍ͯ͘ΑͶʁ
ϩάΠϯඞਢഇࢭͷ৹ࠪϨϏϡʔ ʮpixivʹϩάΠϯ͍ͯ͠ͳͯ͘ ࣗಈߋ৽ߪಡܕ՝ۚΛ ߪೖͰ͖ΔΑ͏ʹ͖ͩ͢ΑͶʯ
App • ϓϨϛΞϜొ • ϓϨϛΞϜ෮ݩ • ϦτϥΠ Server
• Ϩγʔτݕূ • ϓϨϛΞϜঢ়ଶɾϨγʔτظ ݶཧ
App Server • Ϩγʔτݕূ • ϓϨϛΞϜঢ়ଶɾϨγʔτظ ݶཧ •
ϓϨϛΞϜొ • ϓϨϛΞϜ෮ݩ • ϦτϥΠ • (ඇϩάΠϯ࣌)ϓϨϛΞϜঢ় ଶɾϨγʔτظݶཧ
• ϨγʔτݕূαʔόଆʹͤΔ • ϓϨϛΞϜొ࣌ʹϨγʔτͷݕূ͠ɺϨγʔτظݶΛϩʔΧϧʹه • ʮϨγʔτͷఆظߋ৽ʯΛड͚औΓɺϩʔΧϧͷϨγʔτظݶΛߋ৽͢Δ • ʮϨγʔτͷఆظߋ৽ʯͷड͚औΓ: SKPaymentTransactionObserver
ϓϨϛΞϜঢ়ଶɾϨγʔτظݶཧ αʔόͱΞϓϦͷͦΕͧΕͰظݶΛཧ͍ͯͯ͠ͳ͔ͳ͔ා͍
ϓϨϛΞϜঢ়ଶɾϨγʔτظݶཧ ݱࡏԾΞΧϯτొʹରԠ͠ɺ ϩάΠϯඞਢͳͷͰϦϑΝΫλϦϯάத • ϨγʔτݕূαʔόଆʹͤΔ • ϓϨϛΞϜొ࣌ʹϨγʔτͷݕূ͠ɺϨγʔτظݶΛϩʔΧϧʹه •
ʮϨγʔτͷఆظߋ৽ʯΛड͚औΓɺϩʔΧϧͷϨγʔτظݶΛߋ৽͢Δ • ʮϨγʔτͷఆظߋ৽ʯͷड͚औΓ: SKPaymentTransactionObserver
• ϓϨϛΞϜొը໘༷ʑͳཁҼͰมಈ͢Δ • Auto-renewable subscriptionsͷϨϏϡʔΨοπϦߦΘΕΔ • AppStoreͷՁ֨มߋ • ՝ۚΞΠςϜͷҠߦ •
৽ػೳ࣮ʹ͏Өڹ<ϩάΠϯඞਢഇࢭ> ૺ۰ͨ͠·ͱΊ
͜ΕΒͷݟ͕ ଟ͘ͷϓϨϛΞϜͳػೳͷ ʹཱͯΕͱࢥ͍·͢
ϓϨϛΞϜͳମݧʹ ͋ΒΜ͜ͱΛ
Fin.