2017-03-13 4 views
8

私はレンガの壁にヒットしているように見えるが、基本的に私は私のアプリを持っていることは、ユーザーと作成アカウントページのログインページです。ユーザーが自分のアプリを開いて新しいアカウントを作成すると、その情報はFirebase Server(BaSS)に保存されます。リンゴのIDではなく、社内のユーザーに自動更新可能なサブスクリプションを結び付けるにはどうすればいいですか?

私の質問では、自分のアプリケーションからアカウントを作成したすべてのユーザーに対して、自分のアプリケーションを購読するオプションがあり、このサブスクリプションは自分のアカウント(apple id)。現在、ユーザーが私とアカウントを作成してサービスに加入すると、アプリケーションのすべての機能にアクセスできるという意味ですべてが機能します。

ただし、ログアウトして別のアカウントを作成すると、現在サブスクリプションがユーザーのapple idsに関連付けられているため、別のアカウントまたはそのアカウントでアプリケーションにフルアクセスできます。購入した人だけではありません。

私の質問は、各サブスクリプション/購入がApple IDにログインしていない社内ユーザーに結びつくようにすることです。永続使用

リンゴのドキュメントによると、(基本的にアプリへのアクセスは、彼らと自分のアカウントではなく、あなたのApple IDに依存パンドラまたはSpotifyはを、好き)独自のサーバー 領収書のコピーを特定の種類の資格情報または識別子と共にサーバーに送信すると、特定のユーザーに属する領収書を追跡できます。たとえば、ユーザーが電子メールまたはユーザー名とパスワードを使用してサーバーに自分自身を識別させることができます。 UIDeviceのidentifierForVendorプロパティを使用しないでください。このデバイスの異なるデバイスには異なるプロパティ値が設定されているため、別のデバイスで同じユーザーが行った購入を識別して復元することはできません。私はFirebaseを使用してそのようなことをやって行くだろうどのように

+0

あなたは、単一のアプリケーションのアカウントで&他のアプリアカウントのその後関連する単一の加入appleIdのように開発したいですか、それは制限されなければなりませんか? –

+0

基本的には、購入した商品をリンゴのIDに結びつけたくないのですが、自分のアプリで作成したアカウントに結び付けています。私は、ユーザーAがサブスクリプションをキャンセルし、ユーザBが再び同じアップルIDを使用してサブスクリプションは、OTIは同じまま購入した場合より良いアイデア –

答えて

3

取引はあなたがその購入のためのトランザクションの領収書を入手iTunesで完了します。この領収書には、購入に関するさまざまな情報が含まれています。この領収書はDBに保存することができます。この領収書には、「original_transaciton_identifier(OTI)」というフィールドもあります。この識別子は、Apple IDからの購入の一意のIDを示します。この一意の識別子をDBに格納し、最初に送信しているユーザーIDと照合します。

これで、ユーザーID AがOTI 11を送信した場合は、ユーザーAに対してDBに格納します。ユーザーBがログインして購入を復元しようとすると、更新された領収書がサーバーに送信され、この領収書は、あなたのDBに格納されているOTIと比較してください。何も見つからない場合は新しい購入を意味します。そうでなければ、この購入は誰に知られていますか?他のユーザーの方は、新しいiTunesアカウントで購入を試みてください。

+0

を与えるために、ユーザーの作成ページのスクリーンショットを追加しました。新しい購入BのOTIとDBのOTIを比較すると、結果はユーザAが購入したのに対し、実際はユーザBです。 –

+0

あなたのDBでは、ユーザーAはまだアクティブなサブスクリプションを持っているかどうか。 Aがアクティブなメンバーではなく、Bがアクティブなメンバーになろうとする場合、ビジネス要件に応じてサブスクリプションを許可するか、サブスクリプションを許可しないでください。 重要なことは、完全な情報を持っていることです。その情報を使って行うことは、自分が開発しているビジネスに完全に依存していることです。 –

+0

同意します。しかし、サブスクリプションがアクティブであれば、私たちが信頼できない場合があると思います。サブスクリプションが期限切れになると、アップルがユーザーに更新を請求しようとしている期間があります。その時点では、サブスクリプションはアクティブではありませんが、ユーザーはそれをキャンセルしていません。 –

関連する問題