PressSync AppLinkMaker仕様

主な機能

AppStoreをアプリ名などをキーワードに目的のアプリを検索し、ブログ等で紹介する為のHTMLタグを作成します。
HTMLタグ生成の際の書式は独自にカスタマイズ可能です。

フォーマット仕様

前提(データの入力元)

AppLinkMakerはApple提供のAPIより取得される情報(Json)を元にHTMLタグを生成します。
このJsonオブジェクト内のキーを以降、要素名と呼びます。

出力項目の紐付け

角括弧[]により出力したい項目の要素名を指定します。
例えばアプリケーションアイコンのUrlを出力する場合は[artworkUrl60](or [artworkUrl100] or [artworkUrl512])と記述します。
角括弧に記述する項目名は、要素名と一致している必要があります。((大文字と小文字は区別しませんが、基本的にはJsonの要素名と一致させてください。))
指定した項目が配列だった場合、配列の要素数が出力されます。
配列の中身を出力したい場合は、要素名の後ろに添え字を指定します。反復記法内では添え字を指定しないでください。

記述例.

[trackName]
Screenshot1
Screenshot2 Count=[screenshotUrls] [languageCodesISO2A[]]

出力結果.

PressSync
Screenshot1
Screenshot2 Count=4 対応言語: 日本語,英語

AppLinkMaker記法

AppLinkMakerに指定する書式の中に、特定の条件の時にのみ出力するブロックの指定や、出力書式の指定、繰り返し処理など、ロジックを記述する事ができます。
AppLinkMaker独自の記述方法の事を「AppLinkMaker記法」と呼びます。
詳細は「AppLinkMaker記法」を参照してください。

スクリーンショット

wpid-20130724095908.png

[AppLinkMaker]AppLinkMaker記法

AppLinkMaker記法

AppLinkMakerに指定する書式の中に、特定の条件の時にのみ出力するブロックの指定や、出力書式の指定、繰り返し処理など、ロジックを記述する事ができます。
AppLinkMaker独自の記述方法の事を「AppLinkMaker記法」と呼びます。

前提条件

本ドキュメントに記される出力例は、PressSyncに対してタグの作成を行ったものです。

制限事項

logicタグの中に同種のlogicタグをネストして記述する事は出来ません。

空白チェック記法

指定した要素名の値がNULLでない場合のみ出力したいブロックがある場合にこの記法を使用します。

記述例.


[screenshotUrls[4]]

出力結果.

※PressSyncには5枚目のスクリーンショットが無いので何も出力されません。

記述例.

<logic:notEmpty key="trackName">
[trackName]
</logic:notEmpty>

出力結果.

PressSync

比較記法

指定した要素名の値がある条件を満たす場合のみ出力したいブロックがある場合にこの記法を使用します。

記述例.

<logic:greaterEqual key="userRatingCount" compareValue="5">
User Score:[averageUserRating]
</logic:greaterEqual>

出力結果.

User Score:4.5

この例ではレビュー数が5件以上存在する場合に平均スコアを出力しています。
その他比較記法は以下が用意されています。

  • equal(一致する)
  • notEqual(一致しない)
  • greaterEqual(以上)
  • greaterThan(を超える)
  • lessEqual(以下)
  • lessThan(未満)

※compareValueには数値しか指定できません。

Contains記法

配列項目内に指定した値が存在する場合のみ出力したいブロックがある場合にこの記法を使用します。

記述例.

<logic:contains key="features" compareValue="gameCenter">
<img width="100" src="http://r.mzstatic.com/htmlResources/1043/web-storefront/images/gc_badge.png">
</logic:contains>

出力結果.

※PressSyncはゲームセンターに対応していないので何も出力されない

記述例.

<logic:contains key="features" compareValue="iosUniversal">
<img src="http://r.mzstatic.com/htmlResources/1043/web-storefront/images/fat-binary-badge-web.png">Universal<br/>
</logic:contains>

出力結果.

<img src="http://r.mzstatic.com/htmlResources/1043/web-storefront/images/fat-binary-badge-web.png">Universal<br/>

反復記法

配列項目を出力する際に使用します。

記述例.

対応言語:
<logic:iterate key="languageCodesISO2A" Separator=",">
[languageCodesISO2A[]]
</logic:iterate>

出力結果.

対応言語:
日本語,英語

記述例.

<logic:define key="iPhoneScreenshotMaxSize">480</logic:define>
<logic:iterate key="screenshotUrls" Separator=",">
[screenshotUrls[].Width]
[screenshotUrls[].Height]
[screenshotUrls[].Orientation]
</logic:iterate>

出力結果.

320
480
Portrait
,320
480
Portrait
,320
480
Portrait
,320
480
Portrait

画像ファイルのサイズを取得する記法

画像ファイル(pngまたはjpeg)のサイズを取得する際に使用するプロパティです。
このプロパティを指定するとアプリケーション内でURL上の画像ファイルの情報を取得する処理が発生する為、タグの生成に従来よりも時間がかかります。

記述例.

[artworkUrl60.Width]
[artworkUrl60.Height]

出力結果.

57
57

AppStoreに登録されているアプリのスクリーンショットはRetinaと通常?解像度が混在しています。
[iPhoneScreenshotMaxSize][iPadScreenshotMaxSize]を利用する事を推奨します。

URLエンコード記法

URLパラメータを作成する場合に、この記法を使用します。
要素名の後ろにキャレット記号(^)と、エンコード回数を指定します。

記述例.

[trackViewUrl^2]

出力結果.

https%253a%252f%252fitunes.apple.com%252fjp%252fapp%252fPressSync%252fid519364485%253fmt%253d8%2526amp%253buo%253d4

マスタ変換記法

コード値等で登録されているような項目を名称に変換して出力する場合に、この記法を使用します。

記述例.

<logic:convert key="kind" value="software" name="ソフトウェア" />
<logic:convert key="kind" value="song" name="曲" />
[kind]

出力結果.

ソフトウェア

HTMLエンコードしない記法

AppLinkMakerにより出力される項目は全てHTMLエンコードが行われた状態で出力されます。
HTMLエンコードを行わずに且つダブルクォーテーションをエスケープ処理した文字列を出力する場合は、要素名を全て大文字で指定します。

記述例.

[DESCRIPTION]

Format記法

特定の項目の出力形式を指定したい場合に使用します。

記述例.

<logic:format key="releaseDate">yyyy/MM/dd</logic:format>
<logic:format key="generatedAt">yyyy/MM/dd</logic:format>
<logic:format key="fileSizeBytes" coefficient="0.00000095">N1</logic:format>
[releaseDate]
[generatedAt]
[fileSizeBytes]MB

出力結果.

2012/05/03
2012/10/18
8.3MB

coefficientには係数が指定可能です。
例は1024#1024で割って(0.00000095を掛けて)バイトをメガバイトに変換しています。

アプリにより予約されている要素名

[AppLinkMaker]

本アプリケーションのURLを出力します。

[generatedAt]

本ツールによりタグを作成した時点の日付時刻を返します。
Format記法により書式の上書き可能です。
本日日付を出力します。書式はシステムの言語設定に準じます。

[averageUserRatingByStars][averageUserRatingForCurrentVersionByStars]

レーティングをスター画像などで表現するタグを取得します。
出力する際の各種リソースは定義記法で指定されたUrlの画像を利用します。
指定されていない場合はアプリケーションで定義されているデフォルト値が使用されます。

[starTagFull][starTagHalf][starTagGhost][starTagSeparator]

レーティングスターのリソース要素

  • starTagFull

    星を指定する要素名です
  • sstarTagHalf

    星(半分)を指定する要素名です
  • sstarTagGhost

    星(無し)を指定する要素名です
  • sstarTagSeparator

    星と星の間のセパレーターを指定する要素名です

[Stylesheet]

プレビュー表示した時に実際に貼り付けるWebサイトと同等の見た目で確認する為のスタイルシートを設定する要素名です

[searchMode]

iPhone、iPad、Macの場合で出力条件を変えたい場合にこの記法を使用します。

記述例.

<logic:equal key="searchMode" compareValue="iPhone" >
 <logic:iterate key="screenshotUrls" Separator=",">
  [screenshotUrls[]]
 </logic:iterate>
</logic:equal>
<logic:equal key="searchMode" compareValue="iPad" >
 <logic:iterate key="ipadScreenshotUrls" Separator=",">
  [ipadScreenshotUrls[]]
 </logic:iterate>
</logic:equal>

[iPhoneScreenshotMaxSize][iPadScreenshotMaxSize]

画像ファイルのサイズを取得する記法」にて取得される画像サイズの上限値を指定する場合にこの記法を使用します。
長辺サイズがこの設定値を超えた場合、長辺が指定値に変更され短辺が変更比率に応じた値になります。

[ratingStarUrlFull][ratingStarUrlHalf][ratingStarUrlGhost][gameCenterUrl][universalUrl][badgeAppStoreUrlSmall][badgeAppStoreUrlLarge]

静的リソースUrlを指定する要素名です。これらの項目は、Settings->Resources画面で設定する値と連動して値が取得されますが、定義記法により上書く事も出来ます。
※システムの設定値よりも実行中の書式の中に含まれる定義記法の方が優先されます。

  • ratingStarUrlFull

    初期値:
http://s.mzstatic.com/htmlResources/E6C6/web-storefront/images/rating_star.png
  • ratingStarUrlHalf

    初期値:
http://s.mzstatic.com/htmlResources/E6C6/web-storefront/images/rating_star_half.png
  • ratingStarUrlGhost

    初期値:
空白
  • gameCenterUrl

    初期値:
http://s.mzstatic.com/htmlResources/E6C6/web-storefront/images/gc_badge.png
  • universalUrl

    初期値:
http://s.mzstatic.com/htmlResources/E6C6/web-storefront/images/fat-binary-badge-web.png
  • badgeAppStoreUrlSmall

    初期値:
http://r.mzstatic.com/images/web/linkmaker/badge_appstore-sm.gif
  • badgeAppStoreUrlLarge

    初期値:
http://r.mzstatic.com/images/web/linkmaker/badge_appstore-lrg.gif

定義記法

APIから取得したJsonオブジェクトに後付けで要素を追加したい場合に使用します。
予約要素に独自の値を設定する場合にもこの記法を使用します。

記述例.

<logic:define key="starTagFull">
<img src="http://r.mzstatic.com/htmlResources/1043/web-storefront/images/rating_star.png"/>
</logic:define>
<logic:define key="starTagHalf">
<img src="http://r.mzstatic.com/htmlResources/1043/web-storefront/images/rating_star_half.png"/>
</logic:define>
<logic:define key="starTagGhost">
</logic:define>
<logic:define key="starTagSeparator"> </logic:define>
<logic:define key="iPhoneScreenshotMaxSize">480</logic:define>
<logic:define key="iPadScreenshotMaxSize">1024</logic:define>
<logic:define key="Stylesheet"></logic:define>
<logic:define key="ratingStarUrlFull">※独自URL</logic:define>
<logic:define key="ratingStarUrlHalf">※独自URL</logic:define>
<logic:define key="ratingStarUrlGhost">※独自URL</logic:define>
<logic:define key="gameCenterUrl">※独自URL</logic:define>
<logic:define key="universalUrl">※独自URL</logic:define>
<logic:define key="badgeAppStoreUrlSmall">※独自URL</logic:define>
<logic:define key="badgeAppStoreUrlLarge">※独自URL</logic:define>

出力結果.

※定義記法で記述されている個所は出力されません。

「PressSync AppLinkMaker仕様」への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください