11

アプリケーションに毎月のサブスクリプションを実装して、Web サーバーでユーザーをアクティブにしました。プロジェクトにサブスクリプション コードを正常に実装しました。ユーザーが Google Play ストアの My App プロファイルからサブスクリプションをキャンセルした場合、ユーザーを非アクティブ化したいと考えています。document-1およびdocument-2に従って、ユーザーがサブスクリプション製品をキャンセルした場合に製品サブスクリプションの詳細を取得する実装を実装しました。

何が問題ですか?

ドキュメントによると、サブスクリプション製品の購入をテストできません。そのため、署名済みのビルドをクライアントに渡し、クライアントはクレジット カードと実際の製品の購入を使用して確認します。しかし、サブスクリプションがユーザーによってキャンセルされたときにクライアントが受け取る応答をテストするにはどうすればよいでしょうか?

キャンセルする製品の場合: アクセス トークンを毎日取得するサービスを配置し、validUntilTimestampMsec が 0 より大きいことを確認してから、autoRenewing フラグが false であることを確認するか、両方が true の場合はユーザーを無効にします。しかし、この論理が正しいか間違っているかはわかりません。

if (validUntilDateInMilli > 0) {
    if ((System.currentTimeMillis() > validUntilDateInMilli)
                        && (!autoRenewingFlag)) {
        // call web service to deactivate user

        new AsyncTaskDeActivateBusinessOwner().execute();
    } 
}

以下に示すように、開発者 APIの公式ドキュメントからのみこの応答を得ました。

{
  "kind": "androidpublisher#subscriptionPurchase",
  "initiationTimestampMsec": {long},
  "validUntilTimestampMsec": {long},
  "autoRenewing": {boolean}
}

Google と StackOverFlow で検索した内容によると、以下の条件に対する応答を見つけたドキュメントはありません。

what is the response 

1) if the user currently has the subscription and 
2) if user has cancelled subscription(in 15 days) or if subscription cycle is completed.

サブスクリプションのエンドツーエンドの購入をテストし、Google 開発者 API からサブスクリプション validUntilDate をキャンセルした人は誰でもしてください。

どんな助けでも大歓迎です。前もって感謝します。

4

1 に答える 1