2012-07-26 39 views
15

tôi đang tự hỏi liệu có giải pháp để tìm hiểu không, trong đó quốc gia mà người dùng đã tải xuống ứng dụng.Cửa hàng iTunes iTunes quốc gia

Ví dụ: ứng dụng x đã được tải xuống ở Hoa Kỳ khi người dùng mở ứng dụng, ứng dụng sẽ kiểm tra xem quốc gia nào được tải xuống. Trong ví dụ này, lợi nhuận sẽ là "Hoa Kỳ"

Có ai có ý tưởng về cách giải quyết vấn đề này không?

Trả lời

0

Không thể kiểm tra "Ứng dụng" mà một ứng dụng được tải xuống.

Nếu bạn cần làm bất cứ điều gì dựa trên vị trí, bạn nên xem CLLocation để có vị trí hiện tại của người dùng, tuy nhiên có vẻ như ứng dụng yêu cầu người dùng vị trí của họ. vị trí.

Bạn cũng có thể kiểm tra ngôn ngữ trên thiết bị của người dùng, chẳng hạn như en_gb cho Anh, dk cho Đan Mạch, en_ca cho Canada, v.v. Trong khi điều này không hoàn toàn bao phủ khi mọi người ở một số quốc gia đã đặt ngôn ngữ thành thứ gì đó ngoài ngôn ngữ mẹ đẻ, nó còn tốt hơn là không có gì.

3

Có thể có mối tương quan đủ tốt giữa quốc gia của cửa hàng iTunes và địa chỉ locale mà người dùng đặt. Điều này phụ thuộc vào nhu cầu của bạn - nếu điều này không đủ, tôi không nghĩ rằng có một cách để biết lưu trữ thực tế một ứng dụng được tải xuống từ đó.

Để lấy locale đó, bạn có thể sử dụng:

NSString *localeIdentifier = [[NSLocale currentLocale] localeIdentifier]; 

Hy vọng điều này là đủ cho nhu cầu của bạn.

6

Nếu bạn có bất kỳ Giao dịch mua hàng trong ứng dụng nào, bạn có thể đọc ngôn ngữ từ SKProduct. Là một dự phòng, hãy sử dụng ngôn ngữ của thiết bị.

NSLocale *locale; 
SKProduct *baseProduct = nil; // replace as applicable 
if (baseProduct) { 
    locale = baseProduct.priceLocale; // from the user's credit card on iTunes 
} else { 
    locale = [NSLocale currentLocale]; // from user preferences 
} 
NSString *countryCode = [locale objectForKey:NSLocaleCountryCode]; 
NSLog(@"Two-letter country code: %@", countryCode); 
Các vấn đề liên quan