#6 App Store 的 Free Apps / Paid Apps 排行榜
串接 RSS Feed Generator API & iTunes Search API,實作 App Store 的 Free Apps / Paid Apps 排行榜。
功能和畫面需求
- 利用 segmented control 切換 Free Apps / Paid Apps 列表
- 從 RSS Feed Generator API 取得 App 排行榜
- 點選列表的 App 後顯示 App 的詳細頁面,串接 iTunes Search API
- 利用 SKStoreProductViewController 顯示 App 的購買頁面
利用 segmented control 切換 Free Apps / Paid Apps 列表
切換列表的做法有很多,其中一種是使用 container view,相關說明可參考以下連結。
從 RSS Feed Generator API 取得 App 排行榜
https://rss.applemarketingtools.com
免費 App 排行榜
https://rss.applemarketingtools.com/api/v2/tw/apps/top-free/25/apps.json
付費 App 排行榜
https://rss.applemarketingtools.com/api/v2/tw/apps/top-paid/25/apps.json
不過付費 App 排行榜的 JSON 不包含價錢,因此若想在列表顯示價錢,必須用 App ID 搭配 iTunes Search API 查詢 App 的詳細資料。比方 App ID 是 1164801111,查詢詳細資料的網址如下:
https://itunes.apple.com/lookup?id=1164801111&country=tw
點選列表的 App 後顯示 App 的詳細頁面,串接 iTunes Search API
至少須包含以下資料:
App Icon,App 名稱,價錢,類別,Preview 圖片,Ratings,App 的介紹,review。
從排行榜 JSON 裡取得 App ID,然後搭配 iTunes Search API 查詢 App 的詳細資料。比方 App ID 是 1164801111,查詢詳細資料的網址如下。
https://itunes.apple.com/lookup?id=1164801111&country=tw
查詢 App review 的 API 如下,以下例子將抓到 App ID 443904275 在台灣的最新 review。
https://itunes.apple.com/rss/customerreviews/page=1/id=443904275/sortby=mostrecent/json?cc=tw
利用 SKStoreProductViewController 顯示 App 的購買頁面
點選價錢後,利用 SKStoreProductViewController 顯示 App 的購買頁面。此功能只能在實機測試,記得要先 import StoreKit。
參考範例
let controller = SKStoreProductViewController()
let dic = [SKStoreProductParameterITunesItemIdentifier: "1164801111"]
controller.loadProduct(withParameters: dic) { result, error in
if result {
self.present(controller, animated: true, completion: nil)
}
}