5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Unityで(IAP)Purchaseを実装したらiTunes Connectでリジェクトされたので対応する

Last updated at Posted at 2017-01-12

経緯

以前の記事(UnityでPurchase(課金)を実装する)でPurchaseを実装して、iTunes Connectでアプリ公開の申請を行ったが、リジェクトされた。
その対応を記載する。(ただし、現在、申請許可待ち。申請が通ったら記事を更新する。)

ちなみに、以下がリジェクト時のメッセージ

差出人: Apple
0. 9.0 BEFORE YOU SUBMIT: IN-APP PURCHASE
Before You Submit

We are unable to complete the review of your app since one or more of your in-app purchase products have not been submitted for review.

Please be sure to take action and submit your in-app purchase(s) AND upload a new binary in iTunes Connect. Learn more about submitting in-app purchases for review in the In-App Purchase Configuration Guide for iTunes Connect.

Once you've submitted your in-app purchases and uploaded a new binary, we can proceed with your review.

Note: Apps that offer in-app purchase products that must be restorable are required to include a "Restore" feature. The following in-app purchase types must be restorable:

  • non-consumable products
  • auto-renewing subscriptions
  • free subscriptions

For more information, please see the Restoring Purchased Products section of the In-App Purchase Programming Guide.

英語は苦手なので、あまり何を言っているか理解できていない部分もあるが、要は、iOSでPurchase(Non Consumable1)を利用するときは、リストア2機能をちゃんと実装してねってことだと思う。
今までは**「再購入3」をした場合にリストアが走るようになっていた**が、そうではなく、インストール直後にリストアが走るようにした。

前提

各ツール・プラグイン等

  • Unity 5.5.0p3
  • Xcode 8.2.1

プラットフォーム

  • 開発機
    • macOS (MacBookPro)
      • Windowsの場合は大差はないが、適宜読み替えること
  • リリース
    • Android
    • iOS

内容

IAPButton.csの修正

IAPButton.cs
public void OnInitialized (IStoreController controller, IExtensionProvider extensions) {
    this.controller = controller;
    this.extensions = extensions;

    // 以下の記載を追加
    extensions.GetExtension<IAppleExtensions>().RestoreTransactions(result => {
        if (result) {
            // リストア成功時の処理を書く
            Debug.Log("Restore Success.");
        } else {
            // リストア失敗時の処理を書く
            Debug.Log("Restore Failed.");
        }
    });
}

以上。

補足

  1. Non Consumable: 非消費型アイテム(1度購入したら永続的に有効になる)

  2. 購入済みのNon Consumableのアイテムを有効化すること

  3. アプリをアンインストールした後にインストールし直したり、別の端末でインストールすること

5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?