이제 Unity와 인모비 SDK의 통합이 간편해 졌습니다.
Android와 iOS 앱에서 Unity 플러그인을 통해 다음과 같은 인모비 광고 유형을 받을 수 있습니다.
최신 버전의 Unity 플러그인을 실행하려면 다음이 필요합니다.
SDK 버전 |
iOS - 8.1.1 Android - 8.1.1 |
크기 |
iOS - 661 KB (.IPA Inflation) Android - 350 KB (.APK Inflation) |
플러그인 |
간단한 단계에 따라 인모비와 함께 수익을 창출하세요.
인모비 광고 플러그인에서 공통 C# API를 사용하여 배너, 전면, 보상 비디오 광고를 요청할 수 있습니다. 코드를 한 번만 작성하여 Android와 iOS에 모두 배포할 수 있습니다.
인구통계 정보를 인모비 SDK로 전송할 수 있는 여러 개의 API가 InMobiPlugin
클래스에 있습니다.
그 중 일부는 다음과 같습니다.
//Set Age
public void SetAge(int age){
inmobiPluginClient.SetAge (age);
}
//Set PostalCode
public void SetPostalCode(string postalCode){
inmobiPluginClient.SetPostalCode (postalCode);
}
//Set Year of Birth
public void SetYearOfBirth(int yearOfBirth){
inmobiPluginClient.SetYearOfBirth (yearOfBirth);
}
//Set Gender GENDER_MALE or GENDER_FEMALE
public void SetGender(string gender){
inmobiPluginClient.SetGender (gender);
}
InMobiPlugin
클래스를 사용하여 인모비 SDK를 초기화할 수 있습니다. 인모비 SDK를 초기화하려면 계정 ID가 필요합니다.
인모비 SDK를 초기화하는 샘플 코드입니다.
private void initializeInMobiAds ()
{
//Account id used here is test account id
InMobiPlugin inmobiPlugin = new InMobiPlugin ("4028cb8b2c3a0b45012c406824e800ba");
}
참고: 인모비에 광고를 요청하기 전에 인모비 SDK를 초기화해야 합니다. 앱 자체를 시작할 때 하는 것이 좋습니다.
다음은 배너 광고를 생성하고 로드하는 최소 코드입니다.
private void RequestBanner ()
{
// These placement Ids are configured to always serve test ads.
#if UNITY_ANDROID
string placementId = "1467162141987";
#elif UNITY_IPHONE
string placementId = "1464947431995";
#endif
// Create a 320x50 banner at the bottom of the screen.
this.bannerAd = new BannerAd (placementId, 320, 50, (int)InMobiAdPosition.BottomCenter);
// Register for ad events.
this.bannerAd.OnAdLoadSucceeded += this.HandleOnAdLoadSucceeded;
this.bannerAd.OnAdLoadFailed += this.HandleAdLoadFailed;
this.bannerAd.OnAdDisplayed += this.HandleAdDisplayed;
this.bannerAd.OnAdDismissed += this.HandleAdDismissed;
this.bannerAd.OnAdInteraction += this.HandleAdInteraction;
this.bannerAd.OnUserLeftApplication += this.HandleUserLeftApplication;
// Load a banner ad.
this.bannerAd.LoadAd ();
}
InMobiAdPosition
enum은 배너 위치를 지정합니다.
참고: iOS와 Android 플랫폼에는 고유한 배치 ID가 필요합니다. 나머지 API는 두 플랫폼 모두에서 동일합니다.
전면과 풀 스크린 비디오 광고의 통합은 동일합니다. 다음은 전면 광고를 로드하는 최소 코드입니다.
private void RequestInterstitial ()
{
// These placement Ids are configured to always serve test ads.
#if UNITY_ANDROID
string placementId = "1469137441636";
#elif UNITY_IPHONE
string placementId = "1467548435003";
#endif
// Create an interstitial.
this.interstitialAd = new InterstitialAd (placementId);
// Register for ad events.
this.interstitialAd.OnAdLoadSucceeded += this.HandleOnAdLoadSucceeded;
this.interstitialAd.OnAdLoadFailed += this.HandleAdLoadFailed;
this.interstitialAd.OnAdDisplayed += this.HandleAdDisplayed;
this.interstitialAd.OnAdDismissed += this.HandleAdDismissed;
this.interstitialAd.OnAdInteraction += this.HandleAdInteraction;
this.interstitialAd.OnUserLeftApplication += this.HandleUserLeftApplication;
this.interstitialAd.OnAdReceived += this.HandleAdReceived;
this.interstitialAd.OnAdDisplayFailed += this.HandleAdDisplayFailed;
this.interstitialAd.OnAdWillDisplay += this.HandleAdWillDisplay;
// Load an interstitial ad.
this.interstitialAd.LoadAd ();
}
전면 광고는 아래와 같이 명확하게 표시되어야 하며, 전면 광고가 준비되기 전이나 isReady ()
를 호출하여 표시해서는 안 됩니다.
if (this.interstitialAd.isReady ()) {
this.interstitialAd.Show ();
} else {
MonoBehaviour.print ("Interstitial is not ready yet");
}
전면 광고의 좋은 위치는 레별 끝 또는 세션 끝입니다.
다음은 보상 비디오 광고를 로드하는 최소 코드입니다.
private void RequestRewardBasedVideo ()
{
// These placement Ids are configured to always serve test ads.
#if UNITY_ANDROID
string placementId = "1453753057988";
#elif UNITY_IPHONE
string placementId = "1465883204802";
#endif
this.rewardedVideoAd = new RewardedVideoAd (placementId);
// Register for ad events.
this.rewardedVideoAd.OnAdLoadSucceeded += this.HandleOnAdLoadSucceeded;
this.rewardedVideoAd.OnAdLoadFailed += this.HandleAdLoadFailed;
this.rewardedVideoAd.OnAdDisplayed += this.HandleAdDisplayed;
this.rewardedVideoAd.OnAdDismissed += this.HandleAdDismissed;
this.rewardedVideoAd.OnAdInteraction += this.HandleAdInteraction;
this.rewardedVideoAd.OnUserLeftApplication += this.HandleUserLeftApplication;
this.rewardedVideoAd.OnAdReceived += this.HandleAdReceived;
this.rewardedVideoAd.OnAdDisplayFailed += this.HandleAdDisplayFailed;
this.rewardedVideoAd.OnAdWillDisplay += this.HandleAdWillDisplay;
this.rewardedVideoAd.OnAdRewardActionCompleted += this.HandleRewardActionCompleted;
this.rewardedVideoAd.LoadAd ();
}
보상 비디오 광고는 전면 광고와 동일하게 작동하며 show ()
를 호출하기 전에 준비되었는지를 확인해야 합니다.
private void ShowRewardBasedVideo ()
{
if (this.rewardedVideoAd.isReady ()) {
this.rewardedVideoAd.Show ();
} else {
MonoBehaviour.print ("Rewarded video ad is not ready yet");
}
}
다음 광고 이벤트를 배너, 전면, 보상 비디오 광고에 설정할 수 있습니다.
#region callback handlers
public void HandleOnAdLoadSucceeded (object sender, EventArgs args)
{
MonoBehaviour.print ("HandleOnAdLoadSucceded event received");
}
public void HandleAdLoadFailed (object sender, AdLoadFailedEventArgs args)
{
MonoBehaviour.print ("HandleAdLoadFailed event received with message: " + args.Error);
}
public void HandleAdDisplayed (object sender, EventArgs args)
{
MonoBehaviour.print ("HandleAdDisplayed event received");
}
public void HandleAdDismissed (object sender, EventArgs args)
{
MonoBehaviour.print ("HandleAdDismissed event received");
}
public void HandleAdInteraction (object sender, AdInteractionEventArgs args)
{
MonoBehaviour.print ("HandleAdDismissed event received " + args.Message);
}
public void HandleUserLeftApplication (object sender, EventArgs args)
{
MonoBehaviour.print ("HandleUserLeftApplication event received");
}
#endregion
#region Interstitial specific callback handlers
public void HandleAdReceived (object sender, EventArgs args)
{
MonoBehaviour.print ("HandleAdReceived event received");
}
public void HandleAdWillDisplay (object sender, EventArgs args)
{
MonoBehaviour.print (
"HandleAdWillDisplay event received with message: ");
}
public void HandleAdDisplayFailed (object sender, EventArgs args)
{
MonoBehaviour.print ("HandleAdDisplayFailed event received");
}
#endregion
#region RewardBasedVideo specific callback handlers
public void HandleRewardActionCompleted (object sender, AdRewardActionCompletedEventArgs args)
{
MonoBehaviour.print (
"HandleRewardActionCompleted event received for " + args.Rewards);
}
#endregion
참고: 보상 비디오 광고 전용 args.Rewards
는 JSON 문자열 형식입니다.