コンテンツを設定しておくことで、地図やAR、その他画面で適切なコンテンツ表示が自動的に行われます。
コンテンツの設定では、事前に用意しておいたjsonファイルを読み込ませます。
本ページの内容は、サンプルプログラム[TutorialSample.zip]に含まれています。
{ "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ファイルを格納するためのグループを作成します。