2

私は当初自分で開発したものではないプロジェクトに取り組んでいます。このプロジェクトは、アプリ内購入が多いiphoneアプリケーションであり、これらのアプリ内購入はアプリ内に保存された大きな画像です。これらの画像により、アプリのサイズが大きくなります(〜70 Mb)。このアプリはiOS4.x以降と互換性があります。

iPhone5とiOS6の発売に伴い、同社はiOS 6と互換性のあるまったく新しいアプリケーションを作成し、以前のバージョンのすべてのレガシーサポートを残したいと考えています。この新しいバージョンでは、アプリ内購入画像がAppleサーバーに保存され、アプリのサイズが3Mbに減少します。しかし一方で、アプリ内購入を購入した人を捨てたくないので、ユーザーが古いバージョンから新しいバージョンに購入を転送できるスキームを作成したいと考えています。

これは私たちの側にサーバーを置き、アプリケーションとデータベースをセットアップすることで達成できることを私は知っていますが、現在の限られた予算ではこれを禁止しています。それで、アプリケーションとiCloud(またはApple側のもの)だけを使用してそれを行う方法はありますか?

これを使ってこれを行うことができるかどうか疑問に思いました。つまり、Key-Valueストアのものを使用してこれを行うことはできますか?言い換えれば、2つのアプリが同じcom.apple.developer.ubiquity-kvstore-identifierを持つことはできますか?

ありがとう。

4

1 に答える 1

1

ユーザーが両方のアプリをインストールしている場合は、あるアプリから別のアプリにデータを簡単に転送できますが、購入したアプリをあるアプリから別のアプリに転送することはできません。

ある種のアクションまたは新しいアプリへのリンクをサポートするようにレガシーアプリを更新してから、古いアプリ内から新しいアプリを開き、UIApplication openURL:アップグレードに関するメタデータを渡す必要があります。

次に、新しいアプリ内から、アプリの代理人がアプリのdidFinishLaunchingWithOptions:起動に使用されたURLを受け取り、購入したものをダウンロードできます。

この機能は、info.plist設定である新しいアプリのURLスキームを登録することでサポートされます。

古いアプリと新しいアプリの間での上記の購入メタデータの転送で発生する問題は、StoreKit / Appleを介して購入を復元できないという事実です(上記のように、転送はできません) 。

新しいアプリのアプリ購入SKUが2つある場合は、この問題を回避し、既存の顧客に購入を復元する機能を提供できます。

1つのアイテムは、新しい顧客が支払う必要のある通常のアイテムです。もう1つのアイテムは同じですが、既存の顧客が「購入」する場合は0ドルなので、古いアプリなしで将来復元できるように、StoreKit/Appleに購入を登録します。

上記の方法でアップグレードした場合、新しいアプリは、既存の顧客に対してこの$0オプションを条件付きで表示できます。

于 2012-09-14T02:10:40.883 に答える