Sunday, June 26, 2011

在iTunes Connect上看懂你的sales report

標題寫的好像很厲害不過這邊要主要介紹的只會有product type啦XD

app上架之後,
每天早上打開電腦的第一件事就從開gmail變成開itunes connect啦!
Sales and Trends頁面會先以Dashborad的方式來瀏覽.
主要就是可以讓你用長條圖或是折線圖得方式來了解銷售量.
不過我覺得這個模式蠻不容易看的,
如果有多個app的話會被累積在一起算很難瞭解各別app的銷售情況.

所以我都是用Sales模式來看,
就可以看到下面這個表格.

可以用右邊的Apple ID來大致區別不同的app,
也可以從Store看出大概是哪些國家的人裝了你的app,
如果發現征服了新的國家就會自我感到良好這樣 囧

不過我最主要會看的是Type那欄.
Type是Product Type的簡寫,
是用來告訴你這是什麼類型的交易(是初次下載還是更新等等)

以下就是Type各種可能的值囉.

















































Type IdentifierCategoryDescription
1Free or Paid AppsiPhone and iPod Touch
7UpdatesiPhone and iPod Touch
IA1In AppsIn-App Purchase
IA9In AppsIn-App Subscription
1FFree or Paid AppsUniversal Apps
7FUpdatesUniversal Apps
1TFree or Paid AppsiPad Touch
7TUpdatesiPad Touch


Saturday, June 25, 2011

天兵的紐西蘭南島成長日記 (3) 基督城2011年初震後市區封鎖範圍

這是五月初在基督城時市區封鎖的區域,
大致上是Salisbury St., Durham St., Saint Asaph St., 和Barbadoes St.圍起來的範圍.

封閉區的路口都有用鐵網圍起來也有士兵在把守.
想要偷偷跑進去應該是不可能低.

吃東西的話可以在市中心附近的大賣場區(有New World)買回去煮,
裡面也有麥當勞, sushi bar, subway等等東西.
要不然就要到遠一點的Riccaton那邊餐廳比較多也比較熱鬧.
有讓我念念不忘的Nandos可以吃真是太開心了.

Tuesday, June 21, 2011

Facebook: authentication and error handling

認證的種類
1. server-side flow: 指令由自己的server端發出
2. client-side flow: 指令由client端發出(ex: 瀏覽器, 手機app, 桌面app)

認證三步驟
1. 使用者認證(user authentication)
- 顯示接下來希望能獲得授權的app名稱, 並且讓使用者輸入帳號密碼來驗證身分

2. app授權(app authorization)
- 顯示這個app將會提供使用者什麼功能並且會需要使用哪些個人資料

3. app認證(app authentication)
- 使用者同意授與app存取資料的權限

什麼是access token?
access token是用來透過graph api向facebook下指令時所需的東西, 在app完成認證之後就能夠獲得.

server-side flow
1. 拿authorization code
REQUEST: https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&scope=read_stream
REDIRECT TO: http://YOUR_URL?code=A_CODE_GENERATED_BY_SERVER

2. 拿access token
REQUEST: https://graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&client_secret=YOUR_APP_SECRET&code=THE_CODE_FROM_ABOVE
RESPONSE: access_token=YOUR_ACCESS_TOKEN&expires=EXPIRE_TIME


client-side flow
拿access token

REQUEST: https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&scope=read_stream&response_type=token
REDIRECT TO: http://YOUR_URL#access_token=166942940015970%7C2.sa0&expires_in=64090


什麼情況下access token會無效?
1. token過期 (一般情況下使用期限是2小時)
- 使用者曾經同意app的存取權, 但超過當初授予此token所限訂的使用期限.
- 當app利用此token透過graph api下指令時, 會收到HTTP 400的回應並且得到以下錯誤訊息
{
error: {
type: "OAuthException",
message: "Session has expired at unix time
SOME_TIME. The current unix time is SOME_TIME.”
},
}


2. 使用者更改密碼
- 使用者曾經同意app的存取權, 但之後換了密碼
- 當app利用此token透過graph api下指令時, 會收到HTTP 400的回應並且得到以下錯誤訊息
{
error: {
type: "OAuthException",
message: "The session has been invalidated because
the user has changed the password.",
},
}


3. 使用者變更app的存取權限
- 使用者曾經同意app的存取權, 但後來進入app管理頁面取消權限(如下圖)

- 當app利用此token透過graph api下指令時, 會收到HTTP 400的回應並且得到以下錯誤訊息
{
error: {
type: "OAuthException",
message: "Error validating access token: USER_ID
has not authorized application APP_ID",
},
}


4. 使用者登出facebook
- 使用者曾經同意app的存取權(app並未取得offline_access的能力), 但之後使用者登出
- 當app利用此token透過graph api下指令時, 會收到HTTP 400的回應並且得到以下錯誤訊息
{
"error": {
"type":"OAuthException","message":"Error validating
access token: The session is invalid because the user logged out."
}
}


access token無效該如何處理?
首先要注意的就是在下每個graph api指令時都要檢查是否有錯誤發生. 確認是token失效的問題之後就要重新取得認證. (只是單純的過期, 則只需要再次登入, 若是使用者收回了app存取權, app就需要重新獲得授權)

參考資料
1. How-To: Handle expired access tokens
2. Authentication

Sunday, June 12, 2011

我系列: ?

有時候我實在搞不清楚自己是在狀況內還是狀況外.

Tuesday, June 07, 2011

書書的小熊課: 我的縫紉魂徹底燃燒了!



不知道為什麼我很愛用手縫東西的感覺XD
平常釦子掉或是衣服脫線之類簡單的問題都會自己想辦法修復,
而且縫啊縫都會覺得心情很好!
用縫紉機嗒嗒嗒嗒反而我不是那麼喜歡.

去年發現書書回台灣開了小熊課,
熊熊都長得好可愛而且又可以滿足我縫紉的渴望真是太完美了.
不過看到的時候已經太晚所以就只能扼腕啦!
今年消息才剛出來我整個人就蓄勢待發,
好不容易報名成功囉! (春天小熊太搶手, 我上的是後來調整過的綜合班)
春天小熊有好多種顏色! 我其實最喜歡黃色的悠.

外星小熊越看越可愛當初應該報名這個的XD

[以上圖片轉自 小熊穀倉 2011年台北的小熊課報名通知]

到達教室之後就先挑選材料包,
最後選的是淺藍色的毛料,
材料包裡的毛料已經是裁切並且大致上車縫好了,
我們需要做的就是把頭身體四肢接起來塞入棉花裝耳朵最後做出眼睛鼻子嘴巴.
講起來好像很簡單但是我們從早上九點半弄到晚上七點半啊 囧

首先小熊的頭要用棉花塞的硬邦邦的這就已經是個大工程了.
(要是硬的才能夠撐起臉部表情跟線條)
接著要把頭跟四肢接上身體,
要很大的力氣才能把關節轉緊呢!

這張圖就是身體各部分都接起來之後拍的,

把四肢塞滿棉花之後就要利用梯形縫法收口這樣才不會看到線的痕跡悠.
接著小熊的身體底部要先放玻璃沙,
上面才用棉花這樣才坐的穩.

背後同樣也是用梯形縫法,
不過最後要線沿著小雄的脊椎(!!??)直的縫來固定,
讓我想到檀香刑頓時有點毛毛的啊XD

背後完成小熊就能坐的直挺挺的囉!
不過沒有表情看起來有點怪.

加上耳朵就有好一點顛.

利用剪刀把臉部範圍的毛修掉,
再請老師幫我把眼睛的位置用大頭針標出來,
眼睛是靈魂之窗一定要很慎重啊!

接下來就要把眼睛固定上去,
這邊的技巧挺特殊的有點不知道該怎麼形容,
總之就是要利用收緊兩隻眼睛底下相通的線來做出熊熊臉的弧度.
我的線一直卡住重做了三次都快流淚了@.@
最後是助教幫我弄好的.
鼻子用的是較粗的線縫出一層水平線,
上面在縫上一層垂直線這樣才能完全蓋住底下的毛色,
嘴巴也是直接用縫的做出微笑的感覺悠.

最後在脖子上打個蝴蝶結就大功告成囉.


做小熊真是一個很特殊的回憶,
謝謝書書利用短暫歸國的時間開課,
書書媽做的午餐炒米粉跟排骨湯都好好喝,
還有助教們跟書書姐都有耐心的幫住我們真是太感謝啦!