5

iOS のアプリ内トピックについて、できる限りのことを読んで検索しました。少なくとも Google から (無限のアプリ内ハッキング リンクを差し引いて)。私が見つけられないことの 1 つは、サーバーからコンテンツを取得し、受信確認後に電話に保存する方法に関する指示またはチュートリアルです。コンテンツを自分のサーバーに保存するか、アプリケーション ローダーを使用してパッケージ化し、Apple にホストしてもらうことができます。非消費型コンテンツ全体を取得し、独自のサーバーまたは NSUserDefaults を使用して購入したアイテムを記憶します。見つけられないのは、自分のサーバーまたは Apple のサーバーからアプリ内購入コンテンツを取得する方法と、電話のどこに保存できるかについてのコーディング チュートリアルです。通常のソケット呼び出し?アプリのディレクトリにコンテンツを保存できますか?

例として、アプリ内購入で新しい画像を販売したい既存のアプリがあります。既存のイメージはバンドルされています。バンドルされた画像をサーバーからアプリに戻すにはどうすればよいですか? 購入ごとに新しいバンドルを購入しても問題ありません。既存のバンドルを変更できないことを理解しています。

4

1 に答える 1

3

購入が成功すると、トランザクション オブジェクトが取得されます。ではない?

- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions

各トランザクション オブジェクトを反復処理し、次のコードを使用します。

if (transaction.downloads)
{
    [[SKPaymentQueue defaultQueue] startDownloads:transaction.downloads];
}

ダウンロードが成功すると、デリゲート コールが表示されます。

-(void)paymentQueue:(SKPaymentQueue *)queue updatedDownloads:(NSArray *)downloads
{
    for (SKDownload *download in downloads)
    {
        switch (download.downloadState) {
            case SKDownloadStateActive:
                NSLog(@"Download progress = %f and Download time: %f", download.progress, download.timeRemaining);
                break;
            case SKDownloadStateFinished:
                NSLog(@"%@",download.contentURL);
                // Download is complete. Content file URL is at
                // path referenced by download.contentURL. Move
                // it somewhere safe, unpack it and give the user
                // access to it
                break;
            default:
                break;
        }
    }
}

ダウンロード後、データがダウンロードされた URL を取得します。これで、ライブラリのアプリケーション サポート フォルダーに保存し、クラウドへの自動同期を防ぐことができます (必要な場合)。それでおしまい。

于 2012-12-03T15:50:50.780 に答える