2016年8月3日のブックマーク (6件)

  • iOSの月額課金レシート検証をサーバーサイドで行うときのTipsまとめ - ZOZO TECH BLOG

    こんにちは、バックエンドエンジニアのjoeです。 みなさんはお気に入りのアプリに月額課金をしたことがありますか?したことがない人は今すぐお気に入りのアプリをみつけて月額課金しましょう! 実際にiOSで月額課金をすると、課金の証明としてAppStoreがレシートを発行します。レシートと言ってもAppStoreが紙のレシートを送りつけてくるわけではなく、電子的な購入情報のことをレシートと呼びます。ユーザーが解約処理をしない限りAppStore側でレシートが自動更新される仕組みになっています。(月額課金の場合) その際に、AppStoreのサーバーにHTTPのPOSTリクエストでレシートを問い合わせ、現在の課金状況を知ることができます。このお問い合わせ処理と、レシートが不正なレシートでないかをチェックする処理を合わせてレシート検証と呼びます。 今回はiOSのレシート検証をクライアントのみでの検証

    iOSの月額課金レシート検証をサーバーサイドで行うときのTipsまとめ - ZOZO TECH BLOG
    ktanaka117
    ktanaka117 2016/08/03
    明日よんどこ
  • RxSwiftの機能カタログ - Qiita

    はじめに 既に RxSwift が使えるようになった人のために、RxSwift が用意しているクラスやメソッドのカタログをつくってみました。 RxSwift の使い方を覚えたい人は、先に オブザーバーパターンから始めるRxSwift入門 RxSwift入門(2) 非同期処理してみる RxSwiftを深く理解する を読んでください。 また Rx を使った設計については「 Rxを使った設計をビジュアル化する」を参考にしてください。 ここの機能カタログは RxSwift 2.6.0 を元に作成しました1。対応するソースコードを追いやすいように、見出しをフォルダ階層やファイル名と一致させています。public として公開されているものだけが対象です。 また RxSwift 独自の機能でないものは、できるだけReactiveX の解説へのリンクを載せています。英語ですがマーブルダイアグラム(R

    RxSwiftの機能カタログ - Qiita
  • TWorksの試行錯誤記録 : iOS 7 + Auto-renewable + TransactionReceipt

    iOS 7のIn-App Purchase(アプリ内課金)で、Auto-renewable Product(自動更新購読型)の話です。 Auto-renewableなプロダクトが購入されたとき、それの有効期間を確認するために paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions からレシート情報を取得しApp Storeへ送ると、次のようなJSONが返ってきます。 { "latest_receipt" = <latest_receipt_infoのBASE64値>; "latest_receipt_info" = { bid = "APPID"; bvrs = "1.0"; "expires_date" = 1383368349000; "expires_date_formatted

    ktanaka117
    ktanaka117 2016/08/03
    ふむ、latest_receiptはlatest_receipt_infoのBASE64値。latest_receipt_infoは他のreceiptと区別した最新のレシート情報。最新のレシート情報を元にexpiredか否かを判定するってことね
  • iOSで消費型プロダクトのアプリ内課金を実装する際の注意点 - Blog :: Meatware

    TODO:コード例を載せる Consumable なプロダクトの In-App Purchase は、クライアント側でのアプリ内課金と、サーバ側でのアイテムの付与が1対1になっている必要があります。 課金をしていないのにアイテムの付与をする、あるいは課金をしたのにアイテムを付与していない、という状況は許されません。 今回は、正しくアイテムを付与するためにはどうすればいいのかについて書きます。 正しい付与のやり方 iOS の消費型 IAP ってめんどそうだなぁとか思ってたけど、よく考えると、クライアントは正常に成功か失敗が返ってくるまでリトライする、サーバは1個のトランザクションで1回だけアイテムを増加させる、というルールさえ守ってれば何とかなりそうな気がする。 — めるぽん(ヘルニアン) (@melponn) 2013, 12月 5 当に重要な部分は、これだけです。 iOS でアプリ内課

    ktanaka117
    ktanaka117 2016/08/03
    よさげ
  • [iOS] プロビジョニングファイルと証明書の意味 - Qiita

    いまだになにがどうしてどうなる、みたいなところが明確ではありません。 ので、把握するという意味でメモを残しておこうと思います。 iOS実機にアプリをインストールするために必要なもの 正規開発者証明書 デバイス識別子 アプリケーションID プロビジョニングファイル デバイス識別子 開発中(やアドホック用)の、アプリを動かしたいデバイスの識別子 アプリケーションID アプリケーションを識別するID 開発中(やアドホック用)アプリを、iPhone/iPadの実機にインストールするために必要。 プロビジョニングファイルは、アプリケーションID、デバイス識別子、正規開発者証明書の関係をまとめたファイルです。 これを実機に登録しておくことで、条件にあったアプリをインストールすることが可能になります。 大まかな流れ 大まかな流れは以下になります。 Mac上で公開鍵・秘密鍵を生成し、公開鍵を含めたCSR(

    [iOS] プロビジョニングファイルと証明書の意味 - Qiita
  • iOSDC Reject Conferenceを開催します - とりあえずやってみればいいじゃん

    iOSDCで惜しくも採択されなかったトークを発表するカンファレンス、iOSDC Reject Conference 2016を開催することになりましたので宣伝します。 iosdc-reject-conference.connpass.com iosdc-reject-conference.connpass.com きっかけ iosdcのリジェクトコンフとかやってみたい— akatsuki174 (@akatsuki174) July 12, 2016 冗談抜きに、この一言から始まりました。 このツイートをしたら予想以上に反応がありました。その中でiOSDCスタッフの方から「リジェクトコンやってもらえるならぜひ」という話もあったので今回の開催に至りました。この記事では開催にあたってどんなことを思ったかなどをつらつら書いていこうと思います。 なぜやるのか iOSDCは、私が持っている勉強会であ

    iOSDC Reject Conferenceを開催します - とりあえずやってみればいいじゃん
    ktanaka117
    ktanaka117 2016/08/03
    おっ、reject conf