#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。

SKStoreProductViewController 顯示的 App 頁面

參考範例

let controller = SKStoreProductViewController()
let dic = [SKStoreProductParameterITunesItemIdentifier: "1164801111"]
controller.loadProduct(withParameters: dic) { result, error in
if result {
self.present(controller, animated: true, completion: nil)
}
}

作品集

--

--

彼得潘的 iOS App Neverland
彼得潘的真實 iOS App 畫面功能復刻

彼得潘的iOS App程式設計入門,文組生的iOS App程式設計入門講師,彼得潘的 Swift 程式設計入門,App程式設計入門作者,http://apppeterpan.strikingly.com