問題タブ [skproduct]

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

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

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

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

swift - Swift の SKProduct での NSCoding エラー

Realm に SKProduct を保存しようとしていますが、物乞いをしながら SKProduct を NSData に変換しようとしていますが、このエラーが発生していますTerminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[SKProduct encodeWithCoder:]: unrecognized selectorインスタンス 0x14f5cd200' に送信 *

私のクラス

別のクラスでアーカイブしようとしています

さまざまな方法で実行しましたが、結果は同じです。どうすれば修正できますか?

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

ios - ローカライズされたアプリ内購入のテスト

スキームを別の言語に設定してアプリを実行しても、テストで iTunes から受け取った SKProduct には影響しません。変更に影響を与えることがわかっている唯一の方法は、iTunes Connect で新しい Sandbox Tester User を作成し、テストしたいすべての言語の iTunes Store を作成することです。

次に、[設定] からデバイスにそのユーザーでログインしないでください。アプリを実行し、求められたらテスト ユーザーでログインします。

これにより、私の電話は別の国の App Store にデフォルト設定されました。

それでも、各 SKProduct の .localizedTitle、.localizedDescription、および .price をコンソールに出力すると、価格のみが異なる国の数字に変換されました。タイトルと説明は英語のままでした(私はアメリカで開発しています)。すべての言語は iTunes Connect で設定されています。

アプリ内購入をクリックすると、システム ポップアップが英語で表示されます。「アプリ内購入を確認してください」、次に「____ を ____ で 1 つ購入しますか?」「キャンセル」ボタンと「購入」ボタンはすべて英語です。最初の空白は、iTunes Connect で設定した表示名で埋められます。しかし、それはまだ英語版を使用しています。2 番目の空白には、テスト ユーザーのストアの言語で表示されている価格が入力されます。【別冊】日本語は円記号と価格を示しています。スペインはユーロ記号と価格を示しています。メキシコはペソ価格でドル記号を示しています。]

したがって、Sandbox Tester アカウントの価格のみが変換されます。テスト中に別の国の言語でタイトルを取得する方法を知っている人はいますか? アプリをローカライズした各国の人々に正しく表示されるようにするだけでなく、SKProducts のタイトルをアプリのボタンのラベルとして設定して、アプリ内購入を開始したいと考えています。 . Localizable.strings ファイルを介してこれらを設定することもできますが、iTunes Connect を介してその情報を既に入力しているため、SKProduct から取得することをお勧めします。

助けてくれてありがとう!

0 投票する
0 に答える
347 参照

ios - アプリ内購入の最初の SKProductsRequest が失敗します。

目的:実装を続行する前に、少なくとも IAP の存在を検証できることをテストしたいと考えています。つまり、テストする前にすべての IAP 機能を実装したくありませ

症状: を送信していSKProductsRequestます。コールバックはデリゲートに正しく到達しています。メンバーは空のresponse.products配列で、最初response.invalidProductIdentifiersに送信した IAP ID と同じです。SKProductsRequest

IDのスペルを再確認しました。私が行ったすべての手順については、以下を参照してください。これらを含めたのは、「何々をするのを忘れましたか?」のような善意のアドバイスを未然に防ぐためだけです。

質問: この呼び出しを成功させるために、アプリのレビュー (ベータ レビューまたはフルオン) を行う必要がありますか? オンラインの意見はさまざまです — 賛成、反対、あいまいです。ウィット:

アップロード不要: Ray Wenderlich のチュートリアル ( https://www.raywenderlich.com/122144/in-app-purchase-tutorial ) では、SKProductsRequest はアプリのアップロードやレビューなしで成功する必要があると具体的に述べています。

アップロードが必要: 別のスタック オーバーフローの質問 (アプリ内購入の 'SKProductsRequest' が正常な応答を生成しない) は、アプリを「送信」する必要があると述べています。(単に TestFlight 用にアップロードされたのではなく)レビュー用に提出されたとは言いませんが、これは暗示されています。この回答は正しいとフラグが立てられていますが、それを信じているかどうかはわかりません。

IAP プロセスの最初のステップをテストする前に、アプリのレビューを受ける必要があるのは間違っているようです。または、IAP の不完全な実装を送信できますか? それも間違っているように聞こえます。

Apple からのあいまいな情報: iTunesConnect IAP セクションの情報ボックスの文言は、光を当てるのではなく削除します。

最初のアプリ内購入は、新しいアプリ バージョンで送信する必要があります。アプリのアプリ内購入セクションからそれを選択し、[送信] をクリックします。

「それ」はIAPを意味すると思います。(indef. 代名詞の不適切な使用。) 私の IAP は IAP セクションにリストされ、黄色の「送信準備完了」注釈が付いています。選択すると (リンクでもある IAP の左側の名前をクリック)、IAP の特定のページに移動します。「送信」という正確なラベルの付いたボタンはありませんが、「レビューのために送信」というラベルの付いたボタンがあります。無効になっています。

情報ボックスの次の段落は、アプリのバージョンと IAP の組み合わせを確認する必要があることを暗示しているようです。

バイナリがアップロードされ、最初のアプリ内購入が審査のために送信されたら、次の表を使用して追加のアプリ内購入を送信できます。

アプリはアップロードするだけでよいが、IAP は*審査のために提出する必要があると書かれていることに注意してくださいSKProductsRequest。テストする前に、すべての IAP 機能を実装する必要があります。

補遺 — 手順:

  • IAP を有効にして AppID を作成しました。これは Dev Portal で確認しました。
  • PP 生成に Xcode の「Automatically manage signing」オプションを使用しています。Xcode は配布 PP を生成しましたが、開発 PP は生成しませんでした。(大丈夫だと思います。)
  • この PP の「有効なサービス」に IAP があることを Dev Portal で確認しました。
  • しかし...これが署名に使用されているPPであることをどのように知ることができますか? 新しい Xcode マネージド サービスを使用して、PP 設定は「自動」です。
  • iTunesConnect で IAP を作成しました。
  • IAP の ID が、製品固有の文字列が末尾にドットが付いたアプリ バンドル ID であることを確認しました。
  • タイプミスのない IAP の製品 ID を送信していることを確認しました。
  • IAP を作成してから 1 日待ちました。
  • Cleared for Sale チェックボックスをオンにしました。(IAP を作成した後、しばらくして「自分自身をチェック」しました。)
  • サンドボックス テスターを追加しました。
  • アプリの新しいバージョンをアップロードしました。(レビュー用ではなく、テスト用です。)
  • シミュレーターとデバイスの両方でアプリを起動し、この投稿の上部に失敗を示しました。
0 投票する
1 に答える
44 参照

swift - アプリ内購入の処理

私は調査しており、これが重複している場合は申し訳ありませんが、関連するものは何も見つかりませんでした;

からの取得に関して、価格設定の処理方法に興味があります

func productsRequest(_ request: SKProductsRequest, didReceive response: SKProductsResponse)

アプリが開かれるたびにこのメソッドを呼び出して、アップルから情報を取得する必要がありますか? それとも、UserDefaults に保存して、毎回そこから取得する必要がありますか?

また、オフラインのユーザーを処理する最も適切な方法は何ですか?

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

swift - IAP - スウィフト 3.0

Swift アプリの IAP を実行したいのですが、コードを介して intune に接続しようとすると、xcode に資格がありません。添付ファイルを参照してください。

iTunes Connectを接続するための私のコードは次のとおりです。

ここに画像の説明を入力

0 投票する
0 に答える
403 参照

ios - IOS Swift アプリ内購入 - [SKProductsRequest _handleReply:]_block_invoke

ユーザーがアイテムを購入しようとすると、アプリの Xcode クラッシュ レポートに次のエラーが表示されます。一部のユーザーはアイテムを購入でき、一部のユーザーは購入できないため、エラーは一般的なエラーではありません。

私のコードは以下です。エラーがどこから来るのか本当に理解できません。誰でも何か考えがありますか?

ありがとう、ボグダン