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
iqon_ios_growth_hack
Search
WorldDownTown
February 20, 2014
Programming
4.4k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
iqon_ios_growth_hack
2014/02/20 at VASILY
iQON, Growth Hack, iOS, Objective-C
WorldDownTown
February 20, 2014
Transcript
53 slides
άϩʔεͤ͞ΔͨΊͷJ04 ։ൃख๏ ϩάऩूฤ 7"4*-:J04νʔϜ
"HFOEB wͳͥϩάऩूΛ͢Δͷ͔ wJ04Ͱߦ͍ͬͯΔϩάऩूख๏ͷࣄྫ wϩάऩू։ൃςΫχοΫ w·ͱΊ
ࣗݾհ w໊લߥҪ༐ี w'BDFCPPLBSBSBKQ w1)1 3VCZ 0CKFDUJWF$ 1FSM +BWB4DSJQUͳͲগʑ w7"4*-:ͰʮJ20/ʯͷJ04ΞϓϦΛ୲
ͳͥJ04ΤϯδχΞͷ ͕ͨͪϩάऩूʹ͍ͭͯ ޠΖ͏ͱ͍ͯ͠Δͷ͔
ϓϩμΫτͷάϩʔεʹ ϩάऩू͕ඞཁෆՄܽ
άϩʔεͤ͞ΔͨΊͷ ϩάऩूͷॏཁੑ wάϩʔεϋοΫݱঢ়ͷѲͱվળͷ܁Γฦ͕͠ॏཁ wϩάूܭΛߦͬͯվળΛߦ͍ɺԾઆΛ࣮ূ͍ͯ͘͠ ੳ վળ ϩάऩू ϓϩμΫτͷ
J04Ͱಛʹॏཁ w J04Ͱ"OESPJE8FCʹൺͯ 6*ͷදݱ͕෯͍ w ը໘Λදࣔ͢ΔʹɺϙοϓΞοϓɺ ϞʔμϧɺϑΣʔυΠϯͳͲزͭͷ ํ๏͕ߟ͑ΒΕΔ w Կ͕࠷దͳ6*ͳͷ͔ɺԿ͕Ұ൪ͬͯ
Β͑ͯϓϩμΫτ͕άϩʔε͢Δͷ͔Λ ΔͨΊʹࡉ͔ͳܭଌ͕ඞਢ
ϩάऩूํ๏ͷࣄྫ
wΞϓϦͷϩάऩू ʢJ20/༻தͷΠϕϯτʣ wΞϓϦ֎ͷϩάऩू J20/Λىಈ͍ͯ͠ͳ͍߹ͷ164)Πϕϯτ wαʔϏε֎ͷϩάऩू J20/Λͬͨࣄ͕ͳ͍߹ͷμϯϩʔυΠϕϯτ
ΞϓϦͷϩά ͯ͢ऩू
φϏήʔγϣϯ ϝχϡʔΘΕ͍ͯΔʁ ͓ؾʹೖΓϦετ ؾ͔ͮΕ͍ͯΔʁ ϑΟϧλʔԡ͞Ε͍ͯΔʁ
λϒ ͲΕ͕Ұ൪ԡ͞ΕΔͷʁ ྑ͋͘ΔΈ͚ͩͲJ20/Ϣʔβʔ ͦͦλϒ͏ʁ
ϝχϡʔ ΞίʔσΟΦϯදݱͬͯ ೝࣝ͞Ε͍ͯΔʁ λϒͱͲͪΒ͕ΘΕͯ ͍Δʁ φϏήʔγϣϯͷϑΟϧ λʔͱͲͪΒ͕ΘΕͯ ͍Δʁ
λϒϘλϯ
ಛఆͷ݅Ͱग़Δ7JFX FY ίʔσ࡞ͨ͠ޙʹදࣔ -*,&͕ݸ͍ͭͨޙʹදࣔ ! ͦͦදࣔͲΕ͘Β͍͞Ε͍ͯΔͷʁ ϢʔβͲΕΛબͿʁ ͜ͷ1PQVQΛग़͢ࣄʹΑͬͯޮՌ͋Γͦ͏ʁ
εΫϩʔϧ Ͳ͜·ͰεΫϩʔϧ͔ͨ͠ εΫϩʔϧΛࢭΊͯԿΛݟ͍ͯΔ͔
ϖʔδͷܭଌ ΞϓϦ͕όοΫάϥϯυҠಈ ͢ΔࡍʹɺϢʔβʔ͕࠷ޙʹͲͷ ϖʔδ 7JFX$POUSPMMFS Λݟ͍ͯͨ ͔Λϩάʹམͱ͍ͯ͠Δ
શ෦ϩάͱͬͯ·͢
ͦͷFWFOU
wΞϓϦͰͷϩάऩू wΞϓϦ֎͔Βͷϩάऩू wαʔϏε֎͔Βͷϩάऩू
164)ͷϩάऩू
Կͷ164)௨Λ ͲͷϢʔβʔ͕։͍͔ͨ ͯ͢ऩू͍ͯ͠·͢
ࣗͷͲͷίʔσͷ17͕ᮢΛ͑ͨ ࣗͷͲͷίʔσʹίϝϯτ͞Εͨ ࣗͷͲͷίʔσʹίϝϯτ͞Εͨ ࣗͷίʔσΛ-*,&͞Εͨ ࣗͷίʔσͷ-*,&ͷᮢΛ͑ͨ -*,&ͯ͠ΔΞΠςϜΛͬͨίʔσ͕ߘ͞Εͨ -*,&ͯ͠ΔΞΠςϜΛ୭͔͕-*,&ͨ͠ -*,&ͯ͠ΔΞΠςϜ͕Լ͕Γ࣌ J20/͔Βͷ͓Βͤ ϑΥϩʔ͞Εͨ
ಛఆͷ݅Λୡͨ͠Β ಧ͘164)௨ -*,&͍ͯ͠ΔΞΠςϜ͕εϖγϟϧϖʔδʹΘΕͨ -*,&͍ͯ͠Δίʔσ͕εϖγϟϧϖʔδʹΘΕͨ ࣗͷίʔσ͕εϖγϟϧϖʔδʹΘΕͨ -*,&͍ͯ͠ΔϒϥϯυʹۙिؒΞΠςϜ͕Ճ͞Εͨ -*,&͍ͯ͠Δϒϥϯυͷࡏݿ͕͘͢ͳ͍ ϨϏϡʔͰݶఆΞΠςϜ͕ϓϨθϯτ͞Εͨ ͍ͷQVTI͕ૹ৴͞Εͨ ͕ࣗ࡞ͬͨίϨΫγϣϯ͕-*,&͞Εͨ ͕ࣗ࡞ͬͨίϨΫγϣϯ͕-*,&ͷᮢΛ͑ͨ ͕ࣗ࡞ͬͨίʔσ͕ίϨΫγϣϯʹΘΕͨ GBDFCPPLͷ༑ୡ͕J20/Λ࢝Ίͨ
ҙͷλΠϛϯάͰૹΔ 164)௨ ίϯςετ։࢝ ίϯςετ݁Ռൃද ίϯςετऴྃؒۙ ͓Βͤ ϚΠϖʔδ ਓؾͷΞΠςϜ ਓؾͷελΠϦετ -*,&ΞΠςϜίʔσ
ਓؾͷΞΠςϜ ͕͢͞τοϓ ΞΠςϜݕࡧ -1 ਓؾͷ·ͱΊ ৽ண·ͱΊ ·ͱΊৄࡉ ϗʔϜ ΤσΟλʔτοϓ ίʔσৄࡉ ΞΠςϜৄࡉ ਓؾͷίʔσ ελοϑΦεεϝͷίʔσ ελοϑΦεεϝͷελΠϦετ ϑΥϩʔ͍ͯ͠Δਓͷίʔσ ৽ணͷίʔσ ελοϑΦεεϝͷ·ͱΊ ϥϯΩϯά
164)Λىಈͨ࣌͠ͷ ΞϓϦͷঢ়ଶͱ͍ͬͯ·͢ w ΞϓϦ༻தʹ164)௨͔Βड͚औͬͨ w ΞϓϦ͕όοΫάϥϯυʹ͋Δঢ়ଶͰ164)௨ ͔ΒΞϓϦΛىಈͨ͠ w ΞϓϦ͕ىಈ͍ͯ͠ͳ͍ঢ়ଶͰ164)௨͔ΒΞ ϓϦΛىಈͨ͠
164)௨ʹΑΔ3FUFOUJPO ࠶๚
wΞϓϦͰͷϩάऩू wΞϓϦ֎͔Βͷϩάऩू wαʔϏε֎͔Βͷϩάऩू
টػೳ 5XJUUFS 'BDFCPPL -*/& ࿈བྷઌ ͷ༑ୡΛট͢Δػೳ ͢ͰʹJ20/Ϣʔβʔͷ༑ୡͱͭ ͳ͕Δ͜ͱ͕Ͱ͖Δ
ট͔Β%-·Ͱͷܭଌ ͲͷιʔγϟϧϝσΟΞ͔Βͷট͕%-ʹ݁ ͼ͍͔ͭͨΛɺটϝοηʔδҰͭҰͭʹ ͍ͭͯܭଌ͍ͯ͠Δ
ϩάूܭ ։ൃςΫχοΫ
ࣗݾհ • ঙ࢘ ܒี • twitter/github: WorldDownTown • iOSྺ1 iQONͷiOSΤϯδχΞ
2େྔͷϩάͷຒΊࠐΈ ͬͯͲ͏ͬͯΔͷʁ
"ϩάूܭܥͷॲཧ ϝιουҰߦ
#import "IQLocalyticsUtil.h" #import "LocalyticsSession.h" #import "UIApplication+UIID.h" ! @implementation IQLocalyticsUtil !
#pragma mark - public method ! + (void)openSession { @try { if (LOCALYTICS_DEBUG) { LocalyticsSession.sharedLocalyticsSession.loggingEnabled = YES; } [LocalyticsSession.sharedLocalyticsSession startSession:kLocalyticsAppKey]; } @catch (NSException * e) {} } ϩάूܭͷ໘ͳॲཧ6UJMJUZΫϥεʹ·ͱΊͯ ϝιουҰߦͰϩάΛམͱͤΔΑ͏ʹ͍ͯ͠Δ ·ͨɺڞ௨ॲཧͰͲͷΠϕϯτܭଌʹඞͣ VTFS@JEؚ͕·ΕΔΑ͏ʹͳ͍ͬͯΔ - (IBAction)likeButtonPressed:(id)sender { // LIKEボタンのタップイベントをログに落とす [IQLocalyticsUtil tagEvent:@"/tap/item/like/"]; ! // LIKE処理 // ... }
2ͦΜͳʹͨ͘͞Μ ϩάΛऩूͯ͠Δ͚Ͳɺ ύϑΥʔϚϯεʹӨڹʁ
"ϩάΛΞοϓϩʔυ ͢Δ௨৴࠷খݶʹ ͓͍͑ͯ͞ΔͷͰେৎ
ྫ εΫϩʔϧͷܭଌ Ϧετදࣔ6*5BCMF7JFXͰ࡞ΒΕ͍ͯͯɺ UBCMF7JFXXJMM%JTQMBZ$FMMGPS3PX"U*OEFY1BUI ͰͲΕ͚ͩηϧΛද͔ࣔͨ͠ΛTRMJUFʹཷΊࠐΜ Ͱ͍Δɻ ! ৗʹϩάΛΞοϓϩʔυ͢ΔͨΊͷ௨৴ߦΘͣɺ ΞϓϦέʔγϣϯ͕όοΫάϥϯυʹ͍ͬͨ࣌ ʹ·ͱΊͯૹ৴͍ͯ͠ΔɻͦͷͨΊεΫϩʔϧύ
ϑΥʔϚϯεͷӨڹͳ͍ɻ
2164)͔Βͷىಈͬ ͯͲ͏ͬͯ ܭଌͯ͠Δͷʁ
"ΞϓϦىಈ࣌ʹ QBZMPBEΛνΣοΫ
1̨̪̝௨ΛΧελϚΠζ +40/QBZMPBEͷҰྫ { aps: { alert: 'あなたのコーデがLIKEされました', badge: 1, sound:
'default' }, id: 'like' // ログ用パラメータ }
1̨̪̝௨ΛΧελϚΠζ 164)௨͔ΒΞϓϦΛىಈ͢ΔࡍʹQBZMPBEͷ σʔλΛΈͯͲͷ164)͔Βىಈ͔ͨ͠Λಛఆ QBZMPBEͷσʔλΛड͚औΔʹɺ "QQ%FMFHBUF̎ͭͷϝιουͰ࣮͠·͢ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
1̨̪̝௨ΛΧελϚΠζ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { NSMutableDictionary *payload =
[launchOptions[UIApplicationLaunchOptionsRemoteNotificationKey] mutableCopy]; payload[@"type"] = @"not_running"; if (payload) { // アプリの未起動時にプッシュ通知を受け取り、ユーザーがアクションボタンをタップしたとき // payload[@"id"] -> like [self startWithPayload:payload]; } return YES; } - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { NSMutableDictionary *payload = userInfo.mutableCopy; if (application.applicationState == UIApplicationStateActive) { // フォアグラウンドでプッシュ通知を受け取ったとき payload[@"type"] = @"active"; } else { // アプリがサスペンド中にプッシュ通知を受け取り、ユーザーがアクションボタンをタップしたとき payload[@"type"] = @"background"; } // payload[@"id"] -> like [self startWithPayload:payload]; }
2%-ܭଌͲ͏ͬ ͯΔͷʁ
"J20/ಠࣗͷΈ
%-ܭଌͷσʔλϑϩʔ
2˓˓ͷσʔλ͕ཉ ͍͠Μ͚ͩͲʁ ϦϦʔεޙʹ
"ੜϩάΛཷΊࠐΜͰ ͍ΔͷͰղੳͰ͖·͢
None
LocalyticsͰਂ͍ੳΛߦ͏ͨΊɺ ऩूͨ͠ੜσʔλΛamazonS3ʹΤΫεϙʔτ Ͱ͖ɺ͜ΕΛಠࣗʹղੳ͍ͯ͠Δɻ -PDBMZUJDTΛ͍ͬͯ·͢
·ͱΊ
ࠓճհͨ͠ࡉ͔͍ूܭ ϓϩμΫτΛάϩʔεͤ͞Δ खஈͷҰʹ͗͢ͳ͍
༏लͳάϩʔεϋοΧʔ ͕͍ͯΤϯδχΞ͕ΈΛ ࡞Εͳ͚ΕάϩʔεͰ͖ͳ͍
άϩʔεΛҙࣝͯ͠։ൃͷ ஈ֊͔ΒΤϯδχΞ ͱ͜ͱΜ)"$,͠·͠ΐ͏
WANTED https://www.wantedly.com/projects/5530 iOSΤϯδχΞืूதʂ
More Decks by WorldDownTown
See All by WorldDownTown
WWDC動画鑑賞会📹🍱を支える技術 / WWDC Video Lunch
worlddowntown
0
350
Live Renderingとの上手い付き合い方
worlddowntown
1
640
In-App Purchase / Subscription with StoreKit
worlddowntown
3
3.1k
20150225_iqon.pdf
worlddowntown
0
110
ios_push_local_notification
worlddowntown
0
180
Other Decks in Programming
See All in Programming
AI時代のFlutter品質設計 — アプリ品質を守るQuality Layers
omatty198
0
370
学びを記事・スライド・Xへ高速展開する― AI-assisted Learning Loopで回すコンテンツ生成術
ochtum
0
210
PyConTW 2026 - AI Coding 不只是工具升級, 區域醫院醫療資訊系統協作開發與資訊團隊轉型實踐
cclai999
0
250
Zero-Tap Sign-In対応、結局何をすればいいの?
mitohato14
0
2.1k
Modernizing iOS Apps
seyfoyun
0
150
Growing PicoRuby's Ecosystem on ESP32
yuuu
2
120
TS 7.0 で baseUrl が使えなくなった今、パスエイリアスをどうするか
bicstone
2
610
私なりのハーネスエンジニアリング ~独自の言語処理系の開発を通して~
seosoft
0
200
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
4
4k
React Native経験者が Flutterを30⽇間触って驚いたこと
3saito
0
170
SODA - FACT BOOK(JP)
sodainc
1
40k
protojson における文字化けの扱い
kazuki1023
0
390
Featured
See All Featured
A designer walks into a library…
pauljervisheath
211
25k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
520
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Un-Boring Meetings
codingconduct
0
490
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.5k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
2
520
What's in a price? How to price your products and services
michaelherold
247
13k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
Scaling GitHub
holman
464
140k