記述日 2020/7/6
unityでの課金を管理するunity iapを拡張して、使いやすくなるというアセットのようです。
購入したのでマニュアルを和訳してみました。
実際には使っていないので、使い勝手やバグの有無などはわかりません。
Playfabにも対応しているようです。
フルで見る場合はこちら
C# unity アセット 課金
シンプルなIAPシステム
ドキュメンテーション
v4.3
スクリプトリファレンス1
1はじめに2
2 Unity 3でのアプリ内製品の作成
3ショップでの製品のインスタンス化5
4 IAPアイテムのプレハブのカスタマイズ5
5プログラミングとIAPコールバック7
6デバイスストレージの暗号化8
7ショップテンプレートの説明9
8領収書の確認10
9連絡先12
シンプルIAPシステムをお買い上げいただきありがとうございます!
あなたのサポートは大歓迎です。
ビデオチュートリアルについては、YouTubeチャンネルをご覧ください。
以下の請求プラグインの設定ウィンドウを開きますウィンドウ > シンプル IAP システム > プラグインの設定.新しいプロジェクトに簡易 IAP システムをインポートした場合、すべての Unity IAP ステータス チェックはOwOKではありません.
Unity IAPを有効にする必要はありませんユーザーに課金したくない場合、ゲーム内で獲得したコインで剣を購入するなど、仮想製品と通貨のみが必要–です。しかし、リアルマネーでバーチャルグッズを販売する場合は、ユニティIAPの活性化が必要です。
[サービス] タブで Unity IAP を有効にしてインポートするに説明されているようにこの公式ページ.ユニティ2018以上:ユニティIAPには購入パッケージの対象ウィンドウ > パッケージマネージャ.同様にインポートする場合は、すべての Unity IAP が“ユニティ IAP ステータス”表示する必要があります わかりました.
切り替えによって選択されたプラットフォームで Unity IAP を使用するようにシンプル IAP システムに指示します。“ユニティ IAP の有効化”.課金プラットフォームを除外することで、Android上で実際のお金でアプリ内購入を行うことができますが、iOSでは購入できません。もしあなたなら’再完了, 前Ss“適用”.
Dぼろぼろ”IAPマネージャー”プレハブからシンプルなIAPシステム> プレハブ > リソースあなたのゲームの最初のシーンに。から開始します。‘オールセレクション’ シーンをしたい場合は、シンプル IAP システムのサンプル シーンを実行します (IAP マネージャは既にそこにあります)。
5オプション: プラグインのセットアップウィンドウで PlayFab サービス (アプリ内購入用のクラウド保存、仮想通貨、プレイヤーデータなど) の使用を有効にする場合PlayFabは、SimpleIAPSystem > プレハブ > リソースからゲームの最初のシーンに 「PlayfabManager」プレハブをドラッグします。
をドラッグします。ショップマネージャー”プレハブからSIS > プレハブ表示するシーンにイナップ購入(あなた自身のショップシーン、または、含まれているテンプレートのいずれかを使用します)。
その他の請求書類: Unityでアプリ内製品を実際のお金でリンクする前に、まずアプリストア(Google Play、iTunes Connectなど)で作成する必要があります。アプリ内購入に初めて連絡を取る場合は、フォーラムのストア固有のガイドを参照してour forums、App Store での構成を成功に導いてください。
Unity では、IAP 設定エディタは IA Ps を管理するためのメインスポットです。
Please open it by navigating to Window > Simple IAP System > IAP Settings.
仮想通貨:仮想通貨と開始金額を定義し、アプリ内の他の仮想製品を購入するために使用できます。
アプリ購入 :ここでは、アプリ内製品のカテゴリを指定します。各カテゴリには、アプリ購入(識別子はアプリストア識別子と一致する必要があります)、仮想通貨パック(仮想通貨の量を自動的に付与する)、または仮想経済(real money) 製品(アプリにのみ存在する仮想製品)を追加するための「製品を作成する」buttonがあります。
These are the product variables which need to be defined in the editor:
複数の App Store に展開していて、同じ製品に対して異なる nt 識別子がある場合は、それらを何らかの形でマージする方法が必要です。それがプラットフォームのオーバーライドの目的です。彼らは、彼らの隣の折りたたみ式を拡大することによって、実際のお金IAP製品のためにのみ定義することができます。
この例では、Google Play と Amazon以外のすべての App Store で商品識別子が「コイン」の場合、それらをプラットフォームのオーバーライド セクションに追加して上書きできます。
技術的な前提条件の一部を次に示します。
ショップのシーンでショップマネージャープレハブはあなたのためにすべての作業を行います。それを見てみましょう。
Please open one of the example shop scenes, e.g. SimpleIAPSystem > Scenes > Vertical
IAP Settings エディタの各グループに対して、製品をインスタンス化するビジュアル表現 (プレハブ) とコンテナcontainerの位置を定義するだけです。 SimpleIAP システム > プレハブ > 垂直/ホリスオンタルフォルダーに配置されているから選択するいくつかの定義済みの IAP アイテムプレハブがあります。シーンを再生すると、Shop Manager はコンテナの親となる各アイテムに対してこのプレハブをインスタンス化し、Unity の GridLayoutGroup コンポーネントは、それらをシーン内でうまく整列させます。
シーン内のコンテナトランスフォームには、IAPContainer コンポーネントがアタッチされている必要があります。
製品をシーン内のアイテムとしてインスタンス化した後、ショップマネージャーは、正しい状態に設定することも確認します。つまり、購入した製品のショップアイテムに購入ボタンが表示されなくなったり、装備されたアイテムの選択を解除するボタンが表示されたりします。
Shop Manager は、パブリック変数として、ゲームオブジェクトと UI Text への参照を公開します。
前回の章で述べたように、IAP アイテムプレハブは、実行時に店舗内の IAP 製品を視覚化します。これらのプレハブにはIAPItem コンポーネントが添付されており、アイテムのすべての重要な側面 (説明ラベル、購入ボタン、アイコン テクスチャなど) への参照を持っています。製品の状態に基づいて、IAP Itemはプレハブ インスタンスの異なる部分を表示または非表示にします。
ショップアイテムは、以前のユーザーのインターアクションに応じて、いくつかの異なる状態を持つことができます。
Default (initial state) Purchased (user owns this product)
Single Select (unequips others) Multi Select (does not unequip others)
アイテムの可能な状態は、IAP 品目コンポーネントへの参照を割り当てることによって指定されます。
これは、IAP 設定エディタで定義された、Jetpack 製品の必須製品です。ラベルにカーソルを合わせると、その意味がわかります。たとえば、プレイヤーがレベル1に到達した場合、ここでジェットパックのロックを解除します。
縦横のメニューシーンは、カスタムサブメニューでこの製品を紹介します。
アップグレード (1 つの製品に対して複数のレベル) を指定することもできます。この商品の後に来る商品IDを入力するだけで、ショップアイテムは、ユーザーが購入した後、次のレベルに置き換えられます。アップグレードはシーンでインスタンス化する必要はありませんので、Prefab & Container スロットを空のままにすることができますscene,。「スピード」製品は、アイテムセクションに示されているこのサンプルです。
プログラミングのほとんどは、次のような内部的に処理されています。
ユーザーに素敵なフィードバックウィンドウを表示したい場合は、IAPListenerで広告を表示する必要があります(テキストを自分で定義できるため)。 IAPListener スクリプトには HandleSuccessfulPurchase メソッドがあり、これは、ユーザーが製品を購入したときに、(プラットフォームのオーバーライドではなく) グローバル識別子を追加することによって何が起こるかを示すメソッドです。
以下は、ゲーム内の任意の時点でプログラミングで実行できる例です。すべてのコード スニペットは、提案されたスクリプトの場所を示す例です。
IAP リスナースクリプトで、次の手順を実行します。
ショーメッセージ((「1000コインが残高に追加されました!); //カスタムテキスト付きの手数料のdbackを表示
レベルの開始時:
場合(DBManager.GetPurchase(“no_ads”)=0) //製品が購入された場合、または上記のチェックの場合(DBManager .isPurchasedDBManager.isPurchased(“no_adsno_ads” ) //略語
ゲーム中:
DBManager.プレイヤーデータ(「箇条書き」)AsInt;仮想製品の残りの量を返す //します。
DBManager.プレイヤーデータを増やす(「弾丸」、-10);仮想製品の量を 10 減らす //減少
レベルの終わりに:
DBManager.セットプレイヤーデータ(「スコア」, 新しいシンプル JSON.JSONデータ(2250))。 //sアベニューハイスコア
DBManager.プレイヤーデータを増やす(“xp”,100);現在のユーザー エクスペリエンスを 100 で増やす //します。
DBManager.増資金((“コイン“、200);ユーザーの仮想通貨を 200 で増やす //値上げ
おそらく、いくつかの方法がDBManagerを使用していることに気づいたでしょう。 DBManagerは、当社のPlayerPrefsデータベースを管理し、購入、選択、仮想通貨、その他のプレイヤーに関連するデータを追跡します。基本的には、プレーヤーに関連するApp Purchaseまたはカスタムデータを変更したいときはいつでも、DBManagerのメソッドを呼び出す必要がありますDBManager。
SISを使用して名前空間を追加して、名前空間を含めるのを忘れないでください。独自のスクリプトの先頭に表示されます。利用可能なメソッドの完全なリストについては、 スクリプト リファレンス を参照してください。
必要に応じて、デバイス上のDBManagerによって作成された値を暗号化できます。 IAPManager プレハブインスペクターで、これを有効にする”暗号化”を行います。Also, あなた自身の暗号化キーで”obfuscKey”を置き換えることを忘れないでください (iOS / Android上で8文字、Windows Phone 8で16文字).他の手法はより安全ですが、多くの App Store では、これらの標準でアプリを提出するときに暗号化登録番号 (ERN) が必要です。この手法では ERN は必要ありません。Apple のApp Store にアプリを提出する際に、アプリに暗号化が含まれているかどうかを確認するメッセージが表示されたら、[はい] をクリックします。アプリが除外の対象かどうかを確認する画面が表示された場合は、もう一度 [はい] をクリックすると完了です。
シンプル IAP システム データベースは Unity の
PlayerPrefsを使用すると、レジストリ ファイルで見ることができます。
But there is actually an easier way:
Unity エディタで、データベース表示ウィンドウを開いて[ウィンドウ] > [シンプル IAP システム] > [データベースの表示]の下に表示すると、コンピュータに現在保存されている内容を確認できます。
レジストリでは、暗号化されていないデータと暗号化されたデータは次のようになります。
IAP テストの間にそのエントリをクリーンアップするのは良い練習氷です。 [ウィンドウ] > [シンプル IAP システム] > [データベースのクリア] ウィンドウを開き、SIS によって設定されたすべてのアプリ固有のデータを削除して、データベースをクリアします。
警告: PlayerPrefs データベース実装 (DB マネージャ) は、変数のセットアップを 1 回だけ行う必要がある場合があります。実稼働バージョンで値を再び変更する場合は、アプリの既存の使用 rs に対して何らかのデータ引き継ぎを自分で実装する必要があります。そうしないと、データ損失のリスクが生じ、顧客の満足が失われる可能性があります。例:
リバウンドゲームは、使用、データ、利益の損失に起因するいかなる損害に対しても、シンプルIAPシステムの使用に起因する、または関連してアリスに対して一切責任を負いません。 |
ユニークなデザインのために、独自の画像をインポートし、あなたのゲームのスタイルに合わせてショップのシーンやIAPアイテムのプレハブを構築することを強くお勧めします。これにより、コンバージョン率が大幅に向上します。
メインカメラのVREyeRaycasterスクリプトは、実際に確認ボタンとして認識します
追加の注意: プレーヤーの設定で「バーチャルリアリティ対応」がチェックされている場合“、「AllSelection」”シーンからアプリを起動すると、VRショップのシーンが自動的にロードされます。
IAP を設定すると、アプリにセキュリティ層を追加して、ハッカーがIAP クラッカーを使用してアイテムのロックを解除したり、偽の購入を送信したり、ローカル データベース ストレージを単に上書きしたりできないようにすることができます。領収書の検証は、IAP の著作権侵害との戦いに役立つ可能性があります。シンプル IAP システムでは、アプリでのレシート検証の使用方法に関するいくつかのオプションがあります。
このオプションでは、バンドルと App Store 開発者キーを使用して、アプリによってレシートが作成されたことを確認します。ローカル (クライアントのデバイス) でこのチェックを行うとセキュリティ上の欠陥が生じますが、これは数回クリックするだけで著作権侵害防止を追加する非常に高速なアプローチです。
このオプションでは、領収書が外部サーバーに送信され、トランザクション データがそれぞれ Apple または Google に転送され、トランザクション データがチェックされ、アプリケーションに対して有効または無効な応答が返されます。つまり、検証部分はサーバー上でのみ行われます。また、サブスクリプションの状態を確認し、期限切れのコンテンツを制限する場合は、オンラインの確認を使用する必要があります。このオプションを使用するには、サーバー上の一部の設定がiTunes/Google 開発者アカウントと同様に、再び行われます。この設定に必要な高度な設定と経験のために、この資産の外部の追加パッケージとしてこれを提供しています。当社のサポートフォーラムに登録して、アクセスを得るための専用スレッドを参照してください。
このオプションでは、受信確認のためにPlayFab API + サーバーを使用します。したがって、この o を使用するには、アクティブなPlayFab 開発者アカウント (無料利用枠で十分) が必要です。サーバー側と同じで、検証部分はユーザーの手に渡りません。領収書は購入時にサーバーに送信され、それぞれアップル、グーグル、アマゾンとの取引を検証しますが、一意であり、以前に使用されたことがないことも確認されます。レシートは一度しか検証できないので、このオプションは、重複として拒否されるため、アクティブまたは期限切れのサブスクリプションを検証するのには適していません。ただし、サブスクリプションを実装する予定がない場合は、クライアント側の検証よりもセキュリティが確保されます。それを使用するために:
PlayFabの検証tion logic for ロジックはコスト的に最適化されています: PlayFabは、アプリを使用して月間アクティブ ユーザー (MAU) に基づいて追加の API 制限の請求を計算します。「検証のみ」実装ではimplementation, 、PlayFabユーザーは、アプリ内購入(および他のもの)を実際に行うときにのみ作成されるため、MAUカウントは可能な限り低いままです。
完全なソースコードが提供され、すべての行が十分に文書化されていますので、スクリプトを見て、あなたのニーズに合わせてそれらを変更してください。
当社の製品に関するご質問、ご意見、ご提案、その他のご質問は、お気軽にお問い合わせください。あなたは、ウィンドウ>シンプルIAPシステムの下にある私たちの「About」ウィンドウに、すべてのインタータントリンクを見つけることができます。
質問があれば、多分私たちのサポートフォーラムは答えを持っています!
質問に答えるだけでなく、ガイド、コードスニペット、エクステンションも共有しています。ご購入後に Unity アセットストアからメールで受け取ったアセット請求書 ID を使用して、フォーラムアカウントを登録してください。
フォーラム登録中に問題が発生した場合は、メールにてご連絡ください。
info@rebound-games.com
Unity アセットストアでサポートを希望される場合は、簡単なレビューを書いてください。
開発者は意見を形成することができます。繰り返しますが、あなたのサポートに感謝し、幸運を祈ります!
リバウンドゲーム