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
AIエージェント開発のノウハウと課題
pharma_x_tech
9
5.6k
サイト信頼性エンジニアリングとAmazon Web Services / SRE and AWS
ymotongpoo
8
1.9k
開発者体験を定量的に把握する手法と活用事例
ham0215
0
150
AWSではじめる Web APIテスト実践ガイド / A practical guide to testing Web APIs on AWS
yokawasa
8
830
データベースの負荷を紐解く/untangle-the-database-load
emiki
2
570
OPENLOGI Company Profile
hr01
0
60k
アジリティを高めるテストマネジメント #QiitaQualityForward
makky_tyuyan
1
530
User Story Mapping + Inclusive Team
kawaguti
PRO
3
600
結果的にこうなった。から見える メカニズムのようなもの。
recruitengineers
PRO
1
130
あなたが人生で成功するための5つの普遍的法則 #jawsug #jawsdays2025 / 20250301 HEROZ
yoshidashingo
2
470
OCI Success Journey OCIの何が評価されてる?疑問に答える事例セミナー(2025年2月実施)
oracle4engineer
PRO
2
270
きのこカンファレンス_ランチスポンサーセッション
kabaya
1
190
Featured
See All Featured
Unsuck your backbone
ammeep
669
57k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Statistics for Hackers
jakevdp
797
220k
How to train your dragon (web standard)
notwaldorf
91
5.9k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
How to Think Like a Performance Engineer
csswizardry
22
1.4k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
Building an army of robots
kneath
303
45k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
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.