Amarronの日記

iOSやMac、Web系の記事を書きます。

MBaaS 比較

f:id:Amarron:20121004112316j:plain

概要


MBaaS(「エムバース」と読みます)はMobile Backend as a Serviceの略で,去年の中頃から米国で使われるようになった用語です。一般的にBaaSと呼ばれているサービスは,IaaS(Infrastructure as a Service)やPaaS(Platform as a Service)と比較すると,プログラミングや構築,運用の手間がかからないものを指す場合が多く,MBaaSはモバイル版BaaSですので,iOS, Android, JavaScriptなどのモバイルアプリの開発環境でそのまま使えるSDKが提供されています。いろいろなサーバ機能がすべて,SDKAPI経由で利用できるので,アプリを開発するだけで,リリースすることができます。ユーザ管理,データ管理,プッシュなどの機能がひと通り揃っていて,そのサービスを使うだけで大体のことができてしまう汎用的なMBaaSは,米国のParse社,Kinvey社,StackMob社,日本のKii株式会社などが提供しています。

参考URL:第2回 MBaaSとは

サービス比較


比較1

比較2

機能の種類 Parse ニフティクラウド アピアリーズ Kii Cloud
ユーザー 会員管理・認証 会員管理・認証 ユーザー管理・認証 ユーザー管理
権限管理 権限管理 権限管理 アクセス制限機能 Objectに対するアクセス権
データストア データストア データストア データベース機能 データ管理
ファイルストア ファイルストア ファイルストア ファイル機能 Object Bodyのアップロード
位置情報 位置情報検索 位置情報検索 ロケーション機能 位置情報
プッシュ通知 プッシュ通知 プッシュ通知 プッシュ通知 プッシュ通知
SNS連携 SNS連携 SNS連携 - 外部サービスを利用した認証
アプリ分析 アプリ分析 - - アプリ分析
バックグラウンドジョブ バックグラウンドジョブ - - スケジュール起動
サーバー - - - サーバー機能拡張
A/Bテスト - - - A/Bテスト
APIリクエスト数 30/秒 200万回/月 10,000/月 100万回/月
プッシュ通知 100万回(100万の端末)/月 200万回/月 500/月 100万回/月
ストレージ データストレージ 20GB
ファイルストレージ 20GB 基本ストレージ 5GB 基本ストレージ 100MB 1GB
データ転送 2TB - 1GB -
その他 バックグラウンドジョブ 1 ファイルサイズ制限 5MB - A/Bテスト 1/月

参考URL:無料で十分試せるMBaaS、ニフティクラウド mobile backendを使ってみる

その他(MBaasとPaasの組み合わせ)

プッシュ通知 証明書 更新 手順

更新手順


No. 内容 Development Product 備考
0 KeyChain(開発環境)->証明局に証明書(CertificateSigningRequest.certSigningRequest)を要求 Development・Product共通、複数のアプリで共通で使う
1 Deveropper Center(Safari)->Certificates の作成 アプリごと、No.0で要求した「CertificateSigningRequest.certSigningRequest」ファイルを使う
2 Deveropper Center(Safari)->Provisioning Profiles の更新 アプリごとに対応必要。アプリのバージョンアップ時に必要
2 Xcode(開発環境)->Buid Setting->Provisioning Profile のダウンロード アプリごとに対応必要。アプリのバージョンアップ時に必要。新しくProvisioning Profileは作成されるが、特に更新しなくてもプッシュ通知は受信できる
3 KeyChain(開発環境)->p12ファイルを書き出す アプリごとに対応必要。鍵ではなく証明書で書きだす
  • No.0
    • f:id:Amarron:20150401221129p:plain
  • No.3
    • f:id:Amarron:20150401221114p:plain

手順

  1. Certificates の削除(更新前のCertificatesの有効期限が切れていない場合)・作成(Apple Push Notification service SSL)→作成後ダウンロード
  2. Provisioning Profiles の更新
  3. p12ファイルを書き出す(キーチェーンより「1.Certificates」で作成した証明書を選択し書き出し)
  4. p12ファイルの鍵を書き出す(キーチェーンより「1.Certificates」で作成した鍵を選択し書き出し)(サーバー側で必要であれば)
  5. p12をpemファイルへ変換する(サーバー側で必要であれば)
  6. サーバへp12またはpemファイルを配布

p12からpemへの変換コマンド

openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12  
openssl pkcs12 -nocerts -out apns-dev-key.pem -in apns-dev-key.p12  
openssl rsa -in apns-dev-key.pem -out apns-dev-key-noenc.pem  
cat apns-dev-cert.pem apns-dev-key-noenc.pem > apns-dev.pem

参考URL

プッシュ通知文字数(おまけ)


表示箇所 iOS6 iOS7
ステータスバー(画面上部) 全角22文字、半角40文字 全角35文字、半角64文字
ダイアログ(ロック画面に表示) 全角57文字、半角108文字 全角58文字、半角114文字
通知センター 全角43文字、半角154文字 全角58文字、半角114文字

参考URL:http://www.hangout.co.jp/blog/archives/295

App Store の iOSアプリ を 公開停止 する 方法 

AppStore の アプリ を 公開停止 する 方法 

概要

AppStoreに公開中のiOSアプリを取り下げる方法の説明です。
(申請(公開前のレビュー依頼)を取り下げたい場合、Developer Rejectで対応してください)
アプリの公開地域を全て解除することでAppStoreで公開されなくなります。

手順

  1. iTunes Connectへログイン
  2. Manage Your Appsを選択
  3. 公開停止したいアプリを選択
  4. 「Rights and Pricing」を押下
  5. Appの使用可能日・価格帯・地域の設定画面が表示されるので公開地域を解除します
    1. 「特定の地域」リンクを押下(公開中の地域が表示される)
    2. 「すべての選択を解除」ボタンを押下(全ての地域のチェックが外れる)
    3. 「Save」ボタン押下
  6. Statusが「Ready for Sale」から「Developer Removed From Sale」となり、App Infomationに「Delete App」ボタンが表示されます。(「Delete App」を選択しなくてもAppStoreからの公開は停止されました。)

f:id:Amarron:20140731170541p:plain

f:id:Amarron:20140731170550p:plain

f:id:Amarron:20140731170557p:plain

その他

  • 私の場合、公開停止の手続きをしてから30分くらいでAppStoreから公開されなくなりました。
  • AppStoreに一度も公開されなかったアプリは、公開地域を全解除しても「Delete App」が表示されません。(間違って作ってしまった場合、アプリを消したいけど消せなくて結構辛いです。。。)

App Store に iOSアプリ を 公開する方法

大まかな流れが中心です。画像や詳細なイベントは他の参考サイトで確認して下さい。
証明書関連の作成参考サイト:http://r-dimension.xsrv.jp/classes_j/ios_test/
iTunes Connectデベロッパガイド:https://developer.apple.com/jp/documentation/iTunesConnect_Guide.pdf

前提条件

Apple Developer Programに購入済み。
Apple Developer Program購入方法(法人)はこちら

流れ

  1. 証明書関連の作成(Certificates, Identifiers & Profiles)
    1-1. Certificatesの作成
    1-2. Identifiersの作成
    1-3. Devicesの追加(開発用のみ必要)
    1-4. Provisioning Profilesの作成
  2. Xcodeで証明書を設定
  3. 配布したいアプリの設定
    3-1. iTunesConnectでアプリを追加
    3-2. Xcodeでアーカイブ
    3-3. iTunesConnectでアプリの状態確認

1. 証明書関連の作成(Certificates, Identifiers & Profiles)

申請に必要な証明書関連を作成します。
証明書(CertificatesとProvisioning Profiles)は、ダウンロード後クリックするとMacのキーチェーン保存されます。
キーチェーンに保存後Xcodeでその証明書を選択しアプリの実機確認や配布用のアーカイブに利用します。

「Certificates, Identifiers & Profiles」の項目説明

url:https://developer.apple.com/account/ios/certificate/certificateList.action

  • Certificates
    開発者の証明書
    (開発用と製品用に1つずつ必要となります。(複数アプリで同じ証明書を利用する))
    (プッシュ通知を利用する場合は、さらにアプリごとに開発用と製品用に1つずつ必要となります。)

  • Identifiers
    アプリのID(1アプリに対して1つ必要、Wildcard App IDを選ぶと全アプリで利用可能となります。)

  • Devices
    実機確認用iPhone一覧(アプリに対して利用可能な実機を追加できます。)

  • Provisioning Profiles
    開発者とアプリを紐付けるファイル(1アプリに対して開発用と製品用に1つずつ必要となります。IdentifiersのWildcard App IDで証明書を作成すると全アプリで利用可能となります。)

f:id:Amarron:20140212110453p:plain

1-1. Certificatesの作成

左のメニューのCertificatesをクリックし右上の「+」で新規作成を行います 。

f:id:Amarron:20140212105838p:plain

Development(開発用)かProduct(製品用)かどちらかを選びます。
CSRファイルを作成します。(ここはMacのキーチェーンアクセスで行います)
(ユーザーのメールアドレスはAppIDで登録したメールアドレスを利用し、デスクに保存を設定するをチェックします。)

f:id:Amarron:20140212110007p:plain

作成したCSRファイルをアップロードします。
Certificates(証明書)が作成されるのでダウロードします。

1-2. Identifiersの作成

左のメニューのIdentifiersをクリックし新規作成を行います。

f:id:Amarron:20140212111710p:plain

名前(App ID Description Name)はアプリ名(英数)にすると分かりやすくなると思います。
接頭辞(App ID Prefix)はTeamIDが良さそうです。(複数の App ID Prefixとキーチェーンについて
識別子(App ID Suffix)は逆ドメインが推奨されています。(Wildcard App IDを選択すると全てのアプリ共通で利用出来ます。)
注意:Bundle App IDは、各アプリのBundle App ID(plistの「Bundle identifer」)と一致している必要があります。

f:id:Amarron:20140212120058p:plain

1-3. Devicesの追加(開発用のみ必要)

左のメニューのDevicesをクリックしデバイスを追加します。
メモ:「UDID」は、XcodeのOrganizerで確認出来ます。(Devicesで、対象のiPhoneを選択し「Identifier」がUUIDです)
注意:「Register Device」のNameは半角英数で登録しないと文字化けします。(文字化けした状態で複数登録してると判断出来なくなるので半角英数で登録すると分かりやすいと思います)

f:id:Amarron:20140212112532p:plain

1-4. Provisioning Profilesの作成

左のメニューのProvisioning Profilesをクリックし新規作成を行います。
「1-2. Identifiers」で作成したアプリIDと「1-3. Devices(開発用のみ必要)」を選択します。
「Provisioning Profiles」が作成されるのでダウンロードします。

f:id:Amarron:20140212113158p:plain

2. Xcodeで証明書を設定

Buid SettingのCode Signingで「1-1. iOS Certificates」で作成した証明書を設定します。
(プッシュ通知も必要な場合、「Provisioning Profile」に「1-4. Provisioning Profiles」を設定します)

f:id:Amarron:20140212114924p:plain

3. 配布したいアプリの設定

作成したアプリをApp Storeで配布するためにアプリを追加します。

3-1. iTunesConnectでアプリを追加

iTunesConnectに接続します。
Manage Your AppsをクリックしてAdd New Appを選択するとアプリの追加設定でができます。

f:id:Amarron:20140212133933p:plain

注意:「1-1. Certificates」で製品用の証明書を作成していないと、"You have no eligible Bundle IDs for iOS apps. Register one here."と表示され新しくアプリを追加出来ません。

App Informationでは、アプリ名(App Name)や管理番号(SKU Number)を設定します。
App Nameは、App Storeに表示されるアプリ名で申請の途中で変更可能です。(既に登録されている名前は登録出来ません。日本語入力出来ます。)
SKU Number、管理番号で途中で変更できません!(既に登録されている名前は登録出来ません、プロジェクト名等分かりやすい名前でOK)
Bundle IDは、「1-2. Identifiers」で設定したIDを選びましょう。

f:id:Amarron:20140212134412p:plain

配布希望日(Availability Date)は、未来日を設定します。私は2週間位先を大体設定しています。(AppStoreの新作として表示される日らしいです。)
アプリ料金(Price Tier)はアプリ料金を設定します。
教育機関向けの割引(Discount for Educational Institutions)は無料アプリであればチェックを外します。
法人向けカスタム非公開アプリ(Custom B2B App)もチェックを外します。

f:id:Amarron:20140513123236p:plain

アプリの詳細情報を入力を完了すると、ステータスが「Prepare for Upload」に変わり「Ready to Upload Binary」が選択できるようになります。 f:id:Amarron:20150314203827p:plain

「Ready to Upload Binary」が選択し、法的な質問に答えるとステータスが「Waiting For Upload」に変更されます。
Xcodeでアーカイブを作成しましょう。

3-2. Xcodeでアーカイブ

Buid SettingのCode Signingで「1-1. iOS Certificates」で作成した証明書を設定します。(製品用に変更します)
(プッシュ通知も必要な場合、「Provisioning Profile」に「1-4. Provisioning Profiles」も製品用に変更します)

f:id:Amarron:20140212114924p:plain

ツールバーのProduct->Archiveを選択します。
アーカイブが完了するとOrganizer画面が表示されるので「Validate」を選択しましょう。(Validateでエラーになる場合が多いのでハマるかもしれません。。。)
Validateが成功したらDistributeを選択しましょう。
f:id:Amarron:20150314203850p:plain

3-3. iTunesConnectでアプリの状態確認

ステータスが「Waiting For Upload」から「Upload Received」に変更されていればアプリの追加成功です。
数分後に「Waiting For Review」に変更されます。
後は、App Storeに公開されるのを待つだけです。お疲れ様した。

今後のステータス

Waiting For Review

In Review(Appleレビュー中)

Processing for App StoreApp Storeに公開されるまでのチョットした待ち時間)

Redy for Sale(App Storeに公開されている状態)
(2015/01追記:Redy for Sale(販売準備完了)にステータスが変更されてもすぐにストアに公開されない場合もあるようです。24時間過ぎても公開されないようであればAppleへ問合せしましょう。問合せはiTunesConnectのフッターの「連絡先」リンクより問合せが出来ます。)

「Waiting For Review」と「In Review」はトータルで1〜2週間かかります。(アプリにもよります)
審査NGの場合、「Processing for App Store」へ進まず「Rejected」のステータスになります。(指摘内容を修正して再度、「3-2. Xcodeでアーカイブ」からやり直し)
「Processing for App Store」は、数時間で「Redy for Sale」へ変更されます。

iOSDeveloperProgram 法人契約 流れ

iOSアプリのAppStoreで配布したい場合に「iOS Developer Program」の登録が必要となります。
法人契約時の大まかな流れと注意点等を記載します。
AppStoreにアプリを公開する方法はこちら

契約時の流れ

  1. メールアドレスの取得(Apple ID登録用、今回はgmailアカウント作成)
  2. Apple ID作成
  3. DUNS NUMBERの取得
  4. iOS Developer Program 購入

注意:Apple関連の登録はsafariを利用しましょう。

1. メールアドレスの取得(Apple ID登録用、今回はgmailアカウント作成)

gmail用アカウントを新規作成します。
メモ:アカウント名はAppleで使用する名前と一致していなくても問題ありません。また、既にメールアドレスをお持ちの方はそれを使用しても特に問題ありません。

2. Apple ID作成

Apple IDを新規作成(1で作成したメールアドレスで登録)します。
注意:Apple IDの氏名は半角でローマ字入力をしないと途中でエラーになります。(修正もできなくなり、Appleへ問合せ対応となります)

f:id:Amarron:20140205202026p:plain

3. DUNS NUMBERの取得

iOS Developer Program」でDUNS NUMBERが必要となるため取得します。
東京商工リサーチにてDUNS NUMBERを検索します。
法人契約を結ぶ企業名で検索します。

  • 既に発行されている場合、DUNS NUMBERを控えて「iOS Developer Program 購入」へ進みましょう。
  • 発行されていない場合、発行依頼をしましょう。数時間後、メールにてDUNS NUMBERが届きます。 (私の場合、発行に4〜5時間かかりました。また、休日は発行されませんでした。)

注意:iOS Developer ProgramのDUNS NUMBERは本社ではないと登録できなません。

4. iOS Developer Program 購入

iOS Developer Programの登録を行います。
登録すると途中でステータスが進めなくなります。(法人の確認のため。3営業日ほどで確認電話がかかってきて、ステータスの進め方を説明とわからなくなった時のサポート番号(0120-933-388)を教えてくれます)
法人の確認が終わるとステータスが進められるようになり「iOS Developer Program」の購入が出来るようになります。
注意:iOS Developer Programの購入してすぐにはは利用できません。Welcomeメールが送られるまで待ちましょう。(私の場合、約1日かかりました。購入してもすぐに使えないので間違って2回購入しないようにしましょう。)

AppStoreにアプリを公開する方法はこちら

参考にしたURL