2013-04-29 10 views
6

InappBilling v3を使用してサブスクリプション機能を持つアプリケーションを開発しています。アプリケーションにアクセスするためのログインメカニズムがあります。ユーザー 'X'が機能に加入してログアウトした場合。ユーザー 'Y'が同じデバイス内のアプリケーションにログインし、ユーザーが購読しようとすると、Google Playはその商品が既に購入済みであることを知らせます。サブスクリプションは、デバイスに同期されたアカウントに基づいており、アプリケーションにログオンしているユーザーに基づいていませんか?もしそうなら、私のシナリオをどのように実装することが可能ですか?シングルデバイスで複数のユーザーがいるアプリケーション - Inapp Billing Subscription

+0

この問題を解決する方法を見つけましたか?私は私のアプリで同じprobleに直面している。 – appLogic

答えて

3

Google Playアプリ内課金の定期購入はGoogle Playアカウントに限定されています。長い間、Googleのアカウントは変更されていないので、購読はこのアカウントで有効とみなされ、もう一度購読することはできません。

Googleアカウントシステムを自分のアカウントに置き換える場合は、Google Playを「不正行為する」必要があります。あなたができることは、複数の異なるアプリ内課金サブスクリプション(サブスクリプション#1、サブスクリプション#2など)のプールを作成することです。あなたが購読するときは、developerPayloadフィールドに追加のパラメータとして自分のログイン情報を渡します。

現在利用可能なすべてのサブスクリプションを列挙すると、developerPayloadフィールドに現在のユーザーアカウントがあるかどうかがチェックされます。そうでない場合は、現在のユーザーにはサブスクリプションがなく、作成したサブスクリプション(サブスクリプション#1、サブスクリプション#2など)のサブスクリプションから未使用の最初のサブスクリプションを使用してサブスクライブすることができます。プール内の購読数が、同じデバイス上のユーザー数よりも多いことを確認してください。

これは簡単な方法ではなく、あなたの状況に合ったワークアロングを見つけるためのチートです。

+1

この場合、お金はプライマリユーザーのアカウントから差し引かれます。これは、他の誰かが支払うことになるユーザーのいずれにも受け入れられません。それについて考える。 – Ankit

1

現在Google IABは、1つの端末で1つのアカウント(端末のプライマリGmailアカウント)のみをサポートしています。しかし、Android 4.2からはマルチユーザ機能が利用でき、GoogleではIABを同じようにサポートしています。

+0

これはまだ4年後、ノーガットでもそうですか? –

+1

まだわからないがプレイストアのアプリユーザーはGmailアカウントを変更でき、このユーザーアカウントに基づいて機能します(アカウント履歴に基づく提案もあります)。 – Ankit

関連する問題