タグ別アーカイブ: iOS

パスワードを再設定する(ログインID)

ログインIDに基づいて、パスワードの再設定用URLが記載されたメールを送信します。

基本仕様

アピアリーズの会員パスワードの再設定再設定用URLが記載されたメールを、指定されたログインIDに紐付いたアドレスに送信します。

管理画面の会員管理 / 基本設定にて、ログインID認証を利用する、メールアドレスの利用を利用するに設定されている必要があります。パスワード再設定のお知らせのメールに記載されているURLをクリックすることで、パスワードの再設定をすることができます。

HTTPメソッド

POST

エンドポイント

/v1/usr/{データストアID}/{アプリID}/_self/loginId/resetPassword

リクエスト

トークンには アプリトークンを指定します。指定箇所はヘッダX-APPIARIES-TOKENまたはクエリaccess_tokenに指定します。

ヘッダ

キー 必須 説明 備考
X-APPIARIES-TOKEN △(*1) アプリトークンを指定ください。
Content-Type application/json

クエリ

キー 必須 説明
access_token △(*1)
proc reissue を指定してください

(*1)〜X-APPIARIES-TOKENまたはクエリaccess_tokenでいずれか指定。

コンテント

キー 必須 説明 データ型 備考
login_id ログインID String

成功時レスポンス

リクエスト成功時のレスポンスに関して記述します。エラー時のレスポンスに関しては、 共通エラーレスポンスを参照ください。

HTTPステータス

ステータスコード 説明
204 正常終了
400 不正なリクエスト内容
401 トークン未指定。認証失敗
403 login_idと紐付いているメールアドレスの認証ができていない。基本設定の「メールアドレスの利用」が「利用する」になっていない。またはアクセス権限がない
404 指定されたlogin_idが見つからない。またはlogin_idと紐づくメールアドレスがnull
422 コンテント不適切
500 APIサーバエラー

エラーレスポンス

エラー発生時のレスポンスは、共通仕様の共通エラーレスポンスを参照。

リクエストサンプル

レスポンスサンプル

例)Curlコマンド

関連ドキュメント

パスワードを再設定する(email)

パスワードの再設定用URLが記載されたメールを送信します。

基本仕様

アピアリーズの会員パスワードの再設定再設定用URLが記載されたメールを指定されたアドレスに送信します。

管理画面の会員管理 / 基本設定にて、メールアドレス登録を設定するに設定されている必要があります。パスワード再設定のお知らせのメールに記載されているURLをクリックすることで、パスワードの再設定をすることができます。

HTTPメソッド

POST

エンドポイント

/v1/usr/{データストアID}/{アプリID}/_self/resetPassword

リクエスト

トークンには アプリトークンを指定します。指定箇所はヘッダX-APPIARIES-TOKENまたはクエリaccess_tokenに指定します。

ヘッダ

キー 必須 説明 備考
X-APPIARIES-TOKEN △(*1) アプリトークンを指定ください。
Content-Type application/json

クエリ

キー 必須 説明
access_token △(*1)
proc reissue を指定してください

(*1)〜X-APPIARIES-TOKENまたはクエリaccess_tokenでいずれか指定。

コンテント

キー 必須 説明 データ型 備考
email メールアドレス String

成功時レスポンス

リクエスト成功時のレスポンスに関して記述します。エラー時のレスポンスに関しては、 共通エラーレスポンスを参照ください。

HTTPステータス

ステータスコード 説明
204 正常終了
400 不正なリクエスト内容
401 トークン未指定。認証失敗
403 基本設定の「メールアドレスの利用」が「利用する」になっていない。またはアクセス権限がない
404 指定されたemailが見つからない
422 コンテント不適切
500 APIサーバエラー

エラーレスポンス

エラー発生時のレスポンスは、共通仕様の共通エラーレスポンスを参照。

リクエストサンプル

レスポンスサンプル

例)Curlコマンド

関連ドキュメント

APNs: プッシュ通知用証明書を準備する

プッシュ通知用 p12 形式証明書を作成する

APNs と連携するために必要な p12 形式証明書を作成します。

p12 形式証明書は以下の流れで準備します。

  1. アプリ(App ID)を登録します
  2. CSR を作成します
  3. APNs 用の証明書(.cer)を作成します
  4. APNs 用の証明書(.cer)を p12 形式の証明書に変換する。

アプリ(App ID)を登録する

APNs 連携を行うためには、Apple Developer で、アプリ(App ID)を登録する必要があります。

キャプチャーの右サイドメニュー

  • Identifiers
    • App IDs

を選択します。つづいて右ペインに iOS APP IDs の画面が表示されますので、右上の + ボタンをクリックします。
右ペインがキャプチャーのような Register iOS App ID の画面に切り替わります。

以下の必要項目を記述します。

  • App ID Description – アプリ名を入力します。
  • App ID Suffix では Explicit App ID を選択します。
    • Bundle ID – Xcode で作成するアプリの bundle identifier (注) を入力します。
  • App Services
    • Push Notification – チェック入れます。

(注)~作成するアプリは Bundle ID で紐付ることができます。

必要な項目の入力が完了したら「Continue」をクリックし次の画面へ移動します。

image

「Submit」をクリックします。

image

アプリ(App ID)の登録が完了しました。

image

CSR を作成する

CSR(Certificate Signing Reques)ファイルは Mac の キーチェーンアクセスツール を用い作成します。

キーチェーンアクセスツールを起動します。

つづいて キーチェーンアクセスツール を選択し、証明書アシスタント > 認証局に証明書を要求… を選択します。

image

ユーザーのメールアドレス通称 を入力、要求の処理「ディスクに保存」を選択し「続ける」をクリックします。

image

以上の手順で作成された、CSR ファイル(.certSigningRequest)を Mac 上の任意の場所に保存します。

APNs 用の証明書(.cer)を作成する

続いて、前項(CSRを作成する)で作成済みの CSR を使って、APNs 用の証明書(.cer)を作成します。
作成はアプリ(App ID)を登録すると同様、Apple Developer で行います。
キャプチャ上での、Apple Developer / Certificates,Identifiers & Profiles へアクセスし、サイドメニューの

  • Certificates
    • Development

をクリックします。右側ペインに Add iOS Certificate の画面が表示されますので、
その中より Apple Push Notification Service SSL(Sandbox) (注1) を選択します。CSRを作成する

(注1)~説明では Sandbox(開発環境)版で説明してますが適宜、Product版(本番環境)版を選択ください。

image

アプリ(App ID)を登録するで登録した、App Id を選択し、画面下部の「Continue」をクリックします。

image

キャプチャーは CSR 作成を促す画面となりますが、CSRを作成する であらかじめ CSR は作成ずみのため、「Continue」をクリックし次の画面に進みます。

image

キャプチャーの Upload CSR file. にて、Macの任意の場所に保存済みの CSRファイルを選択し、「Continue」をクリックします。

image

APNs 用の証明書(.cer)ファイルの作成が完了しました。キャプチャーの「Download」リンクより証明書ファイルをダウンロードし、Mac 上の任意の場所に保存してください。

image

以上の手順で、APNs 用の証明書(.cer)作成は完了です。

APNs 用の証明書(.cer)を p12 形式の証明書に変換する

APNs 用の証明書(.cer)を作成する でダウンロード済みの、APNs用の証明書(.cer)をダブルクリックすると、キーチェーンアクセスが起動します。

キーチェーンアクセスツールの、以下キャプチャーのように、 証明書 のみを選択した状態で書き出します。

image

書き出しダイアログでフォーマットが 個人情報交換(.p12) になっていることを確認し、任意の場所に .p12 ファイルを保存します。

image

.p12 ファイルにパスワードを設定します。こちらで設定したパスワードが、アピアリーズのマーケット設定でのパスワードになりますので、大切に保管してください。

image

以上で .p12 形式の証明書の作成が完了です。

TODOアプリ

TODOアプリ

お知らせ

「TODOアプリ」は最新 Appiaries SDK v.2.0 リリースにともない、全面的に修正いたしました。
現在 github から入手いただけるソースコードの “master” ブランチが v.2.0 に対応していますが、
古い v.1.4.0 に対応するソースコードについても “v1_4_0″ ブランチから入手いただけます。
ただし Appiaries SDK v.1.4.0 は本年2015年9月にサポート終了を予定しますことを
ご留意いただきますようお願いいたします。

アプリ概要

ユーザはメールアドレスで新規会員登録し、登録時に登録したログイン名とパスワードでログインします。
またはTwitter/Facebookアカウントを利用してログインすることもできます。
ユーザはタスクを登録/編集/削除することができます。
アプリのメインビューには登録されているタスクが週表示されます。
各タスクをタップすることで詳細を管理することができます。

使用するアピアリーズの機能

プロジェクトファイル

Github よりプロジェクトファイルをダウンロード可能です。

Android Studio を利用する場合の注意点:

本アプリのソースは、Eclipse ADT プロジェクトとして公開されているため、Android Studio をお使いになる場合は同IDEの [Import project (Eclipse ADT, Gradle, etc.)] メニューからプロジェクトを変換する必要があります。プロジェクトの変換処理自体は自動実行されるため特に問題となるポイントはありませんが、変換後のビルド実行時に、「Duplicate files copied in APK <ファイル名>」といったエラーによりビルドに失敗する場合があります。このエラーが発生した場合は、ビルドスクリプト(todo/build.gradle)に packageOptions { exclude '<ファイル名>' } を追記する必要があります。
多くの場合、ダウンロードページ からダウンロードできる androidstudio-BlankApp-*.zip 内の app/build.gradle と同様のオプション指定をすることでエラーを解消することができますので、お困りの場合はご参考ください。

画面

トップ
新規会員
ログイン
SNS ログイン
SNS ログイン 2
登録
一覧
完了タスク
編集
日時編集
Delete

サーバサイドで利用されるコレクション

Entity System Name Type Description Note
会員 (User) コレクションは作成せず、会員管理機能を利用する アプリを利用する会員の情報を格納する。クライアントアプリ側から登録される。
タスク Tasks JSON Collection 全員のタスクを管理する。

会員 (User)

コレクションを作成しません。会員管理機能を利用します。

これは JSON オブジェクトコレクションでもファイルコレクションでもありません。
新規ユーザはアピアリーズの「会員機能」を利用して登録されます。
各会員データは、任意で JSON データを持つことも可能であり、
SNSログインの場合はここにSNSの個人属性情報を保存します。

会員のログインID認証 設定する
会員のメールアドレス認証 設定する
メールアドレスの登録 許可する
匿名認証 許可しない

会員は、クライアントアプリ側がアピアリーズの会員管理APIにリクエストすることにより、登録されます。
SNSログインの場合は、SNSから受け取った属性情報をここに登録します。

SNSログインを有効にするには、SNSのAPIキーを設定する必要があります。
Facebook連携を有効にする場合は API key を設定してください。
Twitter連携を有効にする場合は Consumer key および Consumer secret を設定してください。

“Tasks” コレクション

(JSON Collection)

全員のタスクが保存されます。

例:

Object ID: 890de318b94ecd71a5

上記の例で “a3701e6613c731c1f4″ は相応のイメージオブジェクトを参照しています。

Object ID: 0345122c672e356813

その他のサーバサイド設定

アプリID

アピアリーズにアプリ作成時、アプリIDには “todo” を指定して下さい。
これは次の [アプリ設定] でも説明されますが、サンプルアプリのコードで
アプリIDの定数として “todo” を設定しているためです。
ご希望のアプリIDがある場合はそれを指定して問題ありません。
もし変更する場合は、[アプリ設定] で説明されている設定ファイルにて
そのアプリIDに変更することを忘れないようにして下さい。

アプリ側設定

最新 SDK v.2.0 対応バージョン

Android (Android SDK v.2.0)

定数は以下の複数ファイルに定義されています:

res/values/strings.xml

一つひとつの定義をみていきます。

appiaries__datastore_id は「データストアID」です。
「アプリトークン」と同じように、アピアリーズのAPIにリクエストを送信するときは
必ず「データストアID」を指定する必要があります。
ダウンロードしたサンプルのコードには “appiaries_sample” が設定されています。
ご自身の契約されたデータストアIDを指定してください。
例えば sandbox 環境で開発する場合は “_sandbox” を設定します。

appiaries__application_id は「アプリID」です。
これはあなたのアプリを識別するためのものです。

appiaries__application_tokenは、アピアリーズと通信するときの認証に使われる「アプリトークン」です。
アピアリーズのAPIにリクエストを送信するときに、かならず必要なものです。
アピアリーズのデモ用のappiaries__application_tokenがデフォルトで指定されています。
(参考: “アプリトークンはどこにある?”)

facebook__app_idは、Facebook Developerで登録したアプリの API Key を指定します。

twitter__consumer_keyは、Twitter Developerで登録したアプリの Consumer Key を指定します。
twitter__consumer_secretは、Twitter Developerで登録したアプリの Consumer Secretを指定します。

iOS (iOS SDK v.2.0)

定数は以下の複数のファイルに定義されています:

Todo/Library/Configurations.h

一つひとつの定義をみていきます。

kApplicationIDは、アピアリーズと通信するときの認証に使われる「アプリトークン」です。
アピアリーズのAPIにリクエストを送信するときに、かならず必要なものです。
アピアリーズのデモ用のkApplicationIDがデフォルトで指定されています。
(参考: “アプリトークンはどこにある?”)

kDatastoreID は「データストアID」です。
「アプリトークン」と同じように、アピアリーズのAPIにリクエストを送信するときは
必ず「データストアID」を指定する必要があります。
ダウンロードしたサンプルのコードには “appiaries_sample” が設定されています。
ご自身の契約されたデータストアIDを指定してください。
例えば sandbox 環境で開発する場合は “_sandbox” を設定します。

kApplicationID は「アプリID」です。
これはあなたのアプリを識別するためのものです。

kTwitterConsumerKey は、Twitter Developerで登録したアプリの Consumer Key を指定します。

kTwitterConsumerSecret は、Twitter Developerで登録したアプリの Consumer Secretを指定します。

kFacebookAppIDKey は、Facebook Developerで登録したアプリの API Key を指定します。

kFacebookPermissions は、TodoアプリがFacebookに対して要求する権限リスト指定します。

kFacebookUrlSchemeSuffix は、Facebook Developerで登録したアプリの URL Scheme Suffix を指定します。

Todo/Todo-Info.plist

一つひとつの定義をみていきます。

CHBundleURLSchemesは、Facebook Developerで登録したアプリの API Key を指定します。
プレフィクスにfbを指定する必要がある点に注意してください。

FacebookAppIDは、Facebook Developerで登録したアプリの API Key を指定します。

FacebookDisplayNameは、Facebook Developerで登録したアプリの Display Name を指定します。

以前の SDK v.1.4.0 対応バージョン

Android (Android SDK v.1.4.0)

定数は以下の複数ファイルに定義されています:

com/appiaries/gallery/common/Constants.java

一つひとつの定義をみていきます。

APIS_APP_TOKENは、アピアリーズと通信するときの認証に使われる「アプリトークン」です。
アピアリーズのAPIにリクエストを送信するときに、かならず必要なものです。
アピアリーズのデモ用のAPIS_APP_TOKENがデフォルトで指定されています。
(参考: “アプリトークンはどこにある?”)

APIS_DATASTORE_ID は「データストアID」です。
「アプリトークン」と同じように、アピアリーズのAPIにリクエストを送信するときは
必ず「データストアID」を指定する必要があります。
ダウンロードしたサンプルのコードには “appiaries_sample” が設定されています。
ご自身の契約されたデータストアIDを指定してください。
例えば sandbox 環境で開発する場合は “_sandbox” を設定します。

APIS_APP_ID は「アプリID」です。
これはあなたのアプリを識別するためのものです。

res/values/strings.xml

一つひとつの定義をみていきます。

facebook_app_idは、Facebook Developerで登録したアプリの API Key を指定します。

twitter_consumer_keyは、Twitter Developerで登録したアプリの Consumer Key を指定します。
twitter_consumer_secretは、Twitter Developerで登録したアプリの Consumer Secretを指定します。

iOS (iOS SDK v.1.4.0)

定数は以下の複数のファイルに定義されています:

Todo/Library/TODOConfigurations.h

一つひとつの定義をみていきます。

TODOAPISAppTokenは、アピアリーズと通信するときの認証に使われる「アプリトークン」です。
アピアリーズのAPIにリクエストを送信するときに、かならず必要なものです。
アピアリーズのデモ用のTODOAPISAppTokenがデフォルトで指定されています。
(参考: “アプリトークンはどこにある?”)

TODOAPISDatastoreId は「データストアID」です。
「アプリトークン」と同じように、アピアリーズのAPIにリクエストを送信するときは
必ず「データストアID」を指定する必要があります。
ダウンロードしたサンプルのコードには “appiaries_sample” が設定されています。
ご自身の契約されたデータストアIDを指定してください。
例えば sandbox 環境で開発する場合は “_sandbox” を設定します。

TODOAPISAppId は「アプリID」です。
これはあなたのアプリを識別するためのものです。

Todo/Todo-Info.plist

一つひとつの定義をみていきます。

CHBundleURLSchemesは、Facebook Developerで登録したアプリの API Key を指定します。
プレフィクスにfbを指定する必要がある点に注意してください。

FacebookAppIDは、Facebook Developerで登録したアプリの API Key を指定します。

FacebookDisplayNameは、Facebook Developerで登録したアプリの Display Name を指定します。

パズルアプリ

パズルアプリ

お知らせ

「パズルアプリ」は最新 Appiaries SDK v.2.0 リリースにともない、全面的に修正いたしました。
現在 github から入手いただけるソースコードの “master” ブランチが v.2.0 に対応していますが、
古い v.1.4.0 に対応するソースコードについても “v1_4_0″ ブランチから入手いただけます。
ただし Appiaries SDK v.1.4.0 は本年2015年9月にサポート終了を予定しますことを
ご留意いただきますようお願いいたします。

アプリ概要

ユーザはメールアドレスで新規会員登録し、登録時に登録したログイン名とパスワードでログインします。
ログインすると、幾つかのステージに分かれたパズルゲームが用意されており、
それぞれのステージをクリアする毎に、そのクリア時間により、
ランキング一覧で自分のスコアを確認できます。
ランキングには「時間ランキング」と「先着ランキング」があります。
「先着ランキング」の順番についてはアピアリーズの「シーケンスAPI」を使用することとします。

使用するアピアリーズの機能

プロジェクトファイル

Github よりプロジェクトファイルをダウンロード可能です。

Android Studio を利用する場合の注意点:

本アプリのソースは、Eclipse ADT プロジェクトとして公開されているため、Android Studio をお使いになる場合は同IDEの [Import project (Eclipse ADT, Gradle, etc.)] メニューからプロジェクトを変換する必要があります。プロジェクトの変換処理自体は自動実行されるため特に問題となるポイントはありませんが、変換後のビルド実行時に、「Duplicate files copied in APK <ファイル名>」といったエラーによりビルドに失敗する場合があります。このエラーが発生した場合は、ビルドスクリプト(puzzle/build.gradle)に packageOptions { exclude '<ファイル名>' } を追記する必要があります。
多くの場合、ダウンロードページ からダウンロードできる androidstudio-BlankApp-*.zip 内の app/build.gradle と同様のオプション指定をすることでエラーを解消することができますので、お困りの場合はご参考ください。

画面

ログイン
新規登録
サービス説明
ホーム
ゲーム
見本
結果
時間ランキング
先着ランキング

サーバサイドで利用されるコレクション

Entity System Name Type Description Note
サービス説明文 Introductions JSON Collection 登録後に表示されるサービスの説明文。一つのオブジェクトで1ページを表す。
会員 (User) コレクションは作成せず、会員管理機能を利用する アプリを利用する会員の情報を格納する。クライアントアプリ側から登録される。カスタム属性として「ニックネーム(nickname)」を持つ。
ステージ Stages JSON Collection 全ステージの設定情報を保持する。
パズル画像 Images File Collection 各ステージに使用するパズル画像(非分割状態のオリジナル画像)を保持する。
タイムランキング TimeRanking JSON Collection ステージ毎の各プレイヤのタイム・ランキング。より短時間のスコアが高ランクとなる。
先着ランキング FirstComeRanking JSON Collection 提供問題を(時系列の意味で)より早くクリアしたプレイヤのランキング。 ※シーケンス機能を利用
先着ランキング・シーケンス FirstComeRankingSeq Sequence Collection ランキング(先着)集計時に使用するシーケンス。集計時に都度値をリセットする。

“Introductions” コレクション

(JSON Collection)

登録後に表示されるサービスの説明文です。一つのオブジェクトで1ページを表します。

例:

Object ID: 3dd923a7ffd965cde4

Object ID: 7fb6c160243e693ccf

Object ID: bff972861edee11faf

Object ID: a8981c169d1615f738

会員 (User)

コレクションを作成しません。会員管理機能を利用します。

これは JSON オブジェクトコレクションでもファイルコレクションでもありません。
新規ユーザはアピアリーズの「会員機能」を利用して登録されます。
各会員データは、任意で JSON データを持つことも可能であり、
このアプリはそこに “nickname” などのユーザの属性情報をセットしています。

会員のログインID認証 設定する
会員のメールアドレス認証 設定する
メールアドレスの登録 許可する
匿名認証 許可しない

会員は、クライアントアプリ側がアピアリーズの会員管理APIにリクエストすることにより、登録されます。
また登録時、“auto_login”“nickname” という属性データについても
クライアントアプリ側から登録します。

例:

Object ID: (アプリから作成されるのでランダムに生成されます)

“Stages” コレクション

(JSON Collection)

全ステージの設定情報を保持します。

例:

Object ID: ca010752678373e784

上記の例で “a3701e6613c731c1f4″ は相応のイメージオブジェクトを参照しています。

Object ID: 0345122c672e356813

上記の例で “a19613a99b3886c4f6″ は相応のイメージオブジェクトを参照しています。

パズルの画像をどのように分割したいかサーバデータを変更することで、その通りの結果が表示されます。





“Images” コレクション

(File Collection)

各ステージに使用するパズル画像(非分割状態のオリジナル画像)を保持します。

例:

Object ID: a3701e6613c731c1f4

「ステージ 1」のための画像です

Object ID: a19613a99b3886c4f6

「ステージ 2」のための画像です

“TimeRanking” コレクション

(JSON Collection)

ステージ毎の各プレイヤのタイム・ランキングです。
より短時間のスコアが高ランクとなる。クライアントアプリ側から生成されます。
ランキングデータは、コントロールパネルからではなく、クライアントアプリから登録されます。
したがって TimeRanking コレクションに属するオブジェクトのオブジェクトIDは
登録時にランダムに生成されます。

例:

Object ID: (アプリから作成されるのでランダムに生成されます)

Melissa が “ca010752678373e784″ (つまり「ステージ 1」) を 13 秒でクリアしたことを意味します

“FirstComeRanking” コレクション

(JSON Collection)

提供問題を(時系列の意味で)より早くクリアしたプレイヤのランキングです。
ランキングデータは、コントロールパネルからではなく、クライアントアプリから登録されます。
したがって FirstComeRanking コレクションに属するオブジェクトのオブジェクトIDは
登録時にランダムに生成されます。
※シーケンス機能を利用します。

例:

Object ID: (アプリから作成されるのでランダムに生成されます)

Rodrigo が “ca010752678373e784″ (つまり「ステージ 1」) を 2 秒でクリアして
先着ランキングで 1 位になっていることを意味します

FirstComeRankingSeq コレクション

(Sequence Collection)

ランキング(先着)集計時に使用するシーケンスです。
集計時に都度値をリセットします。

減算を利用 する
シーケンス初期値 1

その他のサーバサイド設定

アプリID

アピアリーズにアプリ作成時、アプリIDには “puzzle” を指定して下さい。
これは次の [アプリ設定] でも説明されますが、サンプルアプリのコードで
アプリIDの定数として “puzzle” を設定しているためです。
ご希望のアプリIDがある場合はそれを指定して問題ありません。
もし変更する場合は、[アプリ設定] で説明されている設定ファイルにて
そのアプリIDに変更することを忘れないようにして下さい。

アプリ側設定

最新 SDK v.2.0 対応バージョン

Android (Android SDK v.2.0)

定数は以下のファイルのみに定義されています:

res/values/strings.xml

一つひとつの定義をみていきます。

appiaries__datastore_id は「データストアID」です。
「アプリトークン」と同じように、アピアリーズのAPIにリクエストを送信するときは
必ず「データストアID」を指定する必要があります。
ダウンロードしたサンプルのコードには “appiaries_sample” が設定されています。
ご自身の契約されたデータストアIDを指定してください。
例えば sandbox 環境で開発する場合は “_sandbox” を設定します。

appiaries__application_id は「アプリID」です。
これはあなたのアプリを識別するためのものです。

appiaries__application_tokenは、アピアリーズと通信するときの認証に使われる「アプリトークン」です。
アピアリーズのAPIにリクエストを送信するときに、かならず必要なものです。
アピアリーズのデモ用のappiaries__application_tokenがデフォルトで指定されています。
(参考: “アプリトークンはどこにある?”)

iOS (iOS SDK v.2.0)

定数は以下のファイルのみに定義されています:

Puzzle/Library/Configurations.h

一つひとつの定義をみていきます。

kDatastoreID は「データストアID」です。
「アプリトークン」と同じように、アピアリーズのAPIにリクエストを送信するときは
必ず「データストアID」を指定する必要があります。
ダウンロードしたサンプルのコードには “appiaries_sample” が設定されています。
ご自身の契約されたデータストアIDを指定してください。
例えば sandbox 環境で開発する場合は “_sandbox” を設定します。

kApplicationID は「アプリID」です。
これはあなたのアプリを識別するためのものです。

kApplicationTokenは、アピアリーズと通信するときの認証に使われる「アプリトークン」です。
アピアリーズのAPIにリクエストを送信するときに、かならず必要なものです。
アピアリーズのデモ用のkApplicationTokenがデフォルトで指定されています。
(参考: “アプリトークンはどこにある?”)

以前の SDK v.1.4.0 対応バージョン

Android (Android SDK v.1.4.0)

定数は以下のファイルのみに定義されています:

com/appiaries/gallery/common/Constants.java

一つひとつの定義をみていきます。

APIS_APP_TOKENは、アピアリーズと通信するときの認証に使われる「アプリトークン」です。
アピアリーズのAPIにリクエストを送信するときに、かならず必要なものです。
アピアリーズのデモ用のAPIS_APP_TOKENがデフォルトで指定されています。
(参考: “アプリトークンはどこにある?”)

APIS_DATASTORE_ID は「データストアID」です。
「アプリトークン」と同じように、アピアリーズのAPIにリクエストを送信するときは
必ず「データストアID」を指定する必要があります。
ダウンロードしたサンプルのコードには “appiaries_sample” が設定されています。
ご自身の契約されたデータストアIDを指定してください。
例えば sandbox 環境で開発する場合は “_sandbox” を設定します。

APIS_APP_ID は「アプリID」です。
これはあなたのアプリを識別するためのものです。

iOS (iOS SDK v.1.4.0)

定数は以下のファイルのみに定義されています:

Puzzle/Library/PUZConfigurations.h

一つひとつの定義をみていきます。

PUZAPISAppTokenは、アピアリーズと通信するときの認証に使われる「アプリトークン」です。
アピアリーズのAPIにリクエストを送信するときに、かならず必要なものです。
アピアリーズのデモ用のPUZAPISAppTokenがデフォルトで指定されています。
(参考: “アプリトークンはどこにある?”)

PUZAPISDatastoreId は「データストアID」です。
「アプリトークン」と同じように、アピアリーズのAPIにリクエストを送信するときは
必ず「データストアID」を指定する必要があります。
ダウンロードしたサンプルのコードには “appiaries_sample” が設定されています。
ご自身の契約されたデータストアIDを指定してください。
例えば sandbox 環境で開発する場合は “_sandbox” を設定します。

PUZAPISAppId は「アプリID」です。
これはあなたのアプリを識別するためのものです。

ギャラリーアプリ

ギャラリーアプリ

お知らせ

「ギャラリーアプリ」は最新 Appiaries SDK v.2.0 リリースにともない、全面的に修正いたしました。
現在 github から入手いただけるソースコードの “master” ブランチが v.2.0 に対応していますが、
古い v.1.4.0 に対応するソースコードについても “v1_4_0″ ブランチから入手いただけます。
ただし Appiaries SDK v.1.4.0 は本年2015年9月にサポート終了を予定しますことを
ご留意いただきますようお願いいたします。

アプリ概要

画像にコメントをつけて追加・編集できるアプリです。
画像ファイルはすべてサーバに保存されます。
再生ボタンを押すと、登録されているすべての画像をスライドショーとして再生することができます。
スライドショーを再生しているときに表示されるコメントは、設定画面にてオン・オフが可能です。
また再生の間隔を設定することも出来ます。

画面

一覧
詳細
編集
追加
追加 (選択)
スライドショー
設定

利用するアピアリーズのAPI群

プロジェクトファイル

Github よりプロジェクトファイルをダウンロード可能です。

Android Studio を利用する場合の注意点:

本アプリのソースは、Eclipse ADT プロジェクトとして公開されているため、Android Studio をお使いになる場合は同IDEの [Import project (Eclipse ADT, Gradle, etc.)] メニューからプロジェクトを変換する必要があります。プロジェクトの変換処理自体は自動実行されるため特に問題となるポイントはありませんが、変換後のビルド実行時に、「Duplicate files copied in APK <ファイル名>」といったエラーによりビルドに失敗する場合があります。このエラーが発生した場合は、ビルドスクリプト(gallery/build.gradle)に packageOptions { exclude '<ファイル名>' } を追記する必要があります。
多くの場合、ダウンロードページ からダウンロードできる androidstudio-BlankApp-*.zip 内の app/build.gradle と同様のオプション指定をすることでエラーを解消することができますので、お困りの場合はご参考ください。

サーバサイドで利用されるコレクション

Entity System Name Type Description Note
イラスト・メタ情報 Illustrations JSON Collection イラストの基本情報を格納する。
イラスト画像 IllustrationImages File Collection Illustrations に紐づく画像を格納する。

“Illustrations” コレクション

(JSON Collection)

イラストの基本情報を格納します。
画像はコントロールパネルからではなく、クライアントアプリから登録されます。
したがって Illustrations コレクションに属するオブジェクトのオブジェクトIDは
登録時にランダムに生成されます。

例:

Object ID: (アプリから作成されるのでランダムに生成されます)

“image_id” は “IllustrationImages” コレクションに登録される相応のオブジェクトを参照します
そのオブジェクトもおなじくクライアントアプリ側からアップロードされるものです

“IllustrationImages” コレクション

(File Collection)

Illustrations コレクションに紐づく画像を格納します。
Illustrations コレクションと同様、オブジェクトはクライアントから作成されるため、
オブジェクトIDは登録時にランダムに生成されます。

例:

Object ID: (アプリから作成されるのでランダムに生成されます)

クライアントアプリからアップロードされる画像です
おそらく幼いアビーちゃんが犬を触っている写真でしょう

その他のサーバサイド設定

アプリID

アピアリーズにアプリ作成時、アプリIDには “gallery” を指定して下さい。
これは次の [アプリ設定] でも説明されますが、サンプルアプリのコードで
アプリIDの定数として “gallery” を設定しているためです。
ご希望のアプリIDがある場合はそれを指定して問題ありません。
もし変更する場合は、[アプリ設定] で説明されている設定ファイルにて
そのアプリIDに変更することを忘れないようにして下さい。

アプリ側設定

最新 SDK v.2.0 対応バージョン

Android (Android SDK v.2.0)

定数は以下のファイルのみに定義されています:

res/values/strings.xml

一つひとつの定義をみていきます。

appiaries__datastore_id は「データストアID」です。
「アプリトークン」と同じように、アピアリーズのAPIにリクエストを送信するときは
必ず「データストアID」を指定する必要があります。
ダウンロードしたサンプルのコードには “appiaries_sample” が設定されています。
ご自身の契約されたデータストアIDを指定してください。
例えば sandbox 環境で開発する場合は “_sandbox” を設定します。

appiaries__application_id は「アプリID」です。
これはあなたのアプリを識別するためのものです。

appiaries__application_tokenは、アピアリーズと通信するときの認証に使われる「アプリトークン」です。
アピアリーズのAPIにリクエストを送信するときに、かならず必要なものです。
アピアリーズのデモ用のappiaries__application_tokenがデフォルトで指定されています。
(参考: “アプリトークンはどこにある?”)

iOS (iOS SDK v.2.0)

定数は以下のファイルのみに定義されています:

Gallery/Library/Configurations.h

一つひとつの定義をみていきます。

kDatastoreID は「データストアID」です。
「アプリトークン」と同じように、アピアリーズのAPIにリクエストを送信するときは
必ず「データストアID」を指定する必要があります。
ダウンロードしたサンプルのコードには “appiaries_sample” が設定されています。
ご自身の契約されたデータストアIDを指定してください。
例えば sandbox 環境で開発する場合は “_sandbox” を設定します。

kApplicationID は「アプリID」です。
これはあなたのアプリを識別するためのものです。

kApplicationToken は、アピアリーズと通信するときの認証に使われる「アプリトークン」です。
アピアリーズのAPIにリクエストを送信するときに、かならず必要なものです。
アピアリーズのデモ用のkApplicationTokenがデフォルトで指定されています。
(参考: “アプリトークンはどこにある?”)

以前の SDK v.1.4.0 対応バージョン

Android (Android SDK v.1.4.0)

定数は以下のファイルのみに定義されています:

com/appiaries/gallery/common/Constants.java

一つひとつの定義をみていきます。

APIS_APP_TOKENは、アピアリーズと通信するときの認証に使われる「アプリトークン」です。
アピアリーズのAPIにリクエストを送信するときに、かならず必要なものです。
アピアリーズのデモ用のAPIS_APP_TOKENがデフォルトで指定されています。
(参考: “アプリトークンはどこにある?”)

APIS_DATASTORE_ID は「データストアID」です。
「アプリトークン」と同じように、アピアリーズのAPIにリクエストを送信するときは
必ず「データストアID」を指定する必要があります。
ダウンロードしたサンプルのコードには “appiaries_sample” が設定されています。
ご自身の契約されたデータストアIDを指定してください。
例えば sandbox 環境で開発する場合は “_sandbox” を設定します。

APIS_APP_ID は「アプリID」です。
これはあなたのアプリを識別するためのものです。

iOS (iOS SDK v.1.4.0)

定数は以下のファイルのみに定義されています:

Gallery/Library/GALConfigurations.h

一つひとつの定義をみていきます。

APISAppToken は、アピアリーズと通信するときの認証に使われる「アプリトークン」です。
アピアリーズのAPIにリクエストを送信するときに、かならず必要なものです。
アピアリーズのデモ用のPUZAPISAppTokenがデフォルトで指定されています。
(参考: “アプリトークンはどこにある?”)

PUZAPISDatastoreId は「データストアID」です。
「アプリトークン」と同じように、アピアリーズのAPIにリクエストを送信するときは
必ず「データストアID」を指定する必要があります。
ダウンロードしたサンプルのコードには “appiaries_sample” が設定されています。
ご自身の契約されたデータストアIDを指定してください。
例えば sandbox 環境で開発する場合は “_sandbox” を設定します。

APISAppId は「アプリID」です。
これはあなたのアプリを識別するためのものです。

iOSアプリ開発を開始する前の準備作業

アピアリーズが提供するiOSアプリ開発向けSDKを利用した開発を始めるにあたり、
いくつかの事前準備作業が必要となります。

コントロールパネル側の準備作業

アピアリーズ・アカウントの準備

アピアリーズのアカウントを作成してください。

アプリの登録

予め、アピアリーズのコントロールパネルから、「アプリ」を作成してください。

アプリ開発環境側での準備作業

プロジェクトの作成

作成されるアプリの iOS プロジェクトを準備ください。

Appiaries SDK のダウンロード

以下ダウンロードページから Appiaries SDK (iOS) をダウンロードします。

» Appiaries SDK (iOS) のダウンロード

プロジェクトへ Appiaries SDK (iOS) を組み込む

ダウンロードしたSDKのZIPアーカイブを、開発PC上の任意ディレクトリに展開します。
以下に、Mac の ターミナル.app から Downloads フォルダにダウンロードしたアーカイブの展開例を示します。

AppiariesSDK を組み込むアプリのXcodeプロジェクトを開き、AppiariesSDK.framework をドラッグ&ドロップします。

figure 1

オプション選択画面が表示されるので、必要に応じて Copy items if needed オプションにチェックを入れ、[Finish] で追加を確定します。

figure 2

次に、依存ライブラリとして MobileCoreServices.frameworkQuartzCore.framework を追加します。

figure 3

次に、ビルド設定 (Build Settings) の Other Linker Flags-ObjC を追加します。

figure 4

ここまでの設定で AppiariesSDK の組み込みは完了しています。

最後に確認として、AppDelegate.m 内に AppiariesSDK を有効化するコードを記述してみてください。(下図参照)
コードの追記を行った後にビルド/実行し、コンソールに “activated ? YES” と出力されれば正常に組み込みできています。
うまく動作しない場合は ダウンロード ページからブランク・プロジェクトをダウンロードし、設定に差異がないか確認してみてください。

figure 5

以上で、アプリへのSDKの組み込みは完了です。
次節より、アプリ内でのSDKの利用方法について詳しく解説します。

関連情報

はじめに

Appiaries iOS SDK 2.0 開発者ガイド

このドキュメントについて

想定する読者について

本ドキュメントは、アピアリーズをバックエンドサーバとして使用する、iOSアプリ開発者向けの内容となっています。

SDKの利用にあたっての前提条件

以下に、Appiaries iOS SDK(以降、iOS SDK、または単に SDK と表記)を利用するにあたっての前提条件を示します。

  • アピアリーズのアカウントを作成済みであること
  • iOSアプリ開発について基本的な知識/理解を有すること
  • JSONフォーマットについて基本的な知識/理解を有すること
  • RESTアーキテクチャスタイルについて基本的な知識/理解を有すること

SDK がサポートする iOS バージョン一覧

iOS バージョン
iOS 7.0
iOS 7.1
iOS 8.0
iOS 8.1
iOS 8.2
iOS 8.3

SDKの利用にあたっての注意事項

依存ライブラリ/フレームワーク

SDK の利用には、以下に挙げるライブラリが必要となります。

フレームワーク名
MobileCoreServices.framework
QuartzCore.framework

Facebookとの連携を行う場合は、別途、以下に挙げるライブラリが必要となります。

ライブラリ名 バージョン 配布先リンク
FacebookSDK.framework 3.23.2 » 外部サイト Facebook SDK ダウンロードページへ移動します

関連情報

SDK 移行ガイド

v2.0.0 の新機能と変更点

新機能/変更点 説明
インタフェースの刷新 よりシンプルで直感的なインタフェースを採用しました。
オブジェクトマッピング v1.4.0までは、アピアリーズのAPIレスポンス(JSON形式)を自前クラスに格納しようとした場合、マッピング用のコードを自力で記述する必要がありましたが、v2.0.0以降はこの作業が不要となります。
v2.0.0以降では、組み込みクラス(ABDBObject, ABFile, ABUser, ABDevice, ABPushMessage, ABSequence)のオブジェクトとして、APIレスポンスが自動的に格納されるようになりました。
クラス継承のサポート 組み込みクラスを継承したモデルクラスを定義することで、アピアリーズの各種コレクションとアプリ内のモデルクラスを透過的に操作できるようになります。
データ型のサポート 組み込みクラスを継承したモデルクラスを定義することで、フィールド(@property)のデータ型定義に合わせてデータが格納されるようになります。
フィールドにはプリミティブ型以外に、NSString、NSDate、NSArray、NSDictionary、CGPoint、CGRectといった、各種組み込みクラス(および構造体)を指定することができます。
また、独自実装したクラスであっても、フィルタ用コードを記述することで、同様にフィールドとして指定することができます。
クエリ機能の強化 新たに追加されたクエリクラス(ABQuery)を利用することで、より直感的にクエリ条件を組み立てられるようになりました。
また、アピアリーズAPIに対して一部未対応であった検索条件式についても v2.0.0 よりサポートされるようになり、アピアリーズAPIが提供する機能をフルに利用できるようになりました。
その他の変更点 サポートOSバージョンの変更
    iOS 7.0 以降のバージョンがサポート対象となります。(iOS 6 のサポートは終了しました)
ベンダーPREFIXの変更
    クラス名の先頭に付与されているベンダーPREFIXが APIS から AB (Appiaries BaaS) に変更されました。
フレームワーク名の変更
    AppiariesFacebookKit.frameworkAppiariesFBKit.framework に変更されました。

対応表

機能
 
影響数
 
操作
 
v1.4.0
                          
v2.0.0
                          
v2.0.0
(Subclassing)
全般 有効化 code code
サブクラス登録 code
DB One 作成 code code code
更新 code code code
削除 code code code
取得 code code code
リフレッシュ code code
復帰 code code
Many 作成 (Objects) code code
更新 (Objects) code code
更新 (Query)
削除 (Objects) code code
削除 (Query) code code code
検索 (Query) code code code
ファイル One 作成 code code code
更新 code code code
削除 code code code
取得 code code code
取得 (バイナリ) code code code
リフレッシュ code code
復帰 code code
Many 作成 (Objects) code code
更新 (Objects) code code
更新 (Query)
削除 (Objects) code code
削除 (Query) code code
検索 (Query) code code code
シーケンス One インクリメント / デクリメント code code
取得 code code
ユーザ One サインアップ code code code
作成 code code
更新 code code code
削除 code code code
取得 code code code
リフレッシュ code code
復帰 code code
ログイン (ログインID+パスワード) code code code
ログイン (メールアドレス+パスワード) code code code
ログイン (匿名) code code
ログイン (Twitter) code code
ログイン (Facebook) code code
自動ログイン code code code
ログアウト code code code
本人確認メール送信要求 code code
パスワード再設定メール送信要求 code
Many 作成 (Objects)
更新 (Objects)
更新 (Query)
削除 (Objects)
削除 (Query)
検索 (Query)
デバイス One 登録 code code code
登録解除 code code code
作成
更新
削除
取得
リフレッシュ
復帰
Many 作成 (Objects)
更新 (Objects)
更新 (Query)
削除 (Objects)
削除 (Query)
検索 (Query)
プッシュ通知 One 受信・開封通知 code code code
リッチ・プッシュ code code
作成
更新
削除
取得
リフレッシュ
復帰
Many 作成 (Objects)
更新 (Objects)
更新 (Query)
削除 (Objects)
削除 (Query)
検索 (Query)
APPENDIX 独自実装のリッチ・プッシュ画面を利用する code code
ABQuery 例 code

全般

有効化

v1.4.0

v2.0.0

対応表へ戻る

サブクラスの登録

v2.0.0 (Subclassing)

対応表へ戻る

DB

DBデータを作成する

v1.4.0

v2.0.0

v2.0.0 (Subclassing)

対応表へ戻る

DBデータを更新する

v1.4.0

v2.0.0

v2.0.0 (Subclassing)

対応表へ戻る

DBデータを削除する

v1.4.0

v2.0.0

v2.0.0 (Subclassing)

対応表へ戻る

DBデータを取得する

v1.4.0

v2.0.0

v2.0.0 (Subclassing)

対応表へ戻る

DBデータをリフレッシュする

v2.0.0

v2.0.0 (Subclassing)

対応表へ戻る

DBデータを変更前の状態に復帰する

v2.0.0

v2.0.0 (Subclassing)

対応表へ戻る

DBデータを作成する (Objects)

v2.0.0

v2.0.0 (Subclassing)

対応表へ戻る

DBデータを更新する (Objects)

v2.0.0

v2.0.0 (Subclassing)

対応表へ戻る

DBデータを更新する (Query)

対応表へ戻る

DBデータを削除する (Objects)

v2.0.0

v2.0.0 (Subclassing)

対応表へ戻る

DBデータを削除する (Query)

v1.4.0

v2.0.0

v2.0.0 (Subclassing)

対応表へ戻る

DBデータを検索する (Query)

v1.4.0

v2.0.0

v2.0.0 (Subclassing)

対応表へ戻る

ファイル

ファイルを作成する

v1.4.0

v2.0.0

v2.0.0 (Subclassing)

対応表へ戻る

ファイルを更新する

v1.4.0

v2.0.0

v2.0.0 (Subclassing)

対応表へ戻る

ファイルを削除する

v1.4.0

v2.0.0

v2.0.0 (Subclassing)

対応表へ戻る

ファイルを取得する

v1.4.0

v2.0.0

v2.0.0 (Subclassing)

対応表へ戻る

ファイルのバイナリデータ(ファイル実体)をダウンロードする

v1.4.0

v2.0.0