タグ

課金に関するhelldeathのブックマーク (8)

  • Xcode 4でビルド番号を自動的に増やす方法 - Awaresoft

    Xcode 4には、ターゲットのサマリーに「Version」と「Build」の欄があります。このBuild番号をビルドの度に自動的に増やしていく方法のメモ。こちらのQ&Aページを参考にしました。 バージョン番号とビルド番号の付け方について ターゲットのサマリーの"Version"はInfo.plistの"Bundle versions string, short" (CFBundleShortVersionString)、"Build"は"Bundle Version (CFBundleVersion)"に相当します。 バージョン番号とビルド番号の使い方の流儀はいろいろあり、プロジェクトにあった方法を選べばよいわけですが、私の場合は上のQ&Aページで説明されているのとほぼ同じように、次のようなルールで付けることにしました。 バージョン番号は、 {メジャーバージョン}.{マイナーバージョン}

    helldeath
    helldeath 2013/05/22
    Buildはピリオドと数値のみ。先頭に半角スペースを入れるとIAPのトランザクション完了通知やリストアが正常に行われなくなる
  • iOS - Restoring auto renewable subscription

    helldeath
    helldeath 2013/05/02
    リストアしたりしたトランザクションの購読日時と比較する
  • StoreKit Consumableプロダクトの二重購入 – なんてこったいブログ

    トランザクションの中断と再開について、さらにケースを見ていきます。未完状態のトランザクションが既にある状態で、新しいペイメントをリクエストした場合の挙動について。厄介です。 同一プロダクトに対する複数のトランザクション 前述した複数デバイスを使っているときを除いて、StoreKitでは同じプロダクトに対する購入トランザクションを複数同時に進める事はできないようになっているようです。既に進行中/中断状態のトランザクションがある状態で新しい支払いリクエストをキューに積むと、そのトランザクションはfailすることになります。勿論この挙動自体はそうあるべきものですが、この時の処理の流れには注意をしなければいけません。 発生するパターン 同一のデバイス上で一つのプロダクトに対する複数のトランザクションが発生してしまうパターンは二つ考えられます。 パターン1. 前回のトランザクションがfinishして

    helldeath
    helldeath 2013/05/01
    ユーザが課金キャンセルした場合も、トランザクション重複の場合も、同じSKErrorPaymentCancelledが返るから注意ね
  • StoreKit トランザクションの重複を防ぐ – なんてこったい

    トランザクションが複数できると面倒なことになると前回のポストで書きました。特に購入手続きの途中でアプリケーションが終了してしまったような場合は、アプリケーション側で少し面倒ですが対策をいれないと問題を回避できません。 発生するケースについての確認 実際の対策を見る前に、発生するケースについて確認しておきます。 ユーザがアプリケーション上で特定のアイテムを「購入」しようとする。 アプリケーションからStoreKitのキューにPaymentリクエストが積まれる。 トランザクションが生成される。 トランザクションが完了する前にアプリケーションが終了。 アプリケーション再起動。 前回のトランザクションが再開/完了するより前のタイミングでユーザが再び「購入」しようとする。 この問題は、前述の通りアプリケーション起動から未完状態のトランザクションが再開されるまで若干のラグがあるために発生しうる問題です

    helldeath
    helldeath 2013/04/23
    StoreKitのコールバックがアプリの再起動後に呼ばれる問題について
  • SKPaymentTransactionについてkwsk – なんてこったい

    StoreKitのトランザクションには、トラブルが発生した際に重要になる情報が多く含まれています。SKPaymentTransactionオブジェクトに含まれる情報と、それらの挙動について確認していきましょう。なお、複雑になるのでNon-Consumableプロダクトのリストア関連の項目については、基的に省略しています。 SKPaymentTransactionの要素 SKPaymentTransactionに含まれる主なプロパティは以下の通りです。(Non-Consumableプロダクトのリストア関連の要素は除いています) error payment transactionState transactionIdentifier transactionReceipt transactionDate 各要素について、挙動や使い方を確認していきましょう。 transactionState ト

    helldeath
    helldeath 2013/04/19
    基本的な情報。きれいにまとまってる
  • iOS: In App Purchase、Restore処理のハマりポイント

    アプリ開発。Objective-C、Flash、cocos2d、Unity、Unreal Engine 4、ライブラリ、ツール類について。 先日、バージョンアップのためにSubmitしていたPuppet Camがリジェクトされてしまいました。 理由は、In App PurchaseでNon-Consumableなアイテムを購入したお客様に対して、別デバイスなどからリストアできるように、リストアボタンが用意されていないというものでした。 リストア機能は、再度、購入ボタンを押してもらえれば、2重課金にならずに済むようになってはいるのですが、お客様にとっては2重課金されないかな?と不安に思うのはもっともなので、このリジェクトは致し方無いです。 ただし同様の実装でも、リジェクトされる場合とされない場合があり、この辺りの審査はいつも微妙です。 今回は、リストアボタン実装中に、ひとつハマりポイントを見

    helldeath
    helldeath 2013/04/19
    リストアするときの注意
  • 新しい定期購読型のアプリ内課金を実装してみた (Auto-renewable Subscriptions)

    [追記1] サンドボックス環境では自動継続がある条件下でオフになることがあるそうです。 この記事の情報は不正確な可能性があるため、近日中に検証します。 [追記2] 調査したところ、iPadで2ヶ月購読した場合は動作することは確認できました。 ただ現状ではアプリに組み込んでリリースするのは危険だとは思います。 参考 Auto-Renewable Subscrptionに関する問題など 注意点 まだ新しい定期購読型のアプリ内課金を使ったアプリはリリースしていません。 不明な点があるため間違いなどありましたら、ぜひご連絡ください。 特に自動更新後、アプリ側から有効期限を確認する方法が正しいかどうかが不明です。 新しい定期購読型のアプリ内課金は何が違うの? 新しい定期購読型のアプリ内課金は、Appleが2011/2/15に発表した自動更新型の課金サービスです。 今までもアプリ内課金では購読型(Su

    新しい定期購読型のアプリ内課金を実装してみた (Auto-renewable Subscriptions)
    helldeath
    helldeath 2013/03/28
    リストア時にqueueからすべてのトランザクションを取得する方法が書いてある。末尾に
  • Google Sites: Sign-in

    Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode

    Google Sites: Sign-in
    helldeath
    helldeath 2013/03/28
    ベーシックな情報だけだが、時々ここに戻る
  • 1