Upgrade to Pro — share decks privately, control downloads, hide ads and more …

iqon_ios_growth_hack

Avatar for WorldDownTown WorldDownTown
February 20, 2014

 iqon_ios_growth_hack

2014/02/20 at VASILY
iQON, Growth Hack, iOS, Objective-C

Avatar for WorldDownTown

WorldDownTown

February 20, 2014
Tweet

More Decks by WorldDownTown

Other Decks in Programming

Transcript

  1. ࣗ෼ͷͲͷίʔσͷ17͕ᮢ஋Λ௒͑ͨ
 ࣗ෼ͷͲͷίʔσʹίϝϯτ͞Εͨ ࣗ෼ͷͲͷίʔσʹίϝϯτ͞Εͨ ࣗ෼ͷίʔσΛ-*,&͞Εͨ ࣗ෼ͷίʔσͷ-*,&ͷᮢ஋Λ௒͑ͨ -*,&ͯ͠ΔΞΠςϜΛ࢖ͬͨίʔσ͕౤ߘ͞Εͨ -*,&ͯ͠ΔΞΠςϜΛ୭͔͕-*,&ͨ͠ -*,&ͯ͠ΔΞΠςϜ͕஋Լ͕Γ࣌ J20/͔Βͷ͓஌Βͤ ϑΥϩʔ͞Εͨ

    ಛఆͷ৚݅Λୡ੒ͨ͠Β ಧ͘164)௨஌ -*,&͍ͯ͠ΔΞΠςϜ͕εϖγϟϧϖʔδʹ࢖ΘΕͨ -*,&͍ͯ͠Δίʔσ͕εϖγϟϧϖʔδʹ࢖ΘΕͨ ࣗ෼ͷίʔσ͕εϖγϟϧϖʔδʹ࢖ΘΕͨ -*,&͍ͯ͠Δϒϥϯυʹ௚ۙिؒΞΠςϜ͕௥Ճ͞Εͨ -*,&͍ͯ͠Δϒϥϯυͷࡏݿ͕͘͢ͳ͍ ϨϏϡʔͰݶఆΞΠςϜ͕ϓϨθϯτ͞Εͨ ઎͍ͷQVTI͕ૹ৴͞Εͨ ࣗ෼͕࡞ͬͨίϨΫγϣϯ͕-*,&͞Εͨ ࣗ෼͕࡞ͬͨίϨΫγϣϯ͕-*,&ͷᮢ஋Λ௒͑ͨ ࣗ෼͕࡞ͬͨίʔσ͕ίϨΫγϣϯʹ࢖ΘΕͨ GBDFCPPLͷ༑ୡ͕J20/Λ࢝Ίͨ
  2. ೚ҙͷλΠϛϯάͰૹΔ 164)௨஌ ίϯςετ։࢝ ίϯςετ݁Ռൃද ίϯςετऴྃؒۙ ͓஌Βͤ ϚΠϖʔδ ਓؾͷΞΠςϜ ਓؾͷελΠϦετ -*,&ΞΠςϜίʔσ

    ਓؾͷΞΠςϜ ͕͢͞τοϓ ΞΠςϜݕࡧ  -1 ਓؾͷ·ͱΊ ৽ண·ͱΊ ·ͱΊৄࡉ ϗʔϜ ΤσΟλʔτοϓ ίʔσৄࡉ ΞΠςϜৄࡉ ਓؾͷίʔσ ελοϑΦεεϝͷίʔσ ελοϑΦεεϝͷελΠϦετ ϑΥϩʔ͍ͯ͠Δਓͷίʔσ ৽ணͷίʔσ ελοϑΦεεϝͷ·ͱΊ ϥϯΩϯά
  3. #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処理 // ... }
  4. 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]; }