Android Unity対応

提供: GAMEFEAT マニュアル
移動: 案内検索

Unityで作られたAndroidアプリへGAMEFEAT SDKを導入する方法を解説します。

v2.1の実装マニュアルについては、こちらを参照してください。

※Windows環境にてUnityを利用して開発されている方は、必ずこちらをご確認くださいませ。

目次

必要なファイル

  1. GameFeatSDK_v3.2.0.zip
  2. gamefeat_unity_android.unitypackage

導入方法

gamefeat_unity_android.unitypackageを立ちあげて、Unityプロジェクトにimportしてください。

その後、GameFeatSDK_v3.2.0.zipを解凍して中にあるGameFeatSDK.jarを/Assets/Plugins/Androidに配置をしてください。AndroidManifest.xmlの中のメディアIDを自身のものに書き換えれば完了です。

GAME FEAT初期化設定

GAME FEATの広告を表示するために、メインアクティビティ(一番最初に起動されるアクティビティ)にて、SDKの初期化設定が必要です。

void Start () {
	unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
	activity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");

	plugin = new AndroidJavaClass("jp.basicinc.gamefeat.android.unity.GameFeatUnityPlugin");
	plugin.CallStatic("activateGF", activity, false, true, true);
}

void OnApplicationPause (bool pauseStatus){
	if (!pauseStatus) {
		unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
		activity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
		plugin = new AndroidJavaClass("jp.basicinc.gamefeat.android.unity.GameFeatUnityPlugin");
		plugin.CallStatic("activateGF", activity, false, true, true);
	}
}

オファーウォール 起動方法

AndroidJavaObject plugin = new AndroidJavaObject("jp.basicinc.gamefeat.android.sdk.controller.GameFeatAppController");
AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject activity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
plugin.Call("show", activity);

アイコン型広告 起動方法

void Start () {
	 
	// アイコン型広告の実装サンプル
	AndroidJavaClass plugin = new AndroidJavaClass("jp.basicinc.gamefeat.android.unity.GameFeatUnityPlugin");
	AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
	AndroidJavaObject activity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
	
	// アイコン型広告 : 初期化
	plugin.CallStatic("initIconAd", activity);
	
	// アイコン型広告 : 配置(width / height / x / y)
	plugin.CallStatic("setIconAd", activity, 70, 70, 0, 300);
	plugin.CallStatic("setIconAd", activity, 70, 70, 90, 300);
	plugin.CallStatic("setIconAd", activity, 70, 70, 180, 300);
	plugin.CallStatic("setIconAd", activity, 70, 70, 270, 300);
	
	// アイコン型広告 : 表示開始
	plugin.CallStatic("loadIconAd", activity);
	
	OnGUI();
}

void OnApplicationPause (bool pauseStatus){
        if (pauseStatus) {
		// アプリがバックグラウンド移行したときアイコンのリフレッシュを停止する
		plugin.CallStatic("stopIconAd", activity); 
	}else{
	       	unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
		activity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");

		plugin = new AndroidJavaClass("jp.basicinc.gamefeat.android.unity.GameFeatUnityPlugin");
		plugin.CallStatic("activateGF", activity, false, true, false);

		// アプリが復帰したときアイコンのリフレッシュを再開する
		plugin.CallStatic("startIconAd", activity); 
	}
}

void invisibleIconAd(){
	// アイコン型広告 : 非表示
	plugin.CallStatic("invisibleIconAd", activity);
}
	
void visibleIconAd(){
	// アイコン型広告 : 表示
	plugin.CallStatic("visibleIconAd", activity);
}

全画面型広告 起動方法

loadPopupAdの第2引数にはゲームオブジェクト名を指定してください。

// 全画面型広告の実装サンプル
AndroidJavaClass plugin = new AndroidJavaClass("jp.basicinc.gamefeat.android.unity.GameFeatUnityPlugin");
AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject activity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");

// 全画面型広告 : N回に1回表示するかの設定
plugin.CallStatic("setPopupProbability", 1);
plugin.CallStatic("loadPopupAd", activity,  "Main Camera");

アプリ終了時全画面型広告 起動方法

loadExitPopupAdの第2引数にはゲームオブジェクト名を指定してください。

// 全画面型広告の実装サンプル
AndroidJavaClass plugin = new AndroidJavaClass("jp.basicinc.gamefeat.android.unity.GameFeatUnityPlugin");
AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject activity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
plugin.CallStatic("loadExitPopupAd", activity, "Main Camera");

アプリ終了時全画面型広告 「アプリ終了」ボタン実装

GameFeatUnityPluginに「アプリ終了」ボタン押下時のコールバック関数が定義されているので、終了時用の全画面広告を表示するスクリプト内に以下のメソッドを定義してください。

// 終了時用全画面広告の実装サンプル
void didFinishGameFeatPopup(string msg) {
	// GameFeat全画面が閉じた時の処理
	Application.Quit();
}

サンプルスクリプトとしてGameFeatObserver.csを付属しておりますので、そちらも参照してください。

個人用ツール
名前空間

変種
操作
Androidへの導入
iOSへの導入 (新SDK)
iOSへの導入 (旧 GAMEFEAT SDK)
Unityへの導入方法
Cocos2dx(Android)への導入方法
Cocos2dx(iOS)への導入方法
Q&A
ツールボックス