はじめてのmixiアプリ その2 
前回、大まかに手順を書きましたが
さらに掘り下げていくつか分かったことを羅列します。
Gadget XMLにはガジェットの中身を記述する
ここにHTMLやらJavascriptやらを記述していきます。
この
それぞれ「home」、「profile」、「canvas」と3つの値を使い分けます。
homeはログイン直後の自分のページ。右側の小窓表示。(※キャプチャーはUNIQLOCK)
profileは自分も他人も見るプロフィール画面。右側の小窓表示。(※キャプチャーはUNIQLOCK)
canvasはhomeやprofileの小窓から遷移したガジェット用の画面。(※キャプチャーはUNIQLOCK)
ガジェットの内容やビジュアルを変えたいときはそれぞれタグをわけて記述しないといけません。
ソースコードは以下。
■home、profile、canvasすべてに適用の場合
<Content type="html" view="home, profile, canvas">
<![CDATA[
all test
]]>
</Content>
■homeのみ適用の場合
<Content type="html" view="home">
<![CDATA[
home test
]]>
</Content>
■profileのみ適用の場合
<Content type="html" view="profile">
<![CDATA[
profile test
]]>
</Content>
■canvasのみ適用の場合
<Content type="html" view="canvas">
<![CDATA[
canvas test
]]>
</Content>
あと、
デバッグ段階でサーバーにXMLのキャッシュが残っていたりするので
自身のアプリトップ→アプリ設定変更→ガジェットURLの横「キャッシュ消去」を押してから確認する。
そもそもmixi上でのデバッグはめんどいのでこのへんを参考にするとよさそう。
Google Gadget Editor
alt


キャッシュ制御は画面を表示するパラメータに
nocache=1
を追加するとガジェットのキャッシュが無効になるよ。
http://platform001.mixi.jp/home.pl?nocache=1
こんな感じ。
アプリ内で参照してる画像とかの外部コンテンツは
ガジェットのxmlの指定で無効化できるよ。
http://devlog.agektmr.com/ja/archives/434
あと、xmlとかjsに誤りがあるとmixi側で
以前に正常だったキャッシュ?バックアップ?を返す仕組みになっている気がする。
なるほど。
デバッグ時はhome.pl?nocache=1でアクセスしておけばいいと。
バグが解消されてnocache=1を外したときのキャッシュは管理画面で消すという流れでOKかな。
↓永続化使うとさらにめんどそう・・・
http://groups.google.co.jp/group/opensocial-japan/browse_thread/thread/6e95b16285584c3e/53e8be6027cd04c1?show_docid=53e8be6027cd04c1
Flashのキャッシュが管理画面からも消せなくてちょーうざいので
SWFのURL指定に「.swf?1」みたいにユニークIDをつけてるんだけど、
<Param name="expires">指定とかでいけるか試してみるよ。サンキュー。
2009/5/8 ソーシャルアプリ関連記事
スパイスラボ神部です。 今日はアイディアソンに参加して参りました。 では今日もソーシャルアプリ関連記事をざっと押さえておきます。 -日常が好きだ! - Favo...
nocache=1は表示してるページに付けるのではなくて、表示しているガジェットのiframeのURLに付けないと意味がありません。
手順としては
1. ガジェットの内容部分を右クリック
2. iframeを別ウィンドウで表示
3. ながーいURLのどこかにnocache=1を追加
>えーじ さん
なるほど。そういうことだったんですね。
iframeのURLにつけたらXMLのキャッシュ消せました。
ご指摘ありがとうございます!