-
Notifications
You must be signed in to change notification settings - Fork 1
Get Started
1.1.1 新規にプロジェクトを作成します。
1.1.2 必須項目を入力します。この例では以下のように入力します。
項目 | 入力値 |
---|---|
Project name | MaioUnitySample |
3D / 2D | 2D |
1.1.3 [Create]をクリックし、 プロジェクトを作成します。
1.2.1 プロジェクトを開いた位状態で maio.unitypackage を開きます。
1.2.2 全てにチェックが入っていることを確認し、[Import]をクリックします。
play-services-basement-9.2.1.aar を更新する場合は、play-services-ads-identifier もお使いください。
1.2.3 Plugins/iOS に Maio.framework、Plugins/Android に maio.aar が含まれていることを確認してください。
各SDKが最新版でない場合、以下より最新版を取得し、上書きしてください。
- 初期化を行うコードと、視聴完了時のイベントを登録します。
// Sample01.cs
using UnityEngine;
using System.Collections;
public class Sample01 : MonoBehaviour
{
#if UNITY_IOS
public const string MaioMediaId = "DemoPublisherMedia";
public const string MaioZoneId = "DemoPublisherZone";
#elif UNITY_ANDROID
public const string MaioMediaId = "DemoPublisherMediaForAndroid";
public const string MaioZoneId = "DemoPublisherZoneForAndroid";
#else
public const string MaioMediaId = "DemoPublisherMedia";
public const string MaioZoneId = "DemoPublisherZone";
#endif
// Use this for initialization
void Start ()
{
// イベントの登録を行います。
// これによって、Plugin からのイベント通知を取得することが可能になります。
Maio.OnFinishedAd += HandleOnFinishedAd;
// 広告の配信テスト設定を行います。アプリをリリースする際にはコメントアウトしてください。
Maio.SetAdTestMode (true);
// maio SDKの初期化を開始します。
// MaioMediaId は、Maio管理画面より割り当てられたメディアIDに差し替えてください。
Maio.Start (MaioMediaId);
// ... 略 ...
}
// ... 略 ...
}
- 再生ボタンの実装と、動画再生後のリワードを付与する処理を宣言します。
// ... 略 ...
// エディタ上のこのメソッドに紐付けられたボタンがタップされた際に呼び出されます。
public void OnShowAd()
{
if (Maio.CanShow(MaioZoneId))
{
Maio.Show(MaioZoneId);
}
}
// 広告表示完了時に呼び出すイベントを設定します。
// これによって、Plugin からのイベント通知を取得することが可能になります。
// 本メソッドは、ユーザが動画を見終わった直後に呼び出されます。
// ”skipped”が”false”であれば最後まで動画が再生された事を示しますので、
// その際にユーザに報酬を付与する事が可能になります。
public void HandleOnFinishedAd(string zoneId,
int playtime,
bool skipped,
string rewardParam)
{
}
// ... 略 ...
- シーンが遷移する際に紐付けられたイベントを解放します。
// ... 略 ...
// このゲームオブジェクトが破壊される際に呼び出されます。
public void OnDestroy()
{
// ゲームオブジェクトが破壊される際に、イベントを解放します。
Maio.OnFinishedAd -= HandleOnFinishedAd;
}
// ... 略 ...
イベントを設定することで、 Plugin からのイベント通知を取得することが可能になります。 イベントの設定方法に関しては、「2.1 コードの実装例」をご参照ください。
- 広告表示準備完了時に呼ばれるイベント (サンプルコード)
- 広告配信可能状態の変更時に呼ばれるメソッド (サンプルコード)
- 動画広告再生直前に呼ばれるメソッド (サンプルコード)
- 広告再生終了時に呼ばれるメソッド (サンプルコード)
- 広告がクリックされた際に呼ばれるメソッド (サンプルコード)
- 広告が閉じられた際に呼ばれるメソッド (サンプルコード)
- エラー時に呼ばれるメソッド (サンプルコード)
Other Linker Flagsに-ObjC
を追加します。
- UnityからXcodeプロジェクトをBuildします。
- 生成したXcodeプロジェクトを開き、[ProjectSettings] > [TARGETS:Unity-iPhone] > [Build Settings] > [Other Linker Flags]の項目に
-ObjC
を追加します。
iOS SDK 1.3.0以降、zlib
が必要となります。
Linked Framewoks and Librariesにlibz.tbd
を追加します。
- UnityからXcodeプロジェクトをBuildします。
- 生成したXcodeプロジェクトを開き、[ProjectSettings] > [TARGETS:Unity-iPhone] > [General] > [Linked Framewoks and Libraries]の項目で「+」をクリックし、libzで検索します。
- libz.tbd を選択し、Addします。
maio Untiy Pluginのイベントは、Unityのメインスレッドで実行されている保証がありません。 UIの操作など、メインスレッドを要求する動作を行う場合、明示的にメインスレッドにディスパッチする事をお勧めします。
サンプルコードでは、メインスレッドを要求する処理をQueue<Action>
に積み、MonoBehaviour#Update
にて取り出すことで実現しています。