Maccle

Titanium SDK 1.8以上のアプリ内課金は公式のTi.StoreKitを使いましょう

約 3 分
Titanium SDK 1.8以上のアプリ内課金は公式のTi.StoreKitを使いましょう

前回の記事で、Titanium SDK 2.0.2.GA 環境に、masuidriveさんが提供しているTiStoreKitモジュール(※Appcelerator公式のTi.StoreKitとは違います)を入れたときのビルドエラーについて言及しましたが、プロジェクトのコンパイルでエラーになる!

どうやら、このIn-App Purchase用のモジュールは不安定で、Titanium 1.7以降はまともに動作しないらしい。。

他にないかと調べていたら、普通にAppceleratorのマーケットプレイスで公式のStoreKitが今は無償で提供されているじゃないか!

というわけで、Titanium SDK 1.8以降でiOSのアプリ内課金機能を使うには、素直にこちらの公式ストアキットモジュールを使いましょう。

公式StoreKitモジュールはこちら

Ti.StoreKitモジュールのインストール

  • ダウンロードしたモジュール(ti.storekit-iphone-1.5.zip)を解凍。
  • “ti.storekit-iphone-1.5/modules/iphone/ti.storekit”のフォルダごと、Titaniumのモジュールフォルダ(“$HOME/Library/Application Support/Titanium/modules/iphone/“)内にコピー。
  • Titanium Studioを起動し、新規プロジェクトを作成するか、既存のプロジェクトの “tiapp.xml” を開き、”Modules“項目から “ti.storekit” モジュールを追加。
  • iTunes ConnectでApp IDとプロビジョニングプロファイルを作成してないときは、事前に作っておく。手順はこのページを参考に!
    ※In-App Purchaseの設定とテストユーザーの作成も忘れずに!
  • $HOME/Library/Application Support/Titanium/modules/iphone/ti.storekit/1.5/example/app.js” の内容を参考にプロジェクトの “app.js” にアプリ内課金のコードをペースト。
  • app.jsか、適当なトリガーでIn-App purchase用の要求をコールしてみる。
    Ti.Storekit.requestProducts([‘In-app purchase用ID-1’,’In-app purchase用ID-2, …], callback);

もう少し具体的にはこんな感じ。

About The Author

某IT系なんちゃってエンジニアヨーダ
Apple好きだけど盲目マカーは気持ち悪いと思ってる中道だと思い込んでるしがないダメダメエンジニア。

今もってるApple製品↓
Macbook Pro 15 inch, iMac 27 inch (Late 2009), iPhone 6 Plus, iPad (初代! いらない!)
Follow :

Comments & Trackbacks

  • Comments ( 2 )
  • Trackbacks ( 0 )
  1. はじめまして。Ti.StoreKitの追加について詳しい記事をありがとうございます。
    とても助かりました。

    ところで、実際にリリースする際にsandboxではなく本番を参照するように設定したいのですが、

    Storekit.receiptVerificationSandbox = false;

    としても[Environment:sandbox]の表示が消えません。
    何か良い方法をご存知ないでしょうか?

    突然の質問で申し訳ないのですが、ご存知のようでしたら教えていただければ幸いです。
    よろしくお願いします。

    • > hohtaさん

      コメントありがとうございます。

      [Environment:sandbox]の表示は、デバッグモードでビルドしている場合に表示されるので、リリース用にバイナリをアップロードしたものには自動的にサンドボックスが無効化になるはずですよ。
      (※逆に、デバッグ環境ではサンドボックスモードでないとエラーがでます)

Leave A Reply

*

Comment On Facebook