Titanium Mobile 1.8.1 + TiStoreKit 1.4 で In-App Purchases その二

http://selfkleptomaniac.org/archives/2032 を参考に実装してsandboxで一通り動いたー

ただ、 Auto-renewable Subscriptionsを試してみて結構ハマったのでまとめ。

receiptオブジェクトの中身はヘタに触るな

Auto-renewablの場合TiStorekit.purchase()のコールバックのパラメーターにくるevt.receiptを保存しておいて、時々TiStorekit.verifyReceipt()しないと自動継続された場合の期限が取れない。
で、このevt.receiptがTiBlobで来るうえに、中身をみると微妙にJSONじゃなかったりして一瞬どう扱っていいことやら。。ってなるんだけど、Base64でエンコードして保存、読み出したらデコードしてそのままTiStorekit.verifyReceipt()。これでオーケー。

TiStorekit.verifyReceipt()ではlatest_reciptが取れない

これはもしかしたら使い方が悪いだけなのかもしれないけど、「In App Purchaseプログラミングガイド」に書いてあるURLにPOSTしたらあっさり取れた。

POSTでverifyするときのパラメーターはJSON

var data = '{"receipt-data: ' + receipt + ', password: ' + p + '}';
xhr.send(data);

これで。あ、receiptはBase64した文字列ね。

sandboxは時間の流れがはやい

http://d.hatena.ne.jp/iRSS/20111028/1319763704 の人が書いてるのを見るまで、うまく行ったり行かなかったりすると思って悩んだ。。

そろそろsandboxは卒業かな?という感じなんだけど、Appをストアにのせる前に実環境でテストする方法がわかんねぇ。。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です