問題タブ [storekit]
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.
ios - iOS In App Purchase 消耗品ではない製品を新規購入するか復元するかを決定する
ユーザーが非消耗品を購入したとき、それを初めて購入したのか、それとも既に購入して無料で再度入手したのかを知る方法はありますか?
を確認transactionState
しtransactionDate
ましたが、どちらの場合もデータは同じです。
transactionState
:SKPaymentTransactionStatePurchased
(SKPaymentTransactionStateRestored
ユーザーがすでに購入している場合は除きます)transactionDate
: トランザクションが AppStore の支払いキューに追加された日付。
objective-c - インポート時の StoreKit フレームワーク「そのようなファイルまたはディレクトリはありません」
StoreKit フレームワークをインポートしようとしています。
BuildPhases にも追加されます。
しかし、「そのようなファイルまたはディレクトリはありません」というエラーが表示されます。
iAd Framework を比較してみました -> Works.
新しいプロジェクトを試して、StoreKit Framework -> Works を追加しました。
私は試した#import "/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/System/Library/Frameworks/StoreKit.framework/Headers/StoreKit.h"
StoreKit.hファイルをインポートしましたが、そのファイル内のすべてのインポートが「そのようなファイルはありません」というエラーをスローしました。
他にどこでエラーを探すことができるかわかりません。
objective-c - StoreKit で既に購入したサブスクリプション
iOS アプリのアプリ購入で更新可能なサブスクリプションを使用しています。ユーザーが支払い済みのサブスクリプションを購入しようとすると、iTunes から「現在、これをサブスクリプションしています」というメッセージが表示されます。
このイベントがいつ発生したかを検出して、トランザクションを処理し、アプリへのアクセスを許可する方法。
オブザーバーの paymentQueue:updatedTransactions: メソッドでは、SKPaymentTransactionStateFailed として通過します。このタイプの失敗と、ユーザーがキャンセル ボタンを押したなどの他の失敗をどのように区別すればよいですか?
返されたトランザクションを送信するか、restorePreviousTransactions を呼び出す必要がありますか。
Apple のドキュメントには、「ユーザーが非消費型製品または購入済みの更新可能なサブスクリプションを購入しようとすると、アプリケーションは復元トランザクションではなく、そのアイテムの通常のトランザクションを受け取ります。ただし、ユーザーは再度課金されません。アプリケーションは、これらのトランザクションを元のトランザクションと同じように処理する必要があります。」
iphone - inAppiPhoneアプリケーションで購入してiBookストアから本を入手する
inApp購入機能を追加する必要がある1つのiPhoneアプリケーションで作業しています。今、アプリ内購入で、iBookストアにすでにリストされている約20冊の本を追加する必要があります。これで、アプリ内購入を使用して支払うと、iBookストアから購入した本をアプリケーションに直接入れることができます。iBookストアから本を入手できるiPhoneアプリケーションで行うことは可能ですか?
誰かがこのことを知っているなら、私を助けてください。私はこのことに関連するものを見たことがありませんが、実装するのは本当に興味深いものです。
前もって感謝します。
iphone - アプリ内購入ユーザーがアプリをバックグラウンドで実行中に tx をキャンセル: tx 状態が購入中のまま
アプリがバックグラウンドにあり、ユーザーがまだストアにログインしていないときに、ユーザーがアプリの購入 (サンドボックス環境) でキャンセルすると、奇妙な動作が発生します。
プロセスは次のとおりです。
- ユーザーがログインしていない/設定 > ストアでアプリ ID が設定されていない
- ユーザーが購入ボタンをクリックします。これは
[[SKPaymentQueue defaultQueue] addPayment:payment];
- ユーザーがすぐにホーム ボタンを押す (アプリがバックグラウンドに移行する)
- Storekit ポップアップが表示され、購入の確認を求められます。ユーザーがキャンセル
- アプリが再びアクティブ化され、受信することが期待され
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
ますが、受信されません。TX はまだ購入状態にあります。
testuser がすでにストアにログインしている場合、このプロセスは異なります。その場合、上記のプロセスは期待どおりに機能します。
別のコメント: 上記の手順の後、実際に別のアプリ内アイテムを購入します (アプリストアへのログインを含む)。この後、アプリをバックグラウンドに送信して再アクティブ化すると、以前に欠落していたキャンセル トランザクションが処理されます。
結論: アプリがバックグラウンドにあり、ストアにログインしていないときにユーザーが支払い tx をキャンセルすると、storekit コールバックの配信が遅れます。ユーザーが実際にアプリストアにログインした後に配信が行われ、アプリの再アクティブ化によって PaymentQueue プロセスがトリガーされます。
この動作は間違っているようで、実際の環境で実際にそうである場合、これは Storekit のバグと見なすことができます。誰かが同じ動作を経験したことがありますか、または購入状態で tx が「ハング」するのを防ぐために何かを示すことができますか?
ありがとう、マーカス
iphone - ユーザーのアプリ内購入がAppleから返金されているかどうかを確認できますか?
状況:
-ユーザーがIAPを作成し、いくつかのコンテンツが付与されると、ユーザーがいつでもこのコンテンツにアクセスできるように、ユーザーのデバイスIDが保存されます。
-ユーザーはコンテンツが気に入らないと判断したため、Appleに電話して払い戻しを受けます。
-IAPの払い戻しを受けた場合でも、ユーザーは引き続きコンテンツにアクセスできます
問題:
ユーザーがこのコンテンツにアクセスできないようにする必要があります。これは、彼らが利用する抜け穴になる可能性があります。(コンテンツのロックを解除してから払い戻しを受け、そのコンテンツへのアクセスを維持します)
質問:
transactionId、transactionReceipt、またはその他の情報を使用して、ユーザーがIAPの払い戻しを受けたかどうかを確認する方法はありますか?
参考までに、StoreKitGuideを読みましたが、このケースについては触れていません。
iphone - StoreKit for iOS - サブスクリプションに関する質問
StoreKit
テスト アプリケーションで新しいサブスクリプション モデルを使用していますが、いくつか質問があります。
ユーザーがサブスクリプションをキャンセルした場合、これはどのように通知されますか? または、自分で日付を監視する必要がありますか (値を使用
transactionDate
)サブスクリプションがキャンセルされた場合、サブスクリプションの有効期限が切れ
ていれば、ユーザーはこの購入を復元できるようになりましたか?
ありがとうございました!
iphone - StoreKit サンドボックス テストでログインを求められない
1週間前には正常に機能していたアプリ内購入をテストしていますが、現在は機能しているようです。
問題なくストアから製品を読み込むことができます (製品 ID、価格などを確認するために NSLog を使用します...) が、製品を購入する実際の要求を送信するときに、ログインを要求されません。 (テスト) ユーザー アカウントの場合、エラー コード -1003 "iTunes ストアに接続できません" が返されるだけです。
1 週間前は機能していたのに、現在は機能していないため、これは奇妙です。さらに奇妙なのは、現在ライブの iTunes アカウントにログインしている場合に、(製品を購入するための) パスワードの入力を求めるプロンプトが表示されることです。
アプリがログインしている iTunes アカウントがあるかどうかをチェックしているように見えます。ログインしていない場合は失敗するだけです。無効にします。
誰かが私のためにこれに光を当てることができますか? できれば喜んでいただけます:)
ありがとう!
iphone - In-App Purchase response.products empty
以前に質問されたことは知っています: iPhone In App Purchase - response.products are still empty?
しかし、アプリ内購入も実装しようとしていますが、response.products は空です。私の状況:
バイナリをアップロードして一度拒否しました。
でもまたアップロード待ちの状態に戻してしまいました。
すべてのアプリ内購入製品のステータスは「送信準備完了」です。
本番ユーザーがサインアウトしています。テスト ユーザーはまだサインインしていません。
iphone - SKPaymentQueue canMakePayments は常に false を返します
アプリ内購入で 2 つ目のアプリを作成しています。最初のアプリではすべてがうまくいき、アプリ ストアにアップされていますが、2 番目のアプリで [SKPaymentQueue canMakePayments] を呼び出すと、常に false の結果が得られます。アプリ 1 と 2 の間で同じ手順を実行しました。他に確認する必要があることを誰か指摘できますか?
ありがとう