0

我对 AdColony-UnitySDK 有疑问。当 AdColony 的视频播放完毕后,不会调用 OnVideoFinished() 方法。在这种情况下,以下来源在 iOS 中运行良好。而且,服务器接收到两个设备的成功回调。因此,只有 Android 设备不工作。

这是实现 AdColony 的源代码:

    public void initializeAdColony(){
    try {
        //Delegates
        AdColony.OnVideoFinished += (adshown)=>{
            if (adshown) {
                AdColonyLog("OnVideoFinished", "Completed");
                GameBGM.Instance.PlayWaiting();
                CallAdColonySuccessCallback("Success", v4vcSuccess,v4vcFail);
            } else {
                AdColonyLog("OnVideoFinished", "Failed");
                CallAdColonyFailureCallback("Fail", v4vcSuccess,v4vcFail);
            }
        };
        AdColony.OnV4VCResult += (videoSuccessCallbacks,name,amount)=>{
            if(videoSuccessCallbacks)
            {
                AdColonyLog("OnV4VCResult","V4VC SUCCESS: name = " + name + ", amount = " + amount);
                returnReward = name;
            }
            else
            {
                AdColonyLog("OnV4VCResult","V4VC FAILED!");
                CallAdColonyFailureCallback("Fail", v4vcSuccess,v4vcFail);
            }
        };

        //customID
        AdColony.SetCustomID(LoginInfo.Instance.id);

        //configure
        AdColony.Configure( 
                           CurrentBundleVersion.version, 
                           AdColonyData.appID(), 
                           AdColonyData.zoneIDs[AdColonyData.Zone1], 
                           AdColonyData.zoneIDs[AdColonyData.Zone2],
                           AdColonyData.zoneIDs[AdColonyData.Zone3],
                           AdColonyData.zoneIDs[AdColonyData.Zone4],
                           AdColonyData.zoneIDs[AdColonyData.Zone5]
                           );
        //FinishInit
        AdColonyIsInit = true;
        AdColonyLog("Initiallize", "Complete");
    } catch (Exception e){
        //Error
        AdColonyLog("Initiallize", e.Message);
    }
}

这是 AdColony 的视频展示的方法:

    public void ShowAdColonyVideo(System.Action successCallback, System.Action failureCallback){
    //InitAdColony
    if (!AdColonyIsInit) {
        initializeAdColony();
    }

    //Setup CallbackAction;
    shownVideo = false;
    v4vcSuccess = successCallback;
    v4vcFail = failureCallback;

    //Check
    foreach (string key in AdColonyData.services) {
        AdColonyLog("LoadKey", key + ":"+ AdColonyData.zoneIDs[key]);
        if (shownVideo) {
            break;
        }

        if (AdColony.IsV4VCAvailable (AdColonyData.zoneIDs [key])) {
            AdColonyLog ("ShowAdColonyVideo", "Video available");
            GameBGM.Instance.StopMusic ();
            shownVideo = true;
            AdColony.ShowV4VC (false, AdColonyData.zoneIDs [key]);
            break;
        } else {
            AdColonyLog ("ShowAdColonyVideo", "Video unavailable");
        }
    }

    if (!shownVideo) {
        failureCallback ();
    }
}

你能建议我如何解决这个问题吗?谢谢你。

4

1 回答 1

0

这是 AdColony 的一个已知问题,我们将在待定版本中发布修复程序。

我们将在此帖子发布后更新: https ://github.com/AdColony/AdColony-Unity-SDK

于 2015-06-17T00:53:35.807 回答