問題タブ [in-app-purchase]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
20 に答える
49136 参照

ios - iPhone アプリ内購入ストア キット エラー -1003 「iTunes Store に接続できません」

アプリ内購入の追加に取り組んでおり、ストア キットを使用してアプリ内購入を作成およびテストすることができました (やった!)。テスト中に、購入中にアプリがクラッシュするような方法でアプリを実行しました (そのため、paymentQueue:updatedTransactions を受け取り、finishTransaction を呼び出す通常のサイクルが中断されたと思います)。

現在、トランザクションを正常に完了することができず、代わりに paymentQueue:updatedTransactions が呼び出されたときに transactionState SKPaymentTransactionStateFailed のトランザクションのみを取得しています。

transaction.error.code は -1003 で、transaction.error.localizedDescription は「iTunes Store に接続できません」です!

iTunesConnect からすべての製品を削除して、別の識別子を使用して再構築しようとしましたが、解決しませんでした。また、App Store アプリを使用して実際の App Store に実際に接続し、いくつかのアプリをダウンロードして、接続できるようにしました。最後に、Settings:Store アプリにアクセスして、通常のアプリ ストア アカウントからサインアウトしていることを確認しました。

0 投票する
3 に答える
3309 参照

iphone - SKPayementQueue:トランザクションの復元は、リリース構成で「updatedTransactions」を呼び出さずに終了しますが、デバッグ構成では終了しません

トランザクションの復元をデバッグしていますが、デバッグ構成ではすべてが正常に機能します。

IE私は呼ぶ:

しばらくして、queueCalls:

その後、次のように呼び出されます。

そして誰もが幸せです。

しかし、私のリリース構成では、updatedTransactionsの呼び出しが表示されないため、実際に購入を復元することはありません

復元を試みた後、機能しない可能性があります。アプリケーションを再起動しましたが、ストアに製品リストを要求しても応答がありません。

0 投票する
2 に答える
1830 参照

iphone - アプリ内購入の製品 ID を作成する方法

iPhone アプリのアプリ購入をテストしようとしています。テスト ユーザーをセットアップする方法はわかりますが、使用できる製品 ID を作成する方法がわかりません。アプリをテストせずにアプリ ストアに提出したくないのですが、アプリ購入で管理するには提出する必要があるようです。私は何を間違っていますか?

0 投票する
3 に答える
20384 参照

iphone - アプリ内購入に restoreCompletedTransactions を使用するのはいつですか?

非消費型のアプリ内購入がある基本的なアプリの場合、SKPaymentQueue を使用するためのベスト プラクティスを見つけた人はいrestoreCompletedTransactionsますか?

観察

アプリに戻る保留中のトランザクションを受け取るために、常にトランザクション オブザーバーを登録することをお勧めしますが、これは別の問題です。restoreCompletedTransactions顧客がすでに行ったすべての購入をポーリングするために呼び出すタイミングを、アプリが積極的に決定する必要があるようです。

私が知る限り、このメソッドは失われた可能性のある購入を取得するように設計されています。たとえば、顧客がアプリを新しいデバイスにインストールまたは移動すると、以前の支払いに関するアプリのローカル レコードが失われたりリセットされたりする場合があります。

懸念

私には明確でないのは、この状態を信頼できる方法で自動的に検出する方法 (つまり、未購入の購入をいつポーリングするかを決定する方法) です。これを台無しにして、顧客が既に支払った機能へのアクセスを拒否するリスクを冒したくありません.

同時に、restoreCompletedTransactions安全のためにアプリが起動するたびに電話をかけたくないし、基本的には99.9%の確率で既に知っているトランザクションを取り戻します. (アプリ内購入を除いて、私のアプリは実際にはネットワーク接続を必要としません。)

ノート

Apple のドキュメントでは、顧客が既に行った消耗品以外の購入について再度請求されることはないことを明確にしています。再購入しようとしても、支払いトランザクションは引き続きアプリに送信されると思われます。

最悪の場合、顧客はこの方法で購入を取り消すことができますが、それでも、既に支払ったものを再度購入するような道を歩むことは避けたいと思います.

0 投票する
1 に答える
242 参照

iphone - アプリでアップデートを購入しますか?

アプリに自己更新機能を追加するには、どのパスをたどればよいかアドバイスが必要です。

定期的に更新する必要がある情報でいっぱいのデータベースを使用するアプリを App Store で入手しました。これまでは、新しいバージョンをストアにプッシュしたときにのみデータベースを更新していました。データベースをより迅速に更新する機能が必要です。必要に応じてアプリケーションが更新されたデータベースを取得できるようにする機能を組み込む準備をしています。

私の質問ですが、ストア キット フレームワークはこの種のものに使用できますか、または使用する必要がありますか? 私はそれを自分で構築するつもりでしたが、車輪を再発明したくありませんでした. これに関するAppleの見解は何ですか?データベースは、データセットを最新の状態に保つために更新するだけで、新しい機能は提供しません。

アドバイスをありがとう。

0 投票する
4 に答える
6177 参照

iphone - アプリ購入テストが機能しません

アプリ内購入で成功したことはありません。無料アプリのバイナリを送信しましたが、バイナリを拒否しました。お試し商品を追加しました。テスト製品TAP001を承認しました。

コード例に従っても役に立ちませんでした。「com.companyname.appid.TAP001」と「TAP001」の両方を使用して SKProducts リクエストを行います

とにかく、私が送信した製品文字列を含む空の response.products と response.invalidProductIdentifiers を取得します。

テスト ユーザーを作成しましたが、製品情報を取得できないため、テスト ユーザーはまだ実際には機能していません。

アプリ内購入はデバッグ ビルドまたはリリース ビルドでテストできますか? それともディストリビューションである必要がありますか?

アプリ購入でテストする前に、アプリストアで完全に承認されたアプリを持っている必要がありますか?

プロセスをテストしようとしているだけで、実際のアプリはまだありません。私はすべての銀行情報と税金情報を記入するところまで行きました。アプリのドキュメントの手順に従いましたが、明らかに何か間違っているか不足しています。

ありがとう

0 投票する
1 に答える
316 参照

iphone - アプリ内購入を回避できますか?

私はオンライン ストアを持っていますが、審美的および技術的な理由から、顧客に iPhone アプリを提供したいと考えています。Apple は、Apple 経由ではなく、私と顧客との間で直接取引を行うために、InApp 購入メカニズムを使用せずに「今すぐ購入」ボタンまたは同様の購入方法を使用することを許可していますか? ご意見ありがとうございます。

0 投票する
4 に答える
5797 参照

iphone - In App Purchase 証明書の問題を確認する

以下のような回答をいただいています。

Base64 のみを使用してレシートをエンコードしています。

サンドボックスでテストしています。

何が問題になりますか?誰でも私を助けることができますか?

0 投票する
2 に答える
401 参照

iphone - アプリ内購入コンテンツに iTunes アカウントごとの DRM を実装することは可能ですか?

Apple が購入から返す領収書には、コンテンツを購入したユーザーの iTunes アカウント情報が含まれておらず、特定のデバイス UUID が iTunes アカウントに属しているかどうかを Apple に確認させる方法もないようです。

ユーザーがコンテンツを一度購入すると、iTunes アカウントに関連付けられたすべてのデバイスですべてのコンテンツを使用できるようにする安全な DRM システムを実装する方法はありますか?

レシートやなりすまし情報を再生する方法があるとしても、私はそれを安全な DRM システムとは考えていません。

この質問、およびその後の私の回答とそのコメントは、これについての私の好奇心を刺激しました。