2012-05-01 9 views
2

私はinApp Purchases Client - Sever Modelを持っているアプリケーションを持っています。複数のデバイスでの購入の復元

Restoration and Delivery of the Productsのトラッキングに問題があります。

私は製品を購入したユーザーのUDIDを追跡しており、サーバーはその製品をその特定のUDIDに配信しています。

Now if i want to restore the previous purchases on a different device, 
    how will i deliver the content? As my database has a different UDID? 

どのような基準で私たちはすべてのデバイスで購入できるように購入を追跡する必要がありますか?

答えて

0

あなたはUDIDを使用すべきではありません。アップルはあなたのアプリを拒否するかもしれません(プライバシー問題はhereです)。

問題に関連する:

なぜUDIDが必要ですか?復元プロセスでは、各トランザクションの領収書を受け取ります。このデータをサーバーに送信することができます。そこでは、Appleのサービスと照合することができます。正しい場合、サーバーはコンテンツをdeviveに配信します。 UDIDは必要ありません。

+0

私はAppleのUDID廃止予定を認識していますが、UDIDなしでユーザーのデバイスで購入をどのように配信できますか? – Hisenberg

+0

そして、同じApple IDを持つ異なるデバイスでの購入をどのように管理できますか? – Hisenberg

+0

サーバーとの領収書をチェックすると、これが応答として直接コンテンツを返します。おそらく、ダウンロードするデータを含むplistまたはJSONです。 UDIDは必要ありません。 –

0

次のようにこれを解決するには、次のようになります。彼らは何かを購入するとき

は、ユーザーのために(CFCreateUUIDと例えば)一意の識別子を生成します。このIDを領収書とともにサーバーに送信します。サーバーにレコードを格納します。この製品を別のデバイスで共有したい場合は、[他のデバイスと共有]ボタンをクリックする必要があります。メールが届くと、指定したメールアドレスにメールが送信されます。このメールにはyourapp:// id =というリンクが含まれています。ユーザーが別のデバイスでこれを開くと、サーバーに「復元」アクションが送信されます。指定されたIDのレコードをチェックし、ユーザーが最大5台のデバイスにしか復元できないように "リストア"カウンターを追跡します。

私は知っている...これはばかげているが、私はそれに対処するためのよりよい方法を見つけていない。 これが役立つことを願っています。

関連する問題