コレは2020年9月26日の記事です。
開発したアプリの宣伝として
他の開発したアプリ内に自分の過去作ったアプリの App Store リンクを貼るのはよくあると思います。
iPhoneなどのApp Storeアプリから自分のアプリを検索して
共有のボタンからコピーして取得したApp Store URLの場合
プライマリ言語がアメリカ英語であり アメリカのAppStoreにもアプリがあれば
ちゃんとApp Storeに遷移してくれます。
例
guard let url = URL(string:"https://apps.apple.com/jp/app/ranking-maker/id1477649029?l=en")else{
print("ガード")
return
}
UIApplication.shared.open(url)
上記ではiPhoneの言語設定が日本語でも英語でもちゃんと遷移しました。(ストアは多分日本のままなので海外のストアでは検証できていません)
しかしこの形式のURLでは日本のストアだけで配信しているアプリは遷移できないのです。
なので今まではiTunesのLink makerを使って下記のようなURLを作って使えばApp Storeに飛ぶことができたのですが
例
guard let url = URL(string: "https://apps.apple.com/jp/app/%E7%A6%81%E3%81%98%E3%82%89%E3%82%8C%E3%81%97%E3%83%90%E3%83%8A%E3%83%8A/id1498725788")else{
return
}
UIApplication.shared.open(url)
Link Makerは廃止された?ようで
Link Makerを検索しても
Marketing Tools and Resources - Apple Services
上記のサイトが出てくるだけです。
コレだと日本のストアのみで配信しているアプリを
宣伝することができません。
その解決法ですが
こちらのサイト様を参考にいたしました。
idのみのシンプルなURLにしました
guard let url = URL(string:"https://itunes.apple.com/jp/app/id1533082811?mt=8")else{
print("ガード")
return
}
UIApplication.shared.open(url)
このような URLにしたところ日本のみで配信しているアプリのリンクでも
ちゃんとApp Storeに遷移することを確認しました。
"https://itunes.apple.com/jp/app/id1533082811?mt=8"
id の後ろのところをAppの固有IDにすれば良いだけです。
固有IDはApp Store Connectを探せばのっていますし普通にAppstoreからコピーしたリンクの中にも入っています。
iPhoneアプリのApp Store Connectから見るのが手軽だと思います。