問題タブ [rmstore]
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 - RMStore ライブラリを使用して originalAppVersion を取得する
iOS 7 のみの製品を持っています。App Store の領収書を読み、元のアプリの購入日を確認したいです。私は RMStore ライブラリ ( https://github.com/robotmedia/RMStore ) を使用してアプリのレシートを読み取り、次のようにその情報を返しています。
注: 現在、RMStore ライブラリの他の部分は使用していません。
ほとんどの場合、これはうまく機能します。問題は、一部のユーザーにとって appReceipt.originalAppVersion が空の文字列であることです。現在の appVersion などの他のフィールドは問題ありません。SKReceiptRefreshRequest を実行した後、まだ運がありません。実際、SKReceiptRefreshRequest は、appReceipt.originalAppVersion を有効な文字列から空の文字列に変更することで、良い状況を悪化させることがあります。
この問題に遭遇したお客様には、アプリを削除してアプリ ストアから再ダウンロードするように指示しました。ほとんどの場合、これで問題は解決しますが、常にではありません。明らかに、ユーザーに再インストールを要求することなく、問題を回避したいと考えています。
アプリ ストアのレシート機能全体が非常に難読化されており、進行中のすべての暗号化と復号化を知らないため、この作業を RMStore に任せたいと思っていました。私は、サーバーに行かずに作業を行うための素敵な小さなローカル ライブラリが必要であり、RMStore はその条件に適合します。
これが RMStore ライブラリのバグなのか、アプリ ストアのレシート システムに固有の癖で回避策があるのかはわかりません。appReceipt.originalAppVersion が空であるというこの問題に RMStore を使用している人はいますか?
====== 更新: さらに調査すると、これは StoreKit の動作に問題があるようです。別のライブラリ DHAppleReceiptParser で問題を再現しました。問題が発生した場合、Apple サーバーは元のアプリのバージョン番号を返していないように見えるため、ライブラリはそれを取得しません。ただし、文書化されていない別のフィールド original_purchase_date が返されます (アプリの領収書ではなく、アプリ内購入の領収書についてのみ文書化されています)。検証のために iTunes サーバー (buy.itunes.apple.com/verifyReceipt) に直接問い合わせることができました。これはデバッグには役立ちますが、出荷製品にはお勧めできません。結果は次のとおりです。
問題の状況。これは私の顧客の約 1% に発生するか、SKReceiptRefreshRequest を実行した後に頻繁に発生します。「original_application_version」フィールドはありません。
アプリを削除し、iCloud の購入から新規インストールした後。「original_application_version」が登場!
「original_purchase_date」は、製品がいつ購入されたかを確認するためにより信頼できるようですが、Apple ドキュメントでは、基本的なアプリの領収書については言及されていません (IAP のみ)。
ios - RMStore を使用した iOS SDK 自動更新サブスクリプション - アクティブなサブスクリプションを検証する方法は?
RMStoreライブラリを使用して、iOS アプリで自動更新可能なサブスクリプションを操作しています。購入には問題なく機能しますが、現在のサブスクリプションがまだアクティブであることを RMStore で確認する方法に関するドキュメントが見つかりません。
購入した製品をチェックするコードはここでは機能しません:
このコードは、サブスクリプションが購入されたことを常に示しています (購入されたため) が、このサブスクリプションがすでに日付を過ぎているかどうかはチェックしません。
RMAppReceipe.hファイルにメソッド " isActiveAutoRenewableSubscriptionForDate " が表示されますが、アプリで RMStore を使用してサブスクリプションの領収書を取得する方法と、isActiveAutoRenewableSubscriptionForDateメソッドを使用してこの領収書を確認する方法に関するドキュメントが見つかりません。助けてください。
概要: サブスクリプション @"com.fanfun.apptestsubscription1" が今日 (現在の日付) に有効かどうかを確認する必要があります。この簡単なチェックのサンプル コードを提供してください。
ios - RMStore で使用される暗号化と、それを使用するアプリを App Store に正しくアップロードする方法は?
iTunes Connect を使用してアプリケーションをアップロードするとき、Apple はアプリケーションが暗号化機能を使用しているかどうかを指定するように求めます。
RMStoreが暗号化を使用する条件と、アプリを App Store にアップロードする際にこれらの質問にどのように答える必要があるか。
注:RMStoreを取得するためにココアポッドを使用しています
ios - Apple レシート デバイスのハッシュ検証
RMStore と呼ばれるレシート検証用の一般的なライブラリのコードを使用して、レシートがこの特定のデバイス用であることを検証しようとしています。
しかし、2 つのハッシュは等しくありません。コードに何か問題がありますか?
編集
一度領収書を取得した後、ハッシュが一致し始めます。これは私が見た中で最も奇妙な行動です。なぜこれが起こるのか誰にも分かりますか?
objective-c - レシートをiCloudに渡す
RMStore のアプリの領収書を使用して、更新されていないサブスクリプションを確認しています。この領収書を iCloud に送信しようとすると、次のエラーが表示されます。
コードは次のとおりです。
何か案は?
ios - iOS で最初に購入したアプリのバージョンを取得する
私はすでにこれに関するいくつかのスレッドを読みましたが、満足のいく解決策には至りませんでした.
iOS7 前後の元のアプリ バージョン (ユーザーがアプリをダウンロードした時点から) を受け取りたいです。iOS7 では、バンドルの領収書をデコードできます。しかし、iOS6以前はどうですか?
現時点ではRMStoreを使用していますが、(サンドボックス?) レシートを見つけることができませんでした。どうすればいいですか?
ios - RMStore オフライン領収書確認
RMStore
( https://github.com/robotmedia/RMStore )を使用したオフラインの領収書の確認について 1 つの質問
アプリの起動時に、アプリに有効なアプリ購入(PROバージョン)があるかどうかを確認します(私のアプリはiOS7のみです)
私はそのようにします:
私はまだ App Store にバージョン 1.0 を持っています... でも、すぐにアップデートしたいのですが... これは、App Store のアップデート後も動作しますよね? アプリにはまだレシートが残っているので、検証はパスするはずですよね?
アプリ内購入のテストは本当に簡単ではなく (特に更新など)、何かが失敗するとユーザーが腹を立てるのでお願いします....
ios - RMStore アプリ内購入の復元
アプリ内購入の「復元」のいくつかの側面に混乱しています。私の状況の簡単な要約: 有料アプリがストアにあり、ios6 と ios7 をサポートしています。「プロ アップグレード」のアプリ内購入で、フリーミアム モデルに移行したい。そのため、元のインストール バージョンの確認とアプリ内購入の復元という 2 つのレシート機能が必要になります。有望な RMStore を見つけましたが、まだいくつか質問があります。
アプリ内購入を復元するためにrestoreCompletedTransactionsを呼び出すという多くの例(RMStore以外の例)をオンラインで見ますが、RMStoreにはRMAppReceiptメソッドcontainsInAppPurchaseOfProductIdentifierがあります。RMStore を使用している場合、restoreCompletedTransactions を呼び出す必要がありますか?それとも、上記の RMAppReceipt メソッドを使用して以前のアプリ内購入を確認できますか?
上記の RMStore メソッドを ios6 で使用できますか? それともios7のみですか?iOS7またはそのようなものでのみ利用可能な「統一されたレシート」を示唆する情報をオンラインで見ます。
RMStore 以外に固有の質問: レシートの検証は必須ですか、それとも単に推奨されるだけですか? つまり、領収書の検証をスキップした場合、上記は機能しますか、それともアプリストアは検証コードなしで拒否しますか?