未検証なので、私が思ったまで

一度だけ課金できるボタンがあります。一度だけ。

課金したら、そのボタンそのものが消えます。もう表示されません。じゃあ、買ったはいいけど、一度アンインストールして、再インストールしたらそれはどうなるのや。

結果的にはアンインストールして、再インストールしても一度課金した情報は残っていました。なので、ボタンは表示されなかった。

※これはあくまで一つの端末でのお話。

二つ、予想としては、課金したと、課金したという情報をUnityの「PlayerPrefs」でセーブしているのですが、これが、アンインストールしてもローカルに残り続けるということかな?

あくまで予想です。未検証です。デバッグ吐き出しはしていません。

実際に検証しないといけないと思うけど、やり方がわからないからとりあえず忘れる前に書き留めておきます。

「PlayerPrefs」はアプリをアンインストールしても残る?

課金が完了した場合、今後は広告も、広告非表示用課金ボタン表示させない。

これを組み込む時の私の心配が、じゃあ、アプリをアンイントールしてしまえば、もう一度インストールした時にその設定が消えてしまうこと。

ベータ版テスト時にアンインストールを繰り返したので、それで確認した感じだと、再インストールしたら一度課金したら広告も、広告非表示用のボタンも表示されなかった

そこで、自分のソースを見返して見る。

※初回ポスト時点とソースが変わっています。

sing System.Collections;
using System.Collections.Generic;
using UnityEngine;
using GoogleMobileAds.Api;
using UnityEngine.UI;

public class AdmobScript : MonoBehaviour {

	//UnitID情報
	string adUnitId;
	BannerView bannerView;
	AdRequest request;

	//広告非表示購入用ボタン
	public Button disableAdsButton;

	//課金有無確認用
	int AdsFalse;

	// Use this for initialization
	void Start () {

		//if UNITY_ANDROID
		adUnitId = "ca-app-pub-XXXXXXXX";

		// Create a 320x50 banner at the top of the screen.
		bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Bottom);
		// Create an empty ad request.
		request = new AdRequest.Builder().Build();

		AdsFalse = PlayerPrefs.GetInt ("adsFalse", 0);

		if (AdsFalse == 0) {
			//広告表示
			bannerView.LoadAd(request);
			bannerView.Show();
		} else {
			//購入ボタン非表示
			bannerView.Destroy();
			disableAdsButton.gameObject.SetActive (false);
		}

	}
	
	// Update is called once per frame
	void Update () {
		
	}

	public void PurchaseOK (){

		//課金情報を記録
		PlayerPrefs.SetInt ("adsFalse", 1);
		PlayerPrefs.Save ();

		//Admod非表示
		bannerView.Hide();
		//購入ボタン非表示
		disableAdsButton.gameObject.SetActive (false);

	}

}

私のイメージだと、アンインストールした場合、セーブに使う「PlayerPrefs」も消えてしまうと思っていたけど、そうでもないかもしれない。(データの残りっぱなし?)

※アプリを終了して再稼働させた時に「PlayerPrefs」が生きていることは確認済み

◆公式サイト説明:https://docs.unity3d.com/ja/current/ScriptReference/PlayerPrefs.html

ローカルに保存されるよね・・・。アンインストールしたら、消えるんじゃないの?むしろなんで消えないの?

結果的にはそれでいいけど・・・。

じゃあ、同じGoogleIDで別端末でインストールして見たらどうなるのだろうか。が、確認できていない(笑)。

端末もう一ついるのね!テストできない。