質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Google Play

Google Playは、Google社が提供しているAndroid端末向けのデジタルコンテンツ配信サービスです。Google Play Store アプリから、世界中の個人または企業が開発したアプリをダウンロードできます。有料アプリの売り上げは、70%を開発者、30%は通信キャリア等への支払いにあてられます。開発者が登録する場合は、初回のみ25ドルの登録手数料が必要です。

Q&A

0回答

1904閲覧

課金による広告消去機能を実装したい。

OGR_toast

総合スコア16

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Google Play

Google Playは、Google社が提供しているAndroid端末向けのデジタルコンテンツ配信サービスです。Google Play Store アプリから、世界中の個人または企業が開発したアプリをダウンロードできます。有料アプリの売り上げは、70%を開発者、30%は通信キャリア等への支払いにあてられます。開発者が登録する場合は、初回のみ25ドルの登録手数料が必要です。

0グッド

0クリップ

投稿2018/03/29 16:05

編集2022/01/12 10:55

unityでAndoroid向けに作っているゲームにadmobの広告を実装しているのですが、広告消去機能を購入したかどうか確認するためのレシート検証処理の作り方がunity公式のドキュメントを見てもよくわかりません。
課金機能にはUnity IAPのIAPButtonを使用しています。
また、レシート検証のためのサーバーは必須なのでしょうか?
今までサーバーを作ったことはないのでできればアプリ内で検証するようにしたいです。

参考にしているサイト
Purchase Receipts-Unity マニュアル
購入レシート-Unity マニュアル

わからない点
・必要な名前空間(UnityEngine.Purchasingでしょうか?)
・引数Eはクラス(構造体?)のように見えますがどのようにこの変数を取得(宣言?)するかわかりません。参考
この例のスクリプトをどこに書けばいいのかわからないです。

public class スクリプト名 : MonoBehaviour{この中には書けない}
ので、どうすればいいのか困っています。

C#

1public PurchaseProcessingResult ProcessPurchase (PurchaseEventArgs e) 2{ 3 bool validPurchase = true; // Presume valid for platforms with no R.V. 4 5 // Unity IAP's validation logic is only included on these platforms. 6#if UNITY_ANDROID || UNITY_IOS || UNITY_STANDALONE_OSX 7 // Prepare the validator with the secrets we prepared in the Editor 8 // obfuscation window. 9 var validator = new CrossPlatformValidator(GooglePlayTangle.Data(), 10 AppleTangle.Data(), Application.bundleIdentifier); 11 12 try { 13 // On Google Play, result will have a single product Id. 14 // On Apple stores receipts contain multiple products. 15 var result = validator.Validate(e.purchasedProduct.receipt); 16 // For informational purposes, we list the receipt(s) 17 Debug.Log("Receipt is valid. Contents:"); 18 foreach (IPurchaseReceipt productReceipt in result) { 19 Debug.Log(productReceipt.productID); 20 Debug.Log(productReceipt.purchaseDate); 21 Debug.Log(productReceipt.transactionID); 22 } 23 } catch (IAPSecurityException) { 24 Debug.Log("Invalid receipt, not unlocking content"); 25 validPurchase = false; 26 } 27#endif 28 29 if (validPurchase) { 30 // Unlock the appropriate content here. 31 } 32 33 return PurchaseProcessingResult.Complete; 34}

また、こちらはもどこの関数に入れればいいかわかりません。

C#

1var result = validator.Validate(e.purchasedProduct.receipt); 2Debug.Log("Receipt is valid. Contents:"); 3foreach (IPurchaseReceipt productReceipt in result) { 4 Debug.Log(productReceipt.productID); 5 Debug.Log(productReceipt.purchaseDate); 6 Debug.Log(productReceipt.transactionID); 7 8 GooglePlayReceipt google = productReceipt as GooglePlayReceipt; 9 if (null != google) { 10 Debug.Log(google.purchaseState); 11 Debug.Log(google.purchaseToken); 12 } 13 14 AppleInAppPurchaseReceipt apple = productReceipt as AppleInAppPurchaseReceipt; 15 if (null != apple) { 16 Debug.Log(apple.originalTransactionIdentifier); 17 Debug.Log(apple.cancellationDate); 18 Debug.Log(apple.quantity); 19 } 20}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sakura_hana

2018/03/30 08:30

「よくわからない」では分かりません。マニュアルにあるサンプルコードを実働させてみたのでしょうか?私は試していませんがサーバー不要のように見えます。こちらもご一読ください。→https://teratail.com/help/question-tips
OGR_toast

2018/03/30 12:09

追記しましたよろしくお願いいたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問