問題タブ [receipt-validation]

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 投票する
0 に答える
923 参照

ios - iOS の RMStore でサブスクリプションの自動更新の通知を受け取る方法

私の iOS アプリでは、自動更新サブスクリプションを使用しました。クロスプラットフォームのソリューションが必要です。製品の購入に iOS の RMStoreを使用しています。

現在のシナリオでは、サーバーへの更新の有効期限よりも最新のレシートを取得didFinishLaunchingWithOptionsし、AppStore に対して検証しています。RMStoreAppReceiptVerifier両方のプラットフォーム (iOS と Android) から常にサーバー データを更新します。そして iOS 側からは、アプリを起動するたびにレシートを確認する必要があります。支払いが更新されたときにプッシュ通知を受け取るのはいつですか? 可能であれば、その時点でサーバー データを更新しました

Q-1)新しい更新プロセスが完了したことを確認するにはどうすればよいですか?

Q-2)ユーザーが iTunes から自動更新サブスクリプションをキャンセルした場合、データベースを更新できるように通知するにはどうすればよいですか? ユーザーが更新したかどうかを確認するために期限切れのサブスクリプションをチェックするデーモンが必要ですか?

Q-3) iOS で。別のデバイスからログインした場合、別のデバイスからの受信を確認するにはどうすればよいですか?

サーバーデータベースを使用して、クロスプラットフォームで自動更新サブスクリプションを処理するにはどうすればよいか教えてください。誰かが私を助けてくれることを願っています。ありがとう!

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

ios - iOS で Apple AppStore のアプリ内レシートが空になるのはなぜですか?

アプリケーションでは、自動更新可能なサブスクリプションの購入を実装する必要があります。ドキュメントを理解しているので、アプリの起動時に AppStore の領収書を確認し、その領収書をサーバーで検証する必要があります。私のコードでは、領収書を取得するために次のことを行います。

時々receiptゼロになっています。例えば:

  • アプリを起動して購入しました。その後、上記のコードは non empty を返しますreceipt
  • アプリは Xcode で停止します。
  • 次回のアプリ起動時receiptはゼロです。

なぜこれが起こるのかわかりません。receiptURLレシート付きファイルを指しますが、[NSData dataWithContentsOfURL:receiptURL]nil を返します。

領収書の更新を要求すると、アプリは Itunes 資格情報を入力するためのダイアログを表示します。このダイアログはアプリの起動時に表示され、これは予期しない動作であるため、これは好ましくありません。

私は何か間違ったことをしていますか?それとも、これはサンドボックス固有のケースですか?

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

ios - 領収書の検証 - アプリの削除後も領収書は維持されますか?

アプリ ストアでレシートを検証するプロセスで、レシート データがバンドルから抽出されます。ユーザーが購入し、アプリを削除してから再インストールした場合、レシートはまだバンドルに含まれていますか? それがどうなるかわからない。

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

ios8 - アプリ購入の検証で消耗品

最近、消耗品のアプリ内購入のみを行うアプリをリリースしました。多くの偽の購入に気付きました - 無効なレシートと「有効な」レシートを使用した購入ですが、Apple からの検証応答の「in_app」配列は空の配列です。ユーザーがそのような「有効な」領収書をどのように形成しているかを知る必要がありますか? アプリ内購入の領収書ではなく、アプリのダウンロードの領収書ですか?現在、検証のために次のチェックを入れています。Apple からの json 応答で「in_app」フィールドを抽出し、空でない場合は、product_id が一致するかどうかを確認します。このチェックで十分なのか、それともより優れたフールプルーフチェックなのかを知る必要があります。

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

ios - iOS - 「購入が成功しました」というメッセージの表示を遅らせて、検証レシートが完了するまで待つ方法

私は検索しましたが、メッセージを表示する遅延を作成する方法が見つかりません:「購入は成功しました」検証レシートが完了するまで待つ.

行を引用しようとしましたSKPaymentQueue.defaultQueue().finishTransaction(transaction as! SKPaymentTransaction)が、メッセージは引き続き発生します。

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

ios - 元のビルドまたはアプリ (アプリ内購入ではない) が購入された日付を確認する方法

私のアプリは現在有料アプリです。アプリを IAP 付きの無料アプリに変換したいと思います。おじいさん (アプリの料金を支払ったすべてのユーザーに) IAP 機能を無料で提供します。領収書の検証を使用して、(1) アプリの元の購入日を特定できると思いましたが、これは IAP でのみ利用できるようです。または (2) 元のアプリケーション バージョンを使用します (アプリ バージョンではなくビルド バージョンのようです)。ただし、これを testflight でテストすると、元のバージョン番号は常に「1.0」です。さまざまなソースによると、これはテストフライトの問題であり、リリース アプリはアプリが購入された日付のビルドを正しく識別します。https://forums.developer.apple.com/message/42107#42107 私はこれがスタックオーバーフローで対処されているのを見たことがありません - アプリの購入日を見つけることに関する質問の多くは、iOS 7 での領収書の検証前であるか、アプリの最初の購入ではなく、アプリ内購入に適用されます

正しい軌道に乗っているかどうかを確認するために、関連する 3 つの質問があります
。つまり、バージョン 1.30 以前を購入したユーザーは、最新のビルド 2.0 と比較することで識別でき、元のバージョン番号が 2.0 未満のユーザーには IAP 機能への無料アクセスを許可できます。

質問 2: testflight を使用するなど、アプリがリリースされる前にコードをテストする方法はありますか?

質問 3. 既存のユーザーに返済させることなく (新しいデバイスにアプリをダウンロードした場合でも)、アプリをフリーミアムに変換する他の方法はありますか?

Receigen を使用してレシート データを取得し、モデルをテストしました。Receigen は、元のバージョン番号のテストは nil または 0 のいずれかであると述べていますが、アプリがリリースされたときにこれが修正されるかどうかは述べていません。

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

ios - iOS テスト アプリ レシート検証

サンドボックス テスター アカウントを使用してアプリ内購入の領収書の検証をテストする方法については、多くの例があります。

しかし、有料アプリ自体の領収書はどうですか?開発環境で App Receipt を取得するにはどうすればよいですか?

やりたいことは次の2つです。

  • アプリを購入していないユーザーによる当社アプリの不正コピーを防止するため。私が見たように、iTune アカウントが接続されていることを検出したアプリはアプリを所有していません (アプリを所有していないユーザーに警告が表示されますが、ユーザーがアプリを使用し続けることを停止できません)。

  • アプリの購入レシートをサーバーに送信します。彼らが私たちのアプリをいつ購入したか、彼らが持ってきたアプリのバージョンを知りたいのです。