2013-07-08 14 views
6

Come sapete iOS, è possibile impostare solo un livello di prezzo per l'app e i prodotti in-app nell'app store. Tuttavia, è possibile (teoricamente) pubblicarlo come app separate in paesi diversi con prezzi diversi. Mi piacerebbe fare lo stesso con i prodotti in-app della stessa app - definire prodotti in-app alternativi e controllare la loro visibilità nell'app a seconda del paese dell'utente. Non voglio usare NSLocale o NSTimeZone perché possono essere modificati nelle impostazioni. Voglio conoscere il paese a cui è collegato l'app store/utente. Ad esempio, desidero offrire un abbonamento di rinnovo automatico per la maggior parte degli utenti, ma so che gli abbonamenti con rinnovo automatico non sono disponibili nell'app store israeliano, quindi desidero mostrare un abbonamento non rinnovabile esclusivamente a Israele. utenti, e non mostrare loro il rinnovo automatico. C'è un modo affidabile per raggiungere questo obiettivo?Programmazione iOS - come scoprire da quale app (del paese) l'app è stata scaricata

Grazie, Avi

risposta

5

Dopo aver esaminato ulteriormente, ho scoperto che quando l'interrogazione di prodotti in deposito-kit, SKProduct ritorna con una proprietà denominata priceLocale, che consiste nella prefisso internazionale e valuta. Il codice del paese di priceLocale sembra essere coerente con l'app store dell'utente.

Per riassumere, facendo questi passaggi otterrà il risultato, tuttavia in modo semplice lento e non:

  1. Definire un elemento in-app;
  2. Query quell'elemento nella tua app;
  3. Determinare il paese dell'utente in base a [product.priceLocale objectForKey: NSLocaleCountryCode];
  4. Mostra all'utente i prodotti pertinenti supportati dalla tua app nel proprio paese.
Problemi correlati