Slide 1

Slide 1 text

೔ܦిࢠ൛Ͱ App ಺՝ۚΛಋೖͨ͠࿩ ழࣂ େࢤɹ೔ຊܦࡁ৽ฉࣾ Otemachi.swift #3

Slide 2

Slide 2 text

!2 About me ழࣂ େࢤʢ͍͔͍ ͍ͨ͠ʣ ೔ຊܦࡁ৽ฉࣾॴଐͷΤϯδχΞ
 OKRϦςϯγϣϯ୲౰ ͍ͭͬͯ͘Δ΋ͷ
 ɹiPhone ͷ೔ܦిࢠ൛ΞϓϦ
 ɹiPhone / iPad ͷࢴ໘ϏϡʔΞʔΞϓϦ
 ɹΞϓϦͷόοΫΤϯυܥ (w/αʔόʔϨε)

Slide 3

Slide 3 text

೔ܦిࢠ൛ͷ App ʹ͍ͭͯ !3

Slide 4

Slide 4 text

!4 ೔ܦిࢠ൛ ࢴ໘ϏϡʔΞʔ

Slide 5

Slide 5 text

!5 ೔ܦిࢠ൛ ࢴ໘ϏϡʔΞʔ App ಺՝ۚΛಋೖ

Slide 6

Slide 6 text

!6 ೔ܦిࢠ൛Λߪಡ͢Δํ๏ (- 2018/6/6) WebαΠτʢΫϨδοτΧʔυʣ ※ ओཁͳ΋ͷͷΈ

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

ࣗࣾ՝ۚʹͭͳ͕ΔಋઢΛ̍ϛϦͰ΋දࣔ͢ΔͱϦδΣΫτ
 WebαΠτʹ༠ಋ͢ΔจݴΛॻ͍ͯ΋ϦδΣΫτ ؾʹೖͬͯ΋Βͬͯ΋ŊΞϓϦ͔Β͸ߪಡͯ͠΋Β͑ͳ͍ঢ়گ

Slide 9

Slide 9 text

App ಺՝ۚͯ͠·͔͢ʁ !9

Slide 10

Slide 10 text

App ಺՝ۚͱ͸ !10

Slide 11

Slide 11 text

!11 ”App ಺՝ۚͱ͸ɺiOS σόΠε΍ίϯϐϡʔλ্ͷ App ͷதͰ௥Ճͷίϯςϯπ΍ఆظߪಡίϯςϯπΛ ߪೖͰ͖Δ͘͠ΈͰ͢ɻ”
 https://support.apple.com/ja-jp/HT202023

Slide 12

Slide 12 text

!12 ࠷ۙͷχϡʔε Netflix tests a bypass of iTunes billing in 33 markets ― Tech Crunch 2018/8/21 https://techcrunch.com/2018/08/21/netflix-itunes-2/ Apple and Google Face Growing Revolt Over App Store ‘Tax’ ― Tech Crunch 2018/8/22 https://www.bloomberg.com/news/articles/2018-08-22/apple-and-google-face-growing- revolt-over-app-store-tax Here's proof that a big source of Apple's App Store growth tanked, probably thanks to Netflixɹ ― Business Insider 2019/4/6 https://www.businessinsider.com/morgan-stanley-proof-netflix-tanked-source-apple- app-store-growth-2019-4

Slide 13

Slide 13 text

!13 ೔ܦిࢠ൛Λߪಡ͢Δํ๏ (2018/6/7 -) WebαΠτʢΫϨδοτΧʔυʣ Google Play ※ ओཁͳ΋ͷͷΈ

Slide 14

Slide 14 text

!14 Google Play Λࢼݧಋೖ (Android ൛) KPI ͸ CVR 
 ɹCVR: ͓ࢼ͠ظؒऴྃޙɺ՝ۚ͢ΔϢʔβʔͷׂ߹
 ɹ͜ΕΛୡ੒Ͱ͖Ε͹ɺख਺ྉ෼Λ૬ࡴͰ͖Δ

Slide 15

Slide 15 text

https://prtimes.jp/main/html/rd/p/000000081.000011115.html

Slide 16

Slide 16 text

!16 Google Play Λࢼݧಋೖ (Android ൛) KPI ͸ CVR 
 ɹCVR: ͓ࢼ͠ظؒऴྃޙɺ՝ۚ͢ΔϢʔβʔͷׂ߹
 ɹ͜ΕΛୡ੒Ͱ͖Ε͹ɺख਺ྉ෼Λ૬ࡴͰ͖Δ → ੒ޭ → App Store Ͱ΋࣮ࢪ΁

Slide 17

Slide 17 text

!17 ཪ൪૊঺հ https://speakerdeck.com/ymnder/yun-yong-karaxue-buplay-billing-library

Slide 18

Slide 18 text

!18 ೔ܦిࢠ൛Λߪಡ͢Δํ๏ (2019/2/26 -) WebαΠτʢΫϨδοτΧʔυʣ Google Play App Store ※ ओཁͳ΋ͷͷΈ

Slide 19

Slide 19 text

!19 App ಺՝ۚ΁ͷҹ৅ (Ϣʔβʔ) ؆୯ʹɺख୹ʹܖ໿Մೳ
 ɹΫϨδοτΧʔυ΍ݸਓ৘ใͷ౎౓ೖྗ͕ෆཁ ղ໿͕༰қɻ֤ΞϓϦͰಉ͡ํ๏Ͱղ໿Ͱ͖Δ ແྉମݧظؒʹղ໿͢Ε͹ɺྉ͕ۚൃੜ͠ͳ͍
 ɹ(ҧ໿ۚతͳ௥Ճͷࢧ෷͍΋ͳ͠)

Slide 20

Slide 20 text

!20 App ಺՝ۚ΁ͷҹ৅ (։ൃऀ) ೔ܦిࢠ൛Ϣʔβʔ͸ iOS Ϣʔβʔ͕ଟ͍ ࢢ৔ن໛΋ App Store ͷ΄͏͕େ͖͍ ܖ໿͠΍͍͚͢Ͳɺղ໿͠΍͍͢ɻ
 ࣮ͷೖΓ͕Ͳͷఔ౓ʹͳΔ͔ ʢϢʔβʔ֫ಘʹ௚઀తʹߩݙͰ͖ͦ͏ʣ

Slide 21

Slide 21 text

ઃܭ / ࣮૷։࢝ !21 ܭըཱ͕ͬͯ

Slide 22

Slide 22 text

!22 طଘͷ՝ܾۚࡁγεςϜɺIDͱͷ࿈ܞ ೔ܦిࢠ൛Ͱ͸ɺApp Store Ͱͳ͘
 ࣗࣾAPI͔ΒίϯςϯπΛ഑৴ ࿈ܞɺղ໿࣌ͷϑϩʔ ೝՄ৘ใͷఆٛ ిࢠ൛Ҏ֎ͷαʔϏεͰͷରԠ → ࠓճ͸࿩͠·ͤΜ API
 (BFF) App Store ߪೖ / ෮ݩ Ϩγʔτ Ϩγʔτ ೝՄ ίϯςϯπ ϨγʔτΛݕূ

Slide 23

Slide 23 text

!23 App ಺՝ۚ (App Store) Ͱͷ௥ՃͷରԠ αʔόʔଆͷରԠ
 ɹ͢Ͱʹ͋ΔೝՄͷ࢓૊Έʹ௥Ճ͢Δܗ
 ɹߪಡΛ։࢝ͨ͠ / Ωϟϯηϧͨ͠ͷಉظ ͳͲ iOS ൛ͷ೔ܦిࢠ൛ΞϓϦͷઃܭɺ࣮૷ʢ͜ͷޙ࿩͠·͢ʣ

Slide 24

Slide 24 text

!24 App ಺՝ۚͷछผ ফ໣ܕ Ұ౓࢖͏ͱͳ͘ͳΔ΋ͷɻίΠϯͱ͔ɺΞΠςϜͳͲ ඇফ໣ܕ ޿ࠂ࡟আ / ػೳ௥Ճ ͳͲ ࣗಈߋ৽
 αϒεΫϦϓγϣϯ ఆظతʹߋ৽͞ΕΔ΋ͷɻSaaS, ৽ฉͳͲ ඇߋ৽
 αϒεΫϦϓγϣϯ ظؒݶఆͷαʔϏεɺίϯςϯπ

Slide 25

Slide 25 text

!25 ࣗಈߋ৽αϒεΫϦϓγϣϯΛ࢖͏ App χϡʔε
 ɹThe New York Times, WSJ, The Times, The Guardian, NewsPicks... ͦͷଞ
 ɹNetflix, ΫοΫύου, AbemaTV, ৯΂ϩά, MoneyTree...

Slide 26

Slide 26 text

!26 UXͷݕ౼ Designing a Great In-App Purchase Experience (WWDC 2014)ɺ
 ଞࣾ iOS ΞϓϦɺઌൃͷ೔ܦిࢠ൛ Android ൛Λࢀߟʹ ՝ۚ·Ͱͷλοϓ਺͸ۃྗগͳ͘ ޡղ͢ΔΑ͏ͳදهΛආ͚ͯ෼͔Γ΍͘͢
 ɹҰ؏ੑͷ͋Δදݱ
 ɹղ໿ಋઢ΋ϝχϡʔͷઙ͍Ґஔʹ ϓϥΠόγʔϙϦγʔɺར༻ن໿ͳͲΛ໨ʹ৮ΕΔҐஔʹ
 ɹϦδΣΫτ͞Εͳ͍ͨΊͷඞཁ৚݅

Slide 27

Slide 27 text

!27

Slide 28

Slide 28 text

!28 Sketch ͰϞοΫ (σϞ) Λ࡞ͬͨ <σϞ>

Slide 29

Slide 29 text

!29 ࣮૷͢Δ: ͬ͘͟Γͱ͋͛Δͱ ߪಡ͢Δ
 ɹطଘͷೝূػߏʹՃ͑ͯɺϨγʔτͰͷೝূΛ௥Ճ ೔ܦ ID ʹొ࿥͢Δ
 ɹΞϓϦͷத͔Β೔ܦ ID ΛऔಘͰ͖ΔΑ͏ʹ ೔ܦ ID ΞΧ΢ϯτΛඥ͚ͮΔ
 ɹ͢Ͱʹ೔ܦ ID Λ͍࣋ͬͯΔΞΧ΢ϯτͱϨγʔτΛඥ͚ͮ ෮ݩ͢Δʢߪಡͱಉ͡ηοτʣ

Slide 30

Slide 30 text

!30 ࣮૷͢Δ: ࢀߟࢿྉ App಺՝ۚ - Apple Developer
 ɹApple ͕ఏڙ͢ΔApp ಺՝ۚͷϦιʔε͕·ͱ·ͬͯܝࡌ͞Ε͍ͯΔ App಺՝ۚʹ͍ͭͯ
 ɹ࣮૷ͱ͔ςετͷ࿩ɻ೔ຊޠͳͷͰಡΈ΍͍͢

Slide 31

Slide 31 text

!31 import StoreKit

Slide 32

Slide 32 text

!32 ߪಡ ໾ׂ
 ɹߪಡʢݱࡏ͸ແྉମݧɻ࣮૷తʹ͸ҙࣝͤͣʣ
 ɹ෮ݩ Ϟδϡʔϧʢ͍͍ͩͨը໘୯Ґʣͷߏ੒ཁૉ
 ɹView Controller, View Model, Model
 ɹ(Builder, Wireframe) NEW Ϟδϡʔϧ

Slide 33

Slide 33 text

!33 ॳճىಈը໘ هࣄը໘ʢແྉͰӾཡͰ͖Δຊ਺Λ௒աͨ͠ޙʣ ேץɾ༦ץ Myχϡʔε ϝχϡʔɹͰɺಋઢදࣔ

Slide 34

Slide 34 text

!34

Slide 35

Slide 35 text

!35 ߪಡը໘͸ WebView Ͱࠩ͠ସ͑Մೳʹ ΞϓϦ಺ʹ HTML / CSS Λอ࣋ͯ͠දࣔ
 ɹGRMustache Λར༻ WebϖʔδͬΆ͕͞࿐ఄ͠ͳ͍Α͏ʹ޻෉͢Δ Remote Config Ͱ URL Λࢦఆͯ͠ɺ֎෦ URL Λදࣔ͢Δ AB ςετ΋ߦ͑ΔΑ͏ʹ
 (App Store ΨΠυϥΠϯΛ९कͯ͠΋Β͏)

Slide 36

Slide 36 text

!36

Slide 37

Slide 37 text

!37 html { touch-action: manipulation; -webkit-touch-callout: none; } body { padding-top: constant(safe-area-inset-top); padding-top: env(safe-area-inset-top); padding-bottom: constant(safe-area-inset-bottom); padding-bottom: env(safe-area-inset-bottom); } .subscription { position: -webkit-sticky; bottom: 0; }

Slide 38

Slide 38 text

!38 ৚݅ʹΑΓදࣔΛ੾Γସ͑ ログイン

Slide 39

Slide 39 text

!39

Slide 40

Slide 40 text

!40 ແྉମݧΛ։࢝ extension SubscriptionViewController: WKNavigationDelegate { func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) { let request = navigationAction.request guard let requestUrl = request.url, navigationAction.navigationType == .linkActivated else { return decisionHandler(.allow) } switch (requestUrl.scheme, requestUrl.host) { case ("local", "subscribe"): self.viewModel.subscribeButtonDidTap.onNext(()) return decisionHandler(.cancel) <略> default: return decisionHandler(.allow) } } }

Slide 41

Slide 41 text

!41

Slide 42

Slide 42 text

!42 ϩάΠϯ ໾ׂ
 ɹ೔ܦ ID / PW ͰͷೝূʢϩάΠϯʣ
 ɹϩάΞ΢τ Ϟδϡʔϧ

Slide 43

Slide 43 text

!43 ϩάΠϯ ໾ׂ
 ɹ೔ܦ ID / PW ͰͷೝূʢϩάΠϯʣ
 ɹϩάΞ΢τ
 ɹϨγʔτͰͷೝূ
 ɹϨγʔτͰߪಡঢ়ଶ → ೔ܦIDΞΧ΢ϯτඥ͚ͮ
 ɹ೔ܦIDϩάΠϯঢ়ଶ → Ϩγʔτඥ͚ͮ NEW NEW NEW Ϟδϡʔϧ

Slide 44

Slide 44 text

!44 ೔ܦIDʹొ࿥ هࣄอଘɺMyχϡʔεͷར༻ʹඞཁ PC / Android ͔Β΋ར༻Մೳʹ App ͔Βߪಡͨ͠ਓʹରͯ͠දࣔ Ϩγʔτͱ೔ܦIDΛඥ෇͚ ඞཁ࠷௿ݶͷ߲໨Ͱొ࿥Մೳʹ NEW Ϟδϡʔϧ

Slide 45

Slide 45 text

!45

Slide 46

Slide 46 text

!46

Slide 47

Slide 47 text

!47

Slide 48

Slide 48 text

Promoting IAP !48 https://developer.apple.com/jp/app-store/promoting-in-app-purchases/

Slide 49

Slide 49 text

!49 censored

Slide 50

Slide 50 text

!50 App಺՝ۚΛ࢝Ίͯ 1 ͔݄ ແྉମݧऴྃޙͷ՝ۚܧଓ཰͸... Google Play Ͱͷ࣮੷Λ૝ఆͨ͠༧૝ΑΓ͸େ෯ʹྑ͔ͬͨ

Slide 51

Slide 51 text

!51 ࠓޙ ࢖ͬͯ͘ΕΔਓͷຬ଍౓ɺར༻ܧଓ཰ΛΑΓߴΊΔ࢓ֻ͚ ΋ͬͱಡΈͨ͘ͳΔΑ͏ͳίϯςϯπͷاը ΞϓϦͷ UI վળɺύϑΥʔϚϯεվળ ͳͲ ڵຯΛ͍͚࣋ͬͯͨͩͨํ͸ https://hack.nikkei.com/ ΁ʂ