Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Auto-Renewable Subscriptionsを5年間運用した歴史から学ぶ注意点
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
yuutetu
September 01, 2018
Technology
2.3k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Auto-Renewable Subscriptionsを5年間運用した歴史から学ぶ注意点
iOSDC2018で発表した内容です
yuutetu
September 01, 2018
Other Decks in Technology
See All in Technology
BedrockとLambdaで作る リアルタイム進行型推理ゲーム
kawametho
0
210
FOSS4Gを活用した自治体業務DXの試み
470715
0
120
Essential architectural thinking (revised edition)
ufried
0
110
AI時代に必要な脅威モデリング― 変化の速度に負けない理解とリスク判断
masakane55
5
1.2k
二歩目のフロントエンド・ウェブアクセシビリティ
camiha
2
170
LocalStack を使ったサーバーレスアプリケーション開発 / Serverless Development with LocalStack
kakakakakku
1
310
AI Made Us Faster at Solving the Wrong Problems
marceloancelmo
0
190
「Docker Desktop不要の時代」は 来たのか?
ueponx
0
270
AIは爆速なのに、私が詰まっていた話 ― 音声入力と鳴くマスコットでボトルネックを削る
yama3133
0
550
分析AIエージェントを育てる、動く環境を育てる
codatum
1
390
検証フェーズはAIの回答を判断するための学習機会
toru_kubota
2
530
Execution in the Kingdom of Agents: Reflections on Abstraction and Complexity
bcantrill
0
880
Featured
See All Featured
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
350
Facilitating Awesome Meetings
lara
57
7.2k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
390
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
550
Building AI with AI
inesmontani
PRO
1
1.3k
Building the Perfect Custom Keyboard
takai
2
900
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
260
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.9k
For a Future-Friendly Web
brad_frost
184
10k
Everyday Curiosity
cassininazir
0
350
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
The Language of Interfaces
destraynor
162
27k
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.