iOSアプリ起動時にアップデートを知らせてApp Storeへ移動する
他の人がどうやって実装しているのか解らないため、参考程度にどうぞ
まず、「App Store」上のアプリページに移動方法ですが、端末上ですでにアプリをダウンロード済みの状態で以下の様にアプリページ(例:Skype)のURLを引数にとると「App Store」上のアプリページに自動で移動してくれます。
思った以上に簡単でびっくりでした。
# Titanium Mobile
Ti.Platform.openURL('https://itunes.apple.com/jp/app/skype/id304878510');
起動時にアップデートがあるか確認して知らせてみる
今回はサーバーにアプリのバージョン情報と移動先のURLを置いて、
それをアプリ起動時に「httpClient」で所得します。
# サーバー コード
簡単に認証っぽくしとくとむき出しよりかはマシかもしれません。
<?php $app = $_GET['app']; header( 'Content-Type: text/javascript; charset=utf-8' ); ?> <?php if ($app == 'てきとう'): ?> { "version" : 1.1, "url": "https://itunes.apple.com/jp/app/skype/id304878510" } <?php endif; ?>
# Titanium Mobile
# アプリの内容 createApp = -> # いろいろ return url = 'サーバーのURL' # アプリの最新版 init = -> http = Ti.Network.createHTTPClient() http.open 'GET', url + '?app=てきとう' http.onload = -> json = JSON.parse http.responseText if Ti.App.version >= json.version # 最新版がインストールされているためアプリを起動 createApp() else alertDialog = Ti.UI.createAlertDialog message: 'アプリの最新版がリリースされました。' buttonNames: ['スキップ', '詳細を見る'] alertDialog.addEventListener 'click', (e)-> if e.index is 0 # スキップされたのでそのままアプリを起動 createApp() else if e.index is 1 # App Store へ移動 Ti.Platform.openURL json.url return alertDialog.show() return http.onerror = -> # 確認が取れないのでとりあえずアプリを起動 createApp() return http.timeout = 1000 http.send null return init() # App Storeに移動したが何もせずに返ってきた場合用に Ti.App.addEventListener 'resumed', createApp() # どこかのタイミングでイベントリスナーを削除した方が良いかも # Ti.App.removeEventListener 'resumed', createApp()