コンテンツを設定しておくことで、地図やAR、その他画面で適切なコンテンツ表示が自動的に行われます。
コンテンツの設定では、事前に用意しておいたjsonファイルを読み込ませます。
本ページの内容は、サンプルプログラム[TutorialSample.zip]に含まれています。
【jsonファイルのフォーマット】{
"contents": [
{
"id": コンテンツID (*),
"name": "コンテンツ名称" (*),
"description": "コンテンツ説明文" (*),
"detailurl": "コンテンツ詳細画面で表示するHTMLのファイル名",
"images": { (*)
"thumb": "地図やARに表示される画像のファイル名" (*),
"picture": "コンテンツ詳細画面に表示される画像のファイル名" (*),
"frame": "記念撮影画面に表示される画像のファイル名" (*)
},
"attrs": { (*)
"address": "住所",
"bizhours": "営業時間",
"tel": "電話番号",
"site": "サイトURL",
"email": "メールアドレス",
"other": "自由コメント欄"
},
"location": { (*)
"lat": コンテンツの緯度, (*)
"lon": コンテンツの経度 (*)
}
}
]
}
画像ファイルは、プロジェクト内の任意の場所に格納します。[アプリのプロジェクトルート]/images/*
[アプリのプロジェクトルート]/Contents/contents.json
// コンテンツを読み込み
let path = NSBundle.mainBundle().pathForResource("contents", ofType: "json")
let contentsJSONData = NSData(contentsOfFile: path!)
if contentsJSONData == nil {
assertionFailure("contents.jsonが読み込めませんでした")
}
do {
// SDKにコンテンツを設定する
try PicnicContentManager.sharedManager.setContentsFromJSON(contentsJSONData!)
} catch PicnicContentManager.Error.IllegalState(let message) {
// コンテンツの設定に失敗した場合は、エラーメッセージを表示する
let alert = UIAlertController(title: "Error", message: message, preferredStyle: .Alert)
let action = UIAlertAction(title: "OK", style: .Default, handler: nil)
alert.addAction(action)
presentViewController(alert, animated: true, completion: nil)
return false
} catch {
assertionFailure("想定外のエラー発生")
}
サンプルプログラムTutorialSampleでは、ViewController.swiftのinitializePicnicSDKメソッドに記載されています。
{
"contents": [
{
"id": コンテンツID (*),
"name": "コンテンツ名称" (*),
"description": "コンテンツ説明文" (*),
"detailurl": "コンテンツ詳細画面で表示するHTMLのファイル名", ←コレを指定する!
"images": { (*)
"thumb": "地図やARに表示される画像のファイル名" (*),
"picture": "コンテンツ詳細画面に表示される画像のファイル名" (*),
"frame": "記念撮影画面に表示される画像のファイル名" (*)
},
省略...
}
]
}
HTMLファイルを格納するためのグループを作成します。


以下の通り設定し、Finishボタンを押します。
このようになれば成功です。
実行して確認してみましょう。

