2012-01-12 21 views
19

¿Hay alguna forma de utilizar el iTunes API para buscar información basada en el paquete único ID de la aplicación? Tengo una aplicación para iPhone, quiero usar la API para verificar si el usuario tiene la versión más nueva. Usar la búsqueda apesta, porque es difusa (puede devolver muchos resultados). Prefiero no tener que iterar sobre el conjunto de resultados en busca de mi bundleId ..iTunes api, búsqueda por ID del paquete?

No estoy buscando una forma de hacer esto en el lado del dispositivo (no el objetivo c). Me gustaría crear un código del lado del servidor en mi servidor que se oculte cuando Apple hace cambios en la API.

Respuesta

35

Apple ha cambiado su API, y eliminado el código de idioma en la URL, por lo que debe solamente el bundleId para la aplicación que busca. Por ejemplo:

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

Además, se puede agregar el parámetro de país para la consulta, para obtener resultados para un país específico App Store.

Por ejemplo:

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

La descripción, la puntuación de usuarios y otros campos podrían cambiar entre los diferentes países de la App Store.

+2

Aunque no tiene que especificar un código de país como parámetro, creo que la búsqueda no busca todos los códigos de país ... observe la diferencia entre http://itunes.apple.com/lookup?bundleId=uk. musicMagpie y http://itunes.apple.com/lookup?bundleId=uk.musicMagpie&country=gb – ch3rryc0ke

+0

¡Eso era exactamente lo que estaba buscando! –

+0

Desafortunadamente, el parámetro 'bundleId' no distingue entre mayúsculas y minúsculas, por lo que no puede distinguir entre software de tipo de medios (es decir, aplicaciones iOS) y mac-software (aplicaciones mac store) en el caso de que el desarrollador optara por usar el mismo ID de paquete pero caso diferente para su aplicación iOS y Mac. p.ej. la aplicación iOS com.palasoftware.MathBoard y la aplicación Mac com.palasoftware.mathboard. Además, agregar cualquier otro parámetro para especificar el tipo de medio o el tipo de entidad no tiene ningún efecto para este problema. – malhal

3

Puede usar la biblioteca, iVersion, para ver si el usuario tiene la última versión de la aplicación desde la aplicación.

iVersion

Biblioteca para la comprobación dinámica de cambios a Mac/iPhone App Store aplicaciones desde la aplicación y notificar a los usuarios acerca de la nueva versión . También puede notificar a los usuarios acerca de las nuevas funciones en la aplicación el primer momento en que se inicien después de una actualización.

https://github.com/nicklockwood/iVersion

+0

Lo siento, debería haber dicho que me gustaría alguna forma de hacerlo desde el lado del servidor (no el objetivo c). Me gustaría crear un código de servidor en mi servidor que se oculte cuando Apple hace cambios en la API. Actualizaré mi pregunta también. Resulta que tiene algún código del lado del servidor (https: // github.com/nicklockwood/iVersion/blob/master/Web% 20Service/iversion.php) sin embargo itera sobre una matriz de resultados. Por lo tanto, no debe buscarse por ID del paquete – rynop

+0

¿Está buscando una manera de saber cuándo Apple se actualiza de 5.0 a 5.1? –

+0

No. Digamos que tengo 10 aplicaciones en el mercado. Todas las aplicaciones son actualmente v 1.0. Lanzo una versión 2.0 para la aplicación 1, otras aplicaciones todavía son 1.0. Quiero poder aprovechar el servicio web para buscar cuál es la versión más reciente de la aplicación 1 en la tienda, por lo que puedo notificar a los usuarios para que actualicen. No soy un desarrollador de iOS, resulta que puedo usar el id de Apple (también conocido como "trackId" en la API de búsqueda itunes). Todas las respuestas q a continuación. – rynop

7

Resulta que se puede utilizar el 'ID de Apple' en lugar del ID de paquete, ya que también es único por cada aplicación. El 'Apple ID' se asigna a 'trackId' en el servicio http://itunes.apple.com/lookup.

6

Puede usar un ID de paquete con API de búsqueda. Basta con sustituir id con bundleId, como siguiente:

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

EDIT: Como se ha indicado @Roman Blachman, la lógica de código de país ha cambiado. Si desea limitar sus resultados a un país específico, use el siguiente ejemplo.

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

+0

¿Alguna idea de cuándo se lanzó este servicio? Por cierto, gracias. – rynop

+0

De nada. No sé cuándo se introdujo esta característica. – Adam

+0

Me pregunto por qué esto me da un error. Esta es otra consulta alternativa: https://itunes.apple.com/lookup?id= sarat

Cuestiones relacionadas