Unity接入PangleSDK

  • 前提条件

  • unity Pangle的插件地址:https://www.pangleglobal.com/integration/unity-get-start
  • 下载之后导入插件

Android平台

初始化

  • 在Start方法里进行初始化
 var config = new PAGConfig.Builder()
            .SetAppId("APPID")
            .SetDebugLog(true)
            .Build();
        PAGSdk.Init(config);
        PAGSdk.OnInitFinish += (result, code, message) =>
        {
            Debug.LogError($"result = {result}, error code = {code}, message = {message}");
        };

加载广告

  • 先在控制广告的脚本中定义RewardController类
 public class RewardController
    {
        public readonly PAGRewardedAd rewardedAd;

        public RewardController(string slotId)
        {
            rewardedAd = new PAGRewardedAd(slotId);
            rewardedAd.OnLoad += (() => { Debug.LogError("[PAGRewarded]-[load]:successfully"); });
            rewardedAd.OnLoadFailed += ((code, msg) =>
            {
                Debug.LogError($"[PAGRewarded]-[load]:failed, code ={code}, error message = {msg}");
            });

            rewardedAd.OnAdShowed += (() => { Debug.LogError("[PAGRewarded]-[interaction]:show"); });
            rewardedAd.OnAdClicked += (() => { Debug.LogError("[PAGRewarded]-[interaction]:click"); });
            rewardedAd.OnAdDismissed += (() => { Debug.LogError("[PAGRewarded]-[interaction]:dismiss"); });
            rewardedAd.OnUserEarnedReward += (item =>
            {
                Debug.LogError(
                    $"[PAGRewarded]-[interaction]:User earned reward, amount = {item.RewardAmount}, reward name ={item.RewardName}");
                //奖励下发
            });
            rewardedAd.OnUserEarnedRewardFail += ((code, message) =>
            {
                Debug.LogError(
                    $"[PAGRewarded]-[interaction]:User earned reward failed, error code =  {code}, message = {message}");
            });
        }

        public void LoadRewardAd()
        {
            rewardedAd?.Load(new PAGRewardedRequest());
        }

        public void ShowRewardAd()
        {
            rewardedAd?.Show();
        }

        public void DestroyRewardAd()
        {
            rewardedAd?.DestroyAd();
        }
    }
  • 在控制广告的脚本中定义RewardController变量和加载广告的方法
 /// <summary>
 /// 加载激励视频
 //AndroidSlotID为广告id
 /// </summary>
 private static RewardController _rewardAdController;
    public void LoadRewardAd(string AndroidSlotID)
    {
        _rewardAdController?.DestroyRewardAd();
        _rewardAdController = new RewardController(AndroidSlotID);
        _rewardAdController.LoadRewardAd();
    }

播放广告

/// <summary>
/// 播放广告
/// </summary>
public void ShowRewardAd(string AndroidSlotID,Action _rewardedEvent)
{
   if (_rewardAdController.rewardedAd.IsLoaded())
   {
         _rewardAdController?.ShowRewardAd();
         //播放广告
   }
   else
   {
         //重新加载
   }
}

IOS平台

IOS在unity中的操作和安卓中的一模一样,下面主要说下配置

Xcode导出工程之后,在终端里运行

  • 先cd到导出的Xcode项目路径下
cd ~路径
  •  再输入pod install
pod install

 加载完成后消除所有警告和错误

打开Xcode工作区

在info.list里面配置广告归因

写初始化代码

  • ios需要在Xcode中的UnityAppController.m文件中再次配置初始化
初始化代码
- (void)setupPangleSDK {
    PAGConfig *config = [PAGConfig shareConfig];
    config.appID = @"APPID";
    //If you need to display open ads, you should set the app logo image
//    config.appLogoImage = [UIImage imageNamed:@"AppIcon"];
//#if DEBUG
    config.debugLog = YES;
//#endif
    [PAGSdk startWithConfig:config completionHandler:^(BOOL success, NSError * _Nonnull error) {
        if (success) {
            //load ad data
        }
    }];
}
  • 在UnityAppController.m中的- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions中添加[self setupPangleSDK]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值