タグ

2014年1月7日のブックマーク (7件)

  • アプリ内課金 (In-App Purchase) の審査を申請するときの手順メモ - akiyoko blog

    iOSアプリのアプリ内課金 (In-App Purchase) を Apple に申請する手順は、「iPad上でアプリ内課金 (In-App Purchase) の実機テストをする方法」や「iOSアプリを App Store にバージョンアップ申請するときの手順」と比べると、全然難しくありません。 どこで操作すればいいのか、つまり iTunes Connect の入り口さえ分かれば、あとは直感でもなんとかなります。(ぶっちゃけ直感でやってしまっているので、間違ってるところがあるかもしれません。。) ほぼ自分用メモですが、お役に立てれば幸いです。 今回やりたいこと iOSアプリのアプリ内課金 (In-App Purchase) の審査申請 手順 スクリーンショット用の画像を用意 iTunes Connect 上で、In-App Purchase の審査申請 という流れになります。簡単ですね。

    アプリ内課金 (In-App Purchase) の審査を申請するときの手順メモ - akiyoko blog
  • iOSのアプリ内課金(In App Purchase)でアイテムの価格を取得する方法

    先日、日のApp Storeで価格の変更がありました。 これは、為替変動を反映させる処置で、これまでも何度が改定されてきました。 アプリ内課金のアイテム料金をハードコードしてしまっているアプリをたまに見かけますが、今回のような価格改定時に困ってしまうので、決してハードコードしてはいけません。 備忘録の意味も込めて、価格の取得方法をメモしておきます。 価格は SKProduct#price で取得できますが、表示する際はローカライズが必要なので注意しましょう。 - (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response { for (SKProduct *product in response.products) { NSNumberFormat

  • iOS: In App Purchase、Restore処理のハマりポイント

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

  • 『StoreKitの注意点あれこれ』

    まだ申請前なので、未確認の情報だが、一応書いておこう。 自分がやったのは自動継続型だった。 でテストユーザーは、今までApp IDをとっていないユーザーにするのだが、 購入前に実機の設定→Storeでサインアウトさせるのはもちろん、 どうやらそのユーザーでサインインして登録しちゃうとテストユーザーにならないぽいのだ。 あと、何回かテストしてると購入に失敗するが、この場合アプリを削除するかでもだめならiPhone再起動。 リストアについては、失敗したか否かを - (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions の中で transactionsの中のSKPaymentTransactionのtransactionStateがSKPaymentTransactionSta

    『StoreKitの注意点あれこれ』
  • 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

  • xcode iPhoneでのアプリ内課金(In App Purchase)・実装メモ

    野球ニュースなどのスポーツ系ニュースアプリで広告の表示/非表示をアプリ内課金で切り替えるようにしたのですが、これがなかなか大変だったので備忘録を残しておきます。アップルのドキュメントをみても概要は分かるんですけど実際にどういう申請をすればいいのか分かりにくいんですよねぇ・・・。 まず実装前の状況を説明します。 すでに広告が入っている無料アプリをリリース済み 次バージョンで広告の非表示ができるようにしたい 広告の非表示にはアプリ内課金を利用したい いままでアプリ内課金を利用したことがない 課金はユーザにつき1度だけにしたい(非消費型) 上記状況からアプリ内課金を実装するのに必要だった流れは以下のとおり。あっちこっちで色々手続きしなければならず面倒でした・・・。新規アプリに実装する場合でも基は同じだと思いますが、まず対象のアプリをiTunes Connectに登録する必要があるようです。 【

  • iOSアプリ内課金(In-App Purchase)のはまりどころ - WonderPlanet DEVELOPER BLOG

    今回のエンジニアブログを担当する村田です。Consumable(消費型)アプリ内課金を実装して分かったはまりどころをポイントで説明します。 1.レビュー時におけるStoreレシートの確認先 アプリ内課金では、有効なトランザクションである事を確認するためにレシートデータをAppStoreへ送信します。 Storeレシートの確認先は「In-App Purchaseプログラミングガイド」によると下記のとおりです。 環境 送信先 製品時 番環境 開発時 サンドボックス環境 では、レビュー時は? プロダクトモジュールを送付するので...番URL? と判断し実装するとはまります。 レビュー時は、サンドボックス環境を利用します。 環境 送信先 開発時 サンドボックス環境 製品時 番環境 レビュー時 サンドボックス環境 と、なります。 環境に応じて切り替えていると障害を埋め込む原因となります。 では

    iOSアプリ内課金(In-App Purchase)のはまりどころ - WonderPlanet DEVELOPER BLOG