前回は、cocos2d-xにてモーダルダイアログを作成する方法についてご紹介しました。
今回は、アプリケーション内からアップデートの通知を行う方法についてご紹介させていただきます。
アプリケーションをアップデートすると、ユーザに最新版を使ってほしいものですが、
なかなかアップデートしたことに気づいてくれないことが多々あります。
そこで、アプリケーション起動時にAppStoreに登録されているバージョンと現在使用している
アプリケーションのバージョンを比較することで、バージョンが更新されていた場合は、
アップデートの通知をアプリケーション内で行うことができます。
今回は、バージョン比較からアラート表示まで行うオープンソースライブラリ「iVersion」を使用したいと思います。
それでは、実際にアプリケーション内でアップデートの通知を行うプログラムを作成してみましょう。
<アプリケーション内からアップデートの通知を行う方法>
【前提条件】
・「iTunes Store」及び、「App Store」にアプリケーションが登録されていること
・上記に登録されているBundleIDを用意しておくこと
・Xcodeのサンプルプロジェクトを用意しておく
※画面を1枚表示するプロジェクトで問題ありません
【手順1】
githubからオープンソースライブラリである「iVersion」をダウンロードし、任意の場所に保存します。
【手順2】
前提条件で用意したプロジェクトを開きます。
【手順3】
手順1でダウンロードした「iVersion」をプロジェクト内のディレクトリに格納します。
※「iVersion-master」ディレクトリ内にある「iVersion」フォルダが対象です
【手順4】
Xcodeを起動し、「iVersion」のリンクを作成します。
【手順5】
前提条件で準備したBundleIDを「Info.plist」ファイル内の「Bundle identifier」項目に記載します。
【手順6】
「AppDelegate.m」ファイルに下記を追記します。
// // AppDelegate.m // test // // Created by junpei on 2015/04/27. // Copyright (c) 2015年 // #import "AppDelegate.h" #import "DetailViewController.h" //ヘッダをインポートする #import "iVersion.h" @interface AppDelegate () <UISplitViewControllerDelegate> @end @implementation AppDelegate //「didFinishLaunchingWithOptions」よりも前に通る処理 //※クラスを初めて使用するときにコールされます + (void)initialize { //BundleIDを取得する NSBundle *bundle = [NSBundle mainBundle]; NSString *bundleIdString = [bundle bundleIdentifier]; //UIAlertControllerを使用するので、YESに設定する [iVersion sharedInstance].useUIAlertControllerIfAvailable = YES; //取得したBundleIDを設定する [iVersion sharedInstance].applicationBundleID = bundleIdString; }
お疲れ様でした。
たった、数行追記するだけで実装が完了します。
それでは、この状態でアプリケーションを起動してみましょう。
「iVersion」でアプリケーションのバージョンチェックを行いますが、AppStoreに登録されている
アプリケーションのバージョンと、プロジェクト内のバージョンが一致しているため、アラートは表示されません。
それでは、プロジェクト内のバージョンを落としてみましょう。
もう一度、アプリケーションを起動してみましょう。
AppStoreに登録されているアプリケーションのバージョンと、プロジェクト内のバージョンが
異なっていますので、アップデートを促すアラートが表示されました。
「ダウンロード」ボタンをタップすると、AppStore画面に遷移し、アップロードすることができます。
「後で再度通知する。」ボタンをタップすると、再度アプリケーションが起動した際にアラートが表示されます。
「無視する」ボタンをタップすると、それ以降アプリケーションを起動してもアラートは表示されません。
これで、「アップデート通知を行ってみよう!」は完了となります。
アプリケーション内にアップデート通知の仕組みを導入することで、ユーザは常に最新版を使用することができます。
また、アラートのメッセージやボタン名も変更することができます(※)ので、これからアプリケーションを
AppStoreに申請される方がいましたら、ぜひ導入をご検討してみてください。
※「iVersion」は、「zlibライセンス」であるため、変更は可能です。
最後までご覧いただき有難うございました。
弊社では全国各地の請負い(ご自宅)で作業協力頂ける、フリーランスエンジニアの方を常時探しております。
ご興味ある方は、お気軽にお問い合わせ下さい。