Passbook用クーポンの中身?
今日はiOS6から追加になった新機能、Passbookのクーポンの中身を解析してみました。
簡単に結論から言うと、必要なファイル一式を拡張子.passとしてzip形式で圧縮した物をクーポンと呼ぶようです。
クーポンのダウンロード
試しにFirefoxのアドオンを駆使してpassbank.jpから無印のクーポンをダウンロードしてみました。
するとD6FxoWjf.passなるファイルがダウンロードできました。これを展開すると以下のようなファイル一式が含まれています。
D6FxoWjf.pass - icon.png - logo.png - manifest.json - pass.json - signature - strip.png
なんとなくここで気づいた人も居るかもしれませんが、どことなくGoogle Extensionの作りに似ていますね。
manifest.json
manifest.jsonの中身は以下のようになっています。.pass内のファイルをここで関連づけているようです。
{ "icon.png":"67fbd9b18ee48cde3c50235f82dce2a4ece80166", "logo.png":"6f5005fc44f2b4585049785cc8828fc0bb923b77", "pass.json":"86a293c842cd1f3e7d7da5c9cabc8a38093f7744", "strip.png":"1f535e64f8b7ddb648db8242c110d20bffbe1da8", }
pass.json
次にpass.jsonですが、こちらにクーポンの詳細が記入されているようです。
{ "formatVersion":1, "passTypeIdentifier":"pass.com.passss.general", "teamIdentifier":"TJ96KD8A74", "serialNumber":"D6FxoWjf_IBGnrrUV", "organizationName":"無印良品 有楽町", "description":"ブールドネージュ", "backgroundColor":"#F5F5DC", "labelColor":"#000000", "foregroundColor":"#000000", "suppressStripShine":true, "logoText":"", "relevantDate_": "", "associatedStoreIdentifiers_":[], "authenticationToken":"0MTXkBS96iEFzaQL", "webServiceURL":"https://passss-server.appspot.com/api/pkws/", "locations":[{"relevantText":"先着1000名様にプレゼント!","altitude":0.0,"longitude":139.765052,"latitude":35.675531}], "barcode" : { "format":"PKBarcodeFormatQR", "message":"D6FxoWjf_IBGnrrUV", "altText":"D6FxoWjf_IBGnrrUV", "messageEncoding" : "iso-8859-1" }, "coupon":{ "headerFields":[ ], "primaryFields":[ { "key":"p1", "label":"", "value":"", "textAlignment":"PKTextAlignmentLeft" } ], "secondaryFields":[ { "key":"s1", "label":"", "value":"", "textAlignment":"PKTextAlignmentLeft" } ], "auxiliaryFields":[ ], "backFields":[ { "key":"B1", "label":"説明", "textAlignment":"PKTextAlignmentLeft", "value":"【無印良品有楽町限定】\nPassbookでクーポンを提示されたお客様、先着1000名様に「ブールドネージュ 80g」をプレゼントします。\n\nブールドネージュは白い雪の玉という名前のフランス菓子で、無印良品で人気No.1のお菓子です。\nアーモンド入りの生地をまるく焼きあげ、粉糖をまぶして仕上げました。\n\n※予定数量に達し次第、終了とさせていただきます。\n※本クーポンのご利用は、お1人様1回限りです。\n※本クーポンを、無印良品 有楽町 1F総合受付にてご提示ください。\n\n無印良品 有楽町\n営業時間:10:00〜21:00\n東京都千代田区丸の内 3-8-3 インフォス有楽町1-3F\nTEL:03-5208-8241" } ], "transitType":"PKTransitTypeGeneric" } }
位置情報について
locationsで位置情報を設定することで、iPhoneが一定距離に近づいた際に通知してくれるのでしょうか?
"locations":[{"relevantText":"先着1000名様にプレゼント!","altitude":0.0,"longitude":139.765052,"latitude":35.675531}],
バーコードの表示形式について
barcodeの項目でクーポンに表示するバーコードの形式を設定しているようです。このクーポンはQRコードかな?
"barcode" : { "format":"PKBarcodeFormatQR", "message":"D6FxoWjf_IBGnrrUV", "altText":"D6FxoWjf_IBGnrrUV", "messageEncoding" : "iso-8859-1" },
どことなくここまで分かれば自力でもクーポンの作成が出来そうですね。
AndroidでもPassbookのクーポンが利用できる?
未検証ですが、passwalletなるアプリを使用することで、AndroidでもPassbookのクーポンが表示できるようです。
ただし表示するためには個人でクーポンをダウンロードしpasswalletにインポートしてやる必要があるようです。
いずれ検証してみたいと思います。
ずばりクーポンの作り方
以下のサイトで項目に必要な情報を入力することでクーポンの作成が行えます。これって公式?
http://www.passsource.com/
と、今回はこの辺りでそろそろ寝ることにします。
おやすみなさい。。。