Just a Computer Graphics Studio & My Life

[iOS] DBAccess 資料庫

上次提到FMDB 資料庫,這次講解DBAccess 資料庫,我一個月前才研究,2016/6/23要講給同事們聽時,便發現DBAccess被Shark吃掉了⋯⋯

DBAccess Shark.png

Read the rest of this entry »

廣告

夏日的體感溫度

六月進入夏天,又來到又濕又熱的季節,之前有介紹過天氣即時預報粉絲頁的機車族的體感溫度,知道冬天的體感溫度多跟風速有關聯,那麼夏天呢?其實也很類似,不過這張圖表強調夏天的體感溫度跟濕度有巧妙的關係。

夏日的體感溫度.jpg

Read the rest of this entry »

3年,說長不長、說短不短,這一天2017/6/16終於來到,我是從2014/7/17去成功嶺度假,回來公司就是個正職iOS App開發者,期間生活與工作還能平衡,持續前往自己想走的職涯。研發替代役3年終於完結登出

我是第36梯(103.07.17~103.08.13)。

有興趣的話可以參考有趣的成功嶺生活:

研發替代役3年完結.jpg

我未來想要繼續開發iOS App,若有公司求才賞識的話,請不吝情給予面試機會,盼能找到能更發揮專長、興趣的工作。

在此簡單條列敝人工作歷練與需求:

開發iOS App已5年,期間參與超過30個以上的專案,包含自有產品客戶專案,開發與維護過iPhone、iPad、Apple Watch等平台的App。

尋求主要做產品的小(新創)公司,期望是能跟生活緊密結合的產品,如智慧裝置(如智慧手錶手環等)、物聯網(藍芽裝置Beacon、NFC等)、影像處理/電腦視覺。

之所以考慮小(新創)公司是因為有較自由彈性的工作環境與時間,非常適合喜歡創造性工作的我,可以接受較高挑戰性的工作,期許自己是個成長駭客(Growth Hacker),同時是開發者也是行銷人,讓所開發的產品能穩定成長!

歡迎路過的讀者轉介紹喔:)~

 

背景獲取 (Background Fetch)可用在:有個情境是想在使用者開啟App前,就將所需要的資料從網路載入完畢,當使用者打開App後就會發現,顯示的資料都是最新的,而不用再重新整理來獲取最新資料。

前人教學得知有三件事情要做:

step1:

專案Capabilities設定Background Modes打開Background fetch

背景獲取 (Background Fetch).png

/**
 Theme: Background Fetch
 IDE: Xcode 8
 Language: Objective C
 Date: 106/06/06
 Author: HappyMan
 Blog: https://cg2010studio.wordpress.com/
 */
// step2
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  [[UIApplication sharedApplication] setMinimumBackgroundFetchInterval:UIApplicationBackgroundFetchIntervalMinimum];
}
// step3
-(void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
{
  NSLog(@"performFetchWithCompletionHandler");
}

若要測試是否能運作,在工具列操作Debug的Simulate Background Fetch,點下去後原本App在前景就會強制跑到背景,若有在performFetchWithCompletionHandler設中斷點,就會發現App會執行這函式。

背景獲取 (Background Fetch)2.png

至於觸發時機,就要看系統怎麼判定你的App要多久喚醒一次,若它發現使用者時常在晚上九點開啟你的App,也許系統就會在晚上八點五十五分喚醒你的App,於是你可以執行載入最新資料的動作。

參考:Background Modes Tutorial: Getting Started

Google Analytics 行為流程

身為行銷人對於Google Analytics是個非常熟悉的數據分析平台,若同時又是個開發者,就能在App中修改調整功能,來觀察使用者的行為流程,以改善App的使用度(含新使用者、活躍使用者、即時使用者等等)。

我發現Google Analytics 行為流程功能非常有趣,可以知道使用者的陸續進入哪個畫面,甚至知道有多少比例的使用者會離開App。身為成長駭客(Growth Hacker)的我,對此相當感興趣,因為我可以修改App功能,來提升使用者黏著度,知道哪些功能特別受到使用者的青睞,來強化該功能!

來介紹一下我所開發的兩個App,以畫面為基礎來觀察使用者的行為流程!

第一個App是知名車廠(一個月數據):

Google Analytics 行為流程2

第二個App是知名超商(半個月數據):

Google Analytics 行為流程

未來我開發自己的產品,肯定要不斷優化畫面與功能!

Fabric Crashlytics 崩潰紀錄

身為成長駭客(Growth Hacker)的我,除了觀察Google Analytics 行為流程之外,還可以查看Fabric Crashlytics 崩潰紀錄,根據重要程度優先來對非常重要的崩潰進行除錯(debug)。一般在開發的時候,不太可能完全地偵測出問題,此時就可透過使用者的實際操作狀況來了解潛在的問題。

於是乎,在專案開發之初我就會整合Fabric,此平台除了像Google Analytics可統計使用者數、活躍者數、線上人數等之外,還有可給開發者了解的Crashlytics 崩潰紀錄,基本上很適合開發經營維護產品的成長駭客

第一個是知名超商APP:

Fabric Crashlytics 崩潰紀錄2

我發現在商品兌換的時候容易崩潰!猜測是產生QR code要給櫃檯人員掃描,使用者在這過程太快點擊「取消兌換」或「離開」,使得API撈回來的資料有誤而沒處理到就發生崩潰。

第二個是知名車廠APP:

Fabric Crashlytics 崩潰紀錄

我發現在刻意阻擋使用者操作時,很容易崩潰XD~那是我要破解第三方套件所使用的撇步

它可以選擇版本、事件、期間來篩選出何時發生的崩潰(crash)

之前我也介紹過Fabric App,可視覺化觀察Fabric 活躍使用者 (Fabric Activity User),在乎iOS版本普及狀況的話可透過Fabric Answers 觀察 iOS 升級狀況

還沒有真正開發過Android native app,就要先用Ionic來編譯Hybrid app的Android版本,當然一開始是最難的,因為前方有一堆你還沒遇過的問題擋在前面,途中我已劈荊斬棘,當前我遇到中文檔名的問題,當然一開始不曉得,查了網路上前人的經驗才疑惑地嘗試。

明明Hybrid app的iOS版本沒有問題,卻在透過Android Studio編譯成Hybrid app的Android版本有問題⋯⋯

Read the rest of this entry »

標籤雲

%d 位部落客按了讚: