API V2 を使用した携帯電話の Android アプリ内購入を実装してテストしました (サブスクリプションも実装する必要があるため)。実際には、アプリは公開されておらず、ドラフト ステータスのみです。
私はすでに購入をテストしましたが、完全に機能します。
通知システムについて質問がありますが、実際には理解できません。
1) 最初の質問
私は同じ Google アカウントを持つ多くのデバイスを持っています (そのため、同じ購入アイテムを共有しています)。デバイス A のアプリからアイテムを正しく購入しましたが、他のデバイス B には通知されていません。
デバイス B で Google Play からの通知を待つ必要がありますか? 私が2番目のケースにいる場合、解決策はどれですか? アプリを起動するたびに RESTORE_TRANSACTION を実行しますか?
問題 1 の更新ソリューション: 問題は、私の Google アカウントが開発者コンソールのテスト アカウントでもあったことだと思います。テストリストからアカウントを削除して実際にテストしたところ、うまくいきました。
2) 2 番目の質問
返金制度も試してみました。購入したアイテム (マネージド アイテム) を開発者コンソールから返金しましたが、REFUND イベントが発生しません。なんで?
アプリをアンインストールして再度インストールすると、RESTORE_TRANSACTIONS は、払い戻したアプリ内がまだ PURCHASED 状態であることを示しています。私は何を間違えましたか?
更新: サブスクリプションは十分に払い戻されました (期限切れではなく、払い戻されたばかりです)。マネージド アプリ内購入のステータスはまだ [購入済み] のままですが、デベロッパー コンソールでは払い戻しを行い、注文をキャンセルしました。なぜまだ購入状態なのですか?
3) 3 番目の質問
ユーザーがサブスクリプションを作成すると、有効期限が切れます。Google は SUBSCRIPTION_EXPIRED イベントをアプリに送信しますか、それとも常に RESTORE_TRANSACTION を実行する必要がありますか?
4) 最後の質問
サブスクリプションを返金しましたが、返金のイベントが送られてきました。実際にはサブスクリプションは月末まで有効なので、月末からユーザーにサブスクリプション サービスを提供する必要があると思います。それ以降、ユーザーが再請求しない場合は、 SUBSCRIPTION_EXPIRES イベント。
私は正しいですか?
ありがとう、エマヌエーレ。
更新:部分的な回答、別の質問、および詳細で更新されました。