*

NSLocaleを使ってアプリ広告を出し分ける

   

MS251_japanpassport500

初めて作ったアプリWeatherpですが、せっかく作ったんだから日本人以外の人も使うことを想定して、アプリの中で地域設定による処理をいくつか入れています。

その中の一つが広告の出しわけ。

広告配信会社でも、日本国内に強い会社と、日本以外の国で強い会社とがいるようなので、試しに二種類の広告を地域設定によって出しわけることにしました。

日本か海外かの判断は?

日本か海外かの判断は、iPhoneの地域設定が日本かそれ以外かに置き換えて判断しました。

そこで使うのが NSLocaleクラスの「- (NSString *)localeIdentifier」メソッドです。

これによりロケールの識別子が取得でき、その文字列で地域と言語を判断します。

//広告枠の設定
NSString *localeIdentifier = [[NSLocale currentLocale] localeIdentifier];
//"ja_JP"であれば言語設定、地域設定が日本語、日本
if([localeIdentifier isEqual: @"ja_JP"]){
//日本の場合
}
else
{
//日本以外の場合
}

iOSシュミレータでの確認

iOSシュミレータのデフォルトローケルはen_US(English,アメリカ)です。
日本のケースを見たい場合は、iOSシュミレータの言語設定を変えてあげる必要があります。

設定方法は実機と同じようにホーム画面から設定画面を開いて、General>International>Region Formatを開き、Japanese(Japan)を選択すればOKです。

さらにシュミレータの言語も日本語にしたい場合は、Languageで日本語を選択しましょう。

 - objective-c, アプリ