API iTunes, поиск по идентификатору пакета? - PullRequest
21 голосов
/ 12 января 2012

Можно ли использовать iTunes API для поиска информации на основе уникального идентификатора пакета приложения?У меня есть приложение для iphone, я хочу использовать API, чтобы проверить, есть ли у пользователя самая новая версия.Использование поиска - отстой, потому что он нечеткий (может вернуть много результатов).Я бы предпочел не делать итерации по набору результатов в поисках моего bundleId ..

Я не ищу способ сделать это на стороне устройства (не цель c).Я хотел бы создать серверный код на моем сервере, который будет скрываться, когда / если Apple выполнит изменение API.

Ответы [ 5 ]

45 голосов
/ 28 апреля 2014

Apple изменила свой API и удалила код языка из URL, поэтому вам нужно только bundleId для приложения, которое вы ищете.Например:

http://itunes.apple.com/lookup?bundleId=com.yelp.yelpiphone

Кроме того, вы можете добавить в запрос параметр страны, чтобы получить результаты для конкретной страны в App Store.

Например:

http://itunes.apple.com/lookup?bundleId=com.yelp.yelpiphone&country=de

Описание, рейтинг пользователя и другие поля могут отличаться в разных странах App Store.

8 голосов
/ 13 января 2012

Оказывается, вы можете использовать «Apple ID» вместо идентификатора пакета, поскольку он также уникален для каждого приложения. «Apple ID» отображается на «trackId» в сервисе http://itunes.apple.com/lookup.

6 голосов
/ 06 мая 2013

Вы можете использовать идентификатор пакета с API поиска . Просто замените id на bundleId, например:

http://itunes.apple.com/lookup?bundleId=com.facebook.Facebook

EDIT: Как заявил @Romman Blachman, логика кода страны изменилась. Если вы хотите ограничить свои результаты конкретной страной, используйте следующий пример.

http://itunes.apple.com/lookup?bundleId=com.facebook.Facebook&country=us

3 голосов
/ 13 января 2012

Вы можете использовать библиотеку iVersion , чтобы узнать, есть ли у пользователя последняя версия приложения из приложения.

iVersion

Библиотека для динамической проверки обновлений в Mac / iPhone App Store приложения из приложения и уведомление пользователей о новых релиз. Также можно уведомить пользователей о новых функциях в приложении первым время запуска после обновления.

https://github.com/nicklockwood/iVersion

0 голосов
/ 26 февраля 2019

Благодаря всем ответам выше.Вот код в swift 4.2

guard let info = Bundle.main.infoDictionary,
            let identifier = info["CFBundleIdentifier"] as? String,
      let url = URL(string: "http://itunes.apple.com/lookup?bundleId=\(identifier)") else { return }
    do {
      let data = try Data(contentsOf: url)
      guard let json = try JSONSerialization.jsonObject(with: data, options: [.allowFragments]) as? [String: Any] else {
        return
      }
      if let result = (json["results"] as? [Any])?.first as? [String: Any],
        let version = result["version"] as? String {
        print("version in app store", version)
      }
    } catch let erro as NSError {
      print(erro.description)
    }
...