Help us understand the problem. What is going on with this article?

アプリ内課金の追加

More than 3 years have passed since last update.

「SenchaTouch + Cordova」のiOS、Androidアプリ開発ではまったことを少しメモする。

プラグイン追加

iOSのみ対応する場合:

$ cd cordova
$ cordova plugin add cc.fovea.cordova.purchase

Androidも対応する場合:

$ cd cordova
$ cordova plugin add cc.fovea.cordova.purchase --variable BILLING_KEY="ライセンスキー"

参考元:https://github.com/j3k0/cordova-plugin-purchase

iOSの実装メモ

問題1

fatal error: '''Foundation/Foundation.h''' file not found

解決:

StoreKit.frameworkが正しくリンクされていませんでした。
Xcode6.1 -> Xcode6.1.1 へアップデートすることで解決

問題2

問題1の影響かもしれないですが、
Build Phases -> Compile Sources -> InAppPurchase.m が正しく追加されていません。
※ Xcode6.1.1更新後に、別のアプリだったら問題ありませんでした。

解決:

手動で InAppPurchase.m を追加しました。

Androidの実装メモ

問題1

認証エラー:<認証が必要です。Googleアカウントにログインしてください。>

解決:

開発者以外のアカウントで試すとうまくいった。

Javascript側の簡単なサンプル

複数登録の際に、参考元にある registerProducts メソッドがなぜかうまく動作できず、下記のように一個一個登録します。

// イベント登録
document.addEventListener('deviceready', initializeStore, false);

function initializeStore() {
    // 購入登録
    store.register({
      id: "product.id1",
      type: store.CONSUMABLE
    });
    store.register({
      id: "product.id2",
      type: store.CONSUMABLE
    });

    // 購入完了イベント
    store.when("product.id1").approved(function(product) {
        product.finish();
    });

    // プレミアムチェック
    store.when("product.id1").updated(checkIsPremium);

    // エラーハンドリング
    store.error(function(e){
        console.log("ERROR " + e.code + ": " + e.message);
    });

    // 準備完了
    store.ready();

    // 更新
    store.refresh();
}

// プレミアムチェック 個別
function checkIsPremium(product) {
    if (product.owned) {
        window.isPremium = true;
    } else {
        window.isPremium = false;
    }
}

// アイテムの購入方法
store.order("product.id1");

// アイテムの復元方法
store.restore();

実装済みアプリ

itmarlin
いろんな技術を利用し、良いアプリを作成したい! そして、アプリを通して皆様のお役に立ちたい! 自分が困った所を共有し、みんなでいいものを作り上げて行きましょう。
http://www.itmarlin.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした