Technical Works

ASC Technical support site

*

ハイブリッドアプリの開発について(5)

   

前回までで、アプリケーション開発は可能になりました。今回は完成したハイブリッドアプリ(ネイティブアプリ)を実機(iPhone、Android)に実装する為に、ストアー(Appストア、Google Playストア)に登録する方法を解説します。

1.Androidの登録方法

(1)Google Play Developer への登録(事前準備)

Googleアカウントを登録し、Google Play Developerに登録します。
登録料は25ドルで、初回に一回で支払うだけです。25ドルでいくらでもアプリをリリースできます。
URL:https://play.google.com/apps/publish/signup/
参考URL:http://dev.classmethod.jp/smartphone/android/android-app-how-to-release/

(2)アプリのapkファイル(実行アプリ)を作成する。

第3回(ビルド)、第4回(キーストア(署名)を作成)を参照して下さい。
ビルドコマンド:cordova build –release
(プロジェクト/platforms/android/ant-build/アプリ名-release.apkができます。)
TESTコマンド:adb install ~/path_to_app/App.apk
(実機とUSBで接続が必要です。また、デバッグ時のテストアプリは設定で削除しておく事)

(3)ストアに登録する。

URL:https://play.google.com/apps/publish/
参考URL:http://www.taosoftware.co.jp/android/market/market_application_registration.html
(A)APKの登録
(A-1)下書きアプリケーション ファイル(.apk)の登録APK
(A-2)翻訳サービス(有料)

(B)アイテム詳細の登録
(B-2)言語の登録(必須)
(B-3)タイトルの登録(必須)
(B-4)簡単な説明の登録(必須)
(B-5)詳細な説明の登録(必須)

(C)画像アセットの登録
(C-1)スクリーンショットの登録(携帯電話、7インチタブレット、10インチタブレット、Android TV/2つのスクリーンショットが必要)
(C-2)高解像度アイコンの登録(必須)
(C-3)宣伝用画像の登録(必須)
(C-4)プロモーション画像の登録(省略可)
(C-5)テレビバナーの登録(省略可)
(C-6)プロモーション動画の登録(省略可)

(D)分類の登録
(D-1)アプリのタイプ(必須)
(D-2)カテゴリ(必須)
(D-3)コンテンツ レーティング(必須)

(E)連絡先情報の登録
(E-1)ウェブサイト登録(省略可)
(E-2)メール登録(必須)
(E-3)電話の登録(登録しない)

(F)プライバシーポリシーの登録
(F-2)プライバシーポリシーのURL
(F-1)「今回はプライバシー ポリシーのURLを送信しない。」にチェックする。

(G)価格と販売/配布地域
(G-1)アプリの価格の設定(有料/無料)
(G-2)配布する地域(該当する国をチェックする)

(H)同意事項
(H-1)マーケティングの除外(チェック選択)
(H-1)コンテンツ ガイドライン(必須)
(H-1)米国輸出法(必須)

(4)アップロードしたアプリケーションの更新

アップロードしたアプリケーションの情報が表示されているので、自由に内容を更新した後、保存をクリックし終了です。
☆APKファイルを再作成する場合、key.storeとパスワード/aliasは初回と同じものが必要です(要保存)。
☆バージョンアップの場合AndroidManifest.xmlにある「android:versionCode」の値と「android:versionName」は変更しましょう。

以上の要領が解ると2・3時間で登録可能です。

2.iPhoneアプリの公開

iPhoneアプリは有料の(99 米ドル/年間)iOS Developer Programへの登録が必要となります。登録後も1年ごとに、更新する必要があります。
URL:https://developer.apple.com/membercenter/
参考URL:https://genesixdev.wordpress.com/2012/05/27/itunes-connect-guide/

(1)準備

Apple IDを取得しておく事。(Xcode設定時に取得済み)

(A)iOS Developer Programの購入
個人開発者(Individual)を選択する。
Apple ID、パスワードを入力して、サインインする。
個人情報(氏名、メールアドレス、住所、電話番号)を入力する。
アンケートに全て答える。
(プラットフォーム、マーケット、アプリケーションタイプ、アプリケーション形式、開発経験、他の開発、他のプラットフォーム)
同意書に同意(I Agree)する。
※しばらくすると、メールが送られてくる。メールの数字をコピーし、先ほどの処理の後に表示されている欄に入力する。
クレジットカードの(氏名、住所(英語表記)、電話番号)を入力する。
iOS Developer Programライセンスに同意(I Agree)する。
購入(Add to cart)する。
再度Apple ID、パスワードを入力して、サインインする。
購入者情報(氏名、電話番号、住所)を日本語表記で入力する。
支払い方法(クレッジットカード/番号、セキュティコード、有効年月)を入力する。
販売条件を確認し、同意する。
注文を確定する。
※数時間後にメール(アクティベーション)が送られてきます。

(B)Developer Programのアクティベーション
ログインをすると失敗しますので、0120-9333-88(日本語)に電話し、(アクティベーションの失敗、名前、電話番号、Apple ID)を伝えます。
再度ログインすると正常に入れますので、電話に正常と答えて電話を終了します。

(C)プロビジョニングプロファイルの作成
・Obtaining your Certificate(証明書の作成と登録)
アプリケーション→ユーティリティ→キーチェーンアクセス.appを起動します。
キーチェーンアクセス→環境設定→証明書タブを開き、(証明書状況プロトコル(OCSP)、証明書失効リスト(CRL))を「切」にして閉じる。
キーチェーンアクセス→証明書アシスタント→認証局に証明書を要求…を選択する。
証明書情報(メールアドレス、通称)を入力し「ディスクに保存」、「鍵ペア情報を指定」を選択する。
鍵ペア情報(「鍵のサイズ:2048ビット」、「アルゴリズム:RSA」)を選択する。
完了する。
iOS Provisioning Portal→CertificatesのDevelopmentタブのRequest Certificateを選択する。
ファイルを選択でCertificateSigningRequest.certSigningRequestを選択して「Submit」を選択する。
Statusが「Pending Issuance」になるので、数秒待ってページをリロード。
Statusが「Issued」になるので「Download」をクリックす。また、click here to download nowを選択して保存する。
ios_development.cerとAppleWWDRCA.cerをそれぞれダブルクリックしてキーチェーンアクセスへ登録する。
・Assigning Devices(デバイスの登録)」
iTunes(7.7以降)か、Xcodeのオーガナイザで実機のシリアル番号(udid)をコピーします。
iOS Provisioning Portal→DevicesでManageタブのAdd Devicesを選択する。
デバイスに分かりやすい名前を付け、先程コピーしたUDIDを貼り付け、Submitを選択する。
デバイスが追加されていれば完了です。
・Creating your App IDs(アプリケーションIDの作成)
iOS Provisioning Portal→App IDsでDevelopmentタブのNew Profileを選択する。
アプリケーションID(Description、Bundle Identifier (App ID Suffix))を入力します。
App IDが追加されていれば完了です。
・Creating Provisioning Profiles(プロビジョニングプロファイルの作成)
iOS Provisioning Portal→ProvisioningのDevelopmentタブのNew Profileを選択する。
プロビジョニングプロファイル情報(Profile Name、Certificates、App ID、Devices)を入力し、Submitを選択する。
StatusがPendinになるので、数秒待ってページをリロードする。
StatusがActiveになるのでDownloadを選択肢して(プロファイル名).mobileprovisionを保存します。

(D)実機での動作確認
Xcode→OrganizerでUse for Developmentを選択を選択する。
認証画面が出るので、(Username、Password)を入力してLog inをする。
プロビジョニングプロファイル((プロファイル名). mobileprovision)を選択し、登録完了です。
Xcode→OrganizerでDocumentationタブのOpenGLESを検索します。ヒットしたGLEssentialsを選び、Open Project…でプロジェクトを保存します。
自動的にプロジェクトが開かれるので、Bundle IdentifierをApp IDに変更します。
接続されているデバイス名が選ばれていることを確認したらRunで実行します。

(2)App Storeにリリース

(A)Member Centerでの事前準備
Developer Portal→Member Center→Provisioning Profiles→Distributionを選択します。
新規作成になりますので、「+」をクリックします。表示された画面でDistribution→App Storeを選択します。
App IDで配布するアプリを選択して、Continueをクリックします。
さらにiOS Distuributionとして登録してあるユーザー(自分)を選択して、Continueをクリックします。
Profile Nameを入力し、Generateをクリックします。
Provisioning Profileが生成されますので、DownloadをクリックしてダウンロードしたフィアルをダブルクリックしてXcodeに取り込みます。

(B)iTunes Connectでの作業
再びMember Centerを開いて、今度は「iTunes Connect」を選択します。
iTunes Connectをクリックして、サインインして、Manage Yoour Appsを選択します。
Add New Appをクリックし、App Typeの画面で、iOS Appを選択します。
App Informationで(langage、APP Nmae、SKU Number、Bundle ID)を入力し、Continueをクリックします。
続けて、(リリース予定日、価格)を入力し(今回は無料(Free)にします)、Continueをクリックする。
アプリケーション情報(Version、Category、Apple Content Descriptions)を入力します。
Metadata(Description、Keywords、SuportURL)を入力します。
App Review Contact Infomation(name、E-Mail、Phone、Note)を入力します。
デモでアカウントが必要ならAccount Infomation(Username、Password)を入力します。
Uploadsdでは画像(Large App Icon、3.5-inch Screennshots、4-inch Screenshots)を指定します。
全て入力が完了したらSaveをクリックします。
最後に審査に通ったら自動でApp Storeにリリースするかマニュアルでリリースするかを選択します。

(C)Xcodeでの作業
Xcode→Build SettingsタブのCode Signing→Code Signing IdentityをiPhone Distributionにする。
また、Provisioning Profileを先ほど作成したApp Store提出用のものを選択する。
Product→Archiveを選択します。
ArchiveでエラーがなければOrganizerが起動します。ここで「Distribute…」をクリックします。
Distribution先を求められるので、Submit to iOS App Storeを選択してNextをクリックします。
iTunes ConnectのLog in情報(Username、Password)を入力します。
最後にProvisionig Profileを選択する画面が表示されますので、Archiveした時と同じProfileを選択してNextをクリックします。
App Storeの審査用アプリケーションレコードへのアップロードが始まります。
アップロードに成功すると「No Issue」と表示され、ステータスが「Waiting for Review」に変わった旨のメールが届きます。
あとはレビュー結果のメールを待ちましょう。

3.アプリケーションの注意事項

(1)XSSについて

スマートフォンではXSSが強化されています。この為パソコンのWebブラウザで動いたものがスマートフォンで動かないケースがあります。
よって、外部ドメインとのデータの送受信はほとんど不可能です。これらのことのことからHTMLの例外(Script、CSS、イメージの受信)を利用し、JSONP(JSONを利用したAJAX通信)でScript扱いとして対処することができます。JSONPは通常のAJAXと全然異なり、送信はGetモードで受信はCallbackの関数起動方式になり、自動的にJSONパースが起動しますのでJSONオブジェクト形式のTEXTデータを渡します。

(2)セキュリティについて

APKやAPPは圧縮ファイルの為、高度な技術者は解読可能です。(現在は署名付でアクセスが出来ないようにはなっています) 特にJavascriptを利用した今回の開発は、そのままのTEXTで実行されます。このことからScript中の外部キーコードやパスワードは外部サーバに置くか、難読化(ロジックによる読替え)で対処する必要があります。

(3)O2Oを取り入れる

スマートフォンアプリの特徴は最新のデバイス機能を利用できることです。このことから従来のパソコンの業務アプリの延長では一般ユーザは興味を持ちません。(特に文字入力は不得意です。表示文字は小さく、タイビングは独特の方法です)
最近話題のO2O(特にOffline to Online)の発想で、スマートフォン(Offline)はデバイス機能を利用した直感的な操作で情報の表示・収集を行い、サーバ(Online)でデータ分析を行うビジネスモデル(例えばSuica等)を構築しましょう。

 - HTML5

Loading Facebook Comments ...

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


*

  関連記事

ハイブリッドアプリの開発について(3)

Cordovaプラグインを利用した開発 前回までの説明でスマホ(Android、 …

ハイブリッドアプリの開発について(2)

ハイブリッドアプリの開発環境構築 ハイブリッドアプリ開発とは、HTML5を中心と …

ハイブリッドアプリの開発について(1)

現在、ASCでもハイブリッドアプリ開発としてGeneXusを推進していますが、日 …

ハイブリッドアプリの開発について(4)

AndroidのCordovaを使用したネイティブアプリ開発について第3回を終え …