Amazon Publisher Services에서 APS Unity 플러그인을 다운로드하고 임포트합니다.
Amazon Publisher Services 어댑터를 설치하거나 업그레이드하려면 Unity 메뉴 바에서 Amazon > Manage SDKs를 선택합니다. Amazon SDK Manager가 나타나면 AppLovin MAX 옆에 있는 Install을 클릭합니다.

Amazon Publisher Services SDK는 MAX SDK 외부에서 초기화해야 합니다.
Amazon.Initialize(amazonAppId);
Amazon banner 또는 MREC 광고를 MAX에 연동하려면 먼저 Amazon 광고를 로드해야 합니다.
MAX banner 또는 MREC 광고를 생성하기 전에 응답 객체를 MaxSdk에 전달합니다.
이는 MaxSdk#SetBannerLocalExtraParameter() 또는 MaxSdk#SetMRecLocalExtraParameter()를 호출하여 수행할 수 있습니다.
자동 새로고침되는 banner 광고의 경우, 광고를 한 번만 로드하십시오.
public class MainMenu : MonoBehaviour
{
⋮
private void loadAd()
{
int width;
int height;
string slotId;
if (MaxSdkUtils.IsTablet())
{
width = 728;
height = 90;
slotId = "«Amazon-leader-slot-ID»";
}
else
{
width = 320;
height = 50;
slotId = "«Amazon-banner-slot-ID»";
}
var apsBanner = new APSBannerAdRequest(width, height, slotId, new AdNetworkInfo(ApsAdNetwork.MAX));
apsBanner.onSuccess += (adResponse) =>
{
MaxSdk.SetBannerLocalExtraParameter(«ad-unit-ID», "amazon_ad_response", adResponse.GetResponse());
CreateMaxBannerAd();
};
apsBanner.onFailedWithError += (adError) =>
{
MaxSdk.SetBannerLocalExtraParameter(«ad-unit-ID», "amazon_ad_error", adError.GetAdError());
CreateMaxBannerAd();
};
apsBanner.LoadAd();
}
private void CreateMaxBannerAd()
{
MaxSdk.CreateBanner(«ad-unit-ID», MaxSdk.BannerPosition.BottomCenter);
MaxSdk.SetBannerPlacement(«ad-unit-ID», "«placement»");
}
}
public class MainMenu : MonoBehaviour
{
⋮
private void loadAd()
{
var apsMRec = new APSBannerAdRequest(300, 250, «Amazon-MREC-slot-ID», new AdNetworkInfo(ApsAdNetwork.MAX));
apsMRec.onSuccess += (adResponse) =>
{
MaxSdk.SetMRecLocalExtraParameter(«ad-unit-ID», "amazon_ad_response", adResponse.GetResponse());
CreateMaxMRecAd();
};
apsMRec.onFailedWithError += (adError) =>
{
MaxSdk.SetMRecLocalExtraParameter(«ad-unit-ID», "amazon_ad_error", adError.GetAdError());
CreateMaxMRecAd();
};
apsMRec.LoadAd();
}
private void CreateMaxMRecAd()
{
MaxSdk.CreateMRec(«ad-unit-ID», MaxSdk.AdViewPosition.Centered);
MaxSdk.setMRecPlacement(«ad-unit-ID», "«placement»");
}
}
Amazon interstitial 광고를 MAX에 연동하려면 먼저 Amazon 광고를 로드해야 합니다.
MAX interstitial 광고를 생성하기 전에 응답 객체를 MaxSdk에 전달합니다.
이는 MaxSdk#SetInterstitialLocalExtraParameter()를 호출하여 수행할 수 있습니다.
세션당 한 번만 Amazon 응답 객체를 로드하고 로컬 익스트라 파라미터(local extra parameter)로 MaxSdk에 전달해야 합니다.
public class MainMenu : MonoBehaviour
{
private bool IsFirstLoad = true;
private void LoadAd()
{
if (IsFirstLoad)
{
IsFirstLoad = false;
var interstitialAd = new APSInterstitialAdRequest(«Amazon-inter-slot-ID», new AdNetworkInfo(ApsAdNetwork.MAX));
interstitialAd.onSuccess += (adResponse) =>
{
MaxSdk.SetInterstitialLocalExtraParameter(«ad-unit-ID», "amazon_ad_response", adResponse.GetResponse());
MaxSdk.LoadInterstitial(«ad-unit-ID»);
};
interstitialAd.onFailedWithError += (adError) =>
{
MaxSdk.SetInterstitialLocalExtraParameter(«ad-unit-ID», "amazon_ad_error", adError.GetAdError());
MaxSdk.LoadInterstitial(«ad-unit-ID»);
};
interstitialAd.LoadAd();
}
else
{
MaxSdk.LoadInterstitial(«ad-unit-ID»);
}
}
}
public class MainMenu : MonoBehaviour
{
private bool IsFirstLoad = true;
private void LoadAd()
{
if (IsFirstLoad)
{
IsFirstLoad = false;
var interstitialVideoAd = new APSVideoAdRequest(320, 480, «Amazon-video-inter-slot-ID», new AdNetworkInfo(ApsAdNetwork.MAX));
interstitialVideoAd.onSuccess += (adResponse) =>
{
MaxSdk.SetInterstitialLocalExtraParameter(«ad-unit-ID», "amazon_ad_response", adResponse.GetResponse());
MaxSdk.LoadInterstitial(«ad-unit-ID»);
};
interstitialVideoAd.onFailedWithError += (adError) =>
{
MaxSdk.SetInterstitialLocalExtraParameter(«ad-unit-ID», "amazon_ad_error", adError.GetAdError());
MaxSdk.LoadInterstitial(«ad-unit-ID»);
};
interstitialVideoAd.LoadAd();
}
else
{
MaxSdk.LoadInterstitial(«ad-unit-ID»);
}
}
}
Amazon rewarded video 광고를 MAX에 연동하려면 먼저 Amazon 광고를 로드해야 합니다.
MAX 광고를 로드하기 전에 응답 객체를 MaxSdk에 전달합니다.
이는 MaxSdk#SetRewardedAdLocalExtraParameter()를 호출하여 수행할 수 있습니다.
세션당 한 번만 Amazon 응답 객체를 로드하고 로컬 익스트라 파라미터(local extra parameter)로 MaxSdk에 전달해야 합니다.
public class MainMenu : MonoBehaviour
{
private bool IsFirstLoad = true;
private void LoadAd()
{
if (IsFirstLoad)
{
IsFirstLoad = false;
var rewardedVideoAd = new APSVideoAdRequest(320, 480, «Amazon-video-rewarded-slot-ID», new AdNetworkInfo(ApsAdNetwork.MAX));
rewardedVideoAd.onSuccess += (adResponse) =>
{
MaxSdk.SetRewardedAdLocalExtraParameter(«ad-unit-ID», "amazon_ad_response", adResponse.GetResponse());
MaxSdk.LoadRewardedAd(«ad-unit-ID»);
};
rewardedVideoAd.onFailedWithError += (adError) =>
{
MaxSdk.SetRewardedAdLocalExtraParameter(«ad-unit-ID», "amazon_ad_error", adError.GetAdError());
MaxSdk.LoadRewardedAd(«ad-unit-ID»);
};
rewardedVideoAd.LoadAd();
}
else
{
MaxSdk.LoadRewardedAd(«ad-unit-ID»);
}
}
}
AppLovin은 Amazon SDK의 테스트 모드를 활성화할 것을 권장합니다. 테스트 모드를 활성화하면 테스트 광고를 수신하게 됩니다. 다음 호출을 통해 테스트 모드를 활성화하십시오.
Amazon.EnableLogging(true);
Amazon.EnableTesting(true);