none
UWP。Vungleのイベントが設定できない。 RRS feed

  • 質問

  • https://support.vungle.com/hc/ja/articles/360003059331-Vungle-スタート-ガイド-Windows-SDK-v-6#手動での編集-0-3

    を参照しながら、MainPage.xaml.csに、

            //(Vungle
            private static string Vungle_appID = "xxxxxx";
            private static string[] Vungle_placementArray = new string[] { "yyyyyy" };
            private static VungleAd sdkInstance = AdFactory.GetInstance(Vungle_appID, Vungle_placementArray);
            sdkInstance.OnAdPlayableChanged += SdkInstance_OnAdPlayableChanged;

    と、

    private async void SdkInstance_OnAdPlayableChanged(object sender, AdPlayableEventArgs e)
            {
                // e.Placement - placement ID in string
                // Run asynchronously on the UI thread
                await CoreApplication.MainView.Dispatcher.RunAsync(
                    CoreDispatcherPriority.Normal, new DispatchedHandler(() => ; methodToRun(e.Placement))); 
            }

    を書きましたが、

    1)「SdkInstance_OnAdPlayableChanged」内にて、「methodToRun」が、「現在のコンテキストにmethodToRunという名前が無い」というエラー

    2)「AdFactory.GetInstance」が、「旧型式です」というメッセージ

    3)「sdkInstance」にて、「OnAdPlayableChanged」が、現在のコンテキストに無いというエラー

    4)「SdkInstance_OnAdPlayableChanged」が、現在のコンテキストに無いというエラー、

    が出ました。usingは、using VungleSDK;があります。

    やりたいこと:Vungleの広告を再生するために、上記のエラーを解決する。

    上記のエラーの解決策をご教示ください。



    • 編集済み ナノレス 2020年3月13日 11:35 文字列の追加
    2020年3月13日 11:34

回答

  • 1)「SdkInstance_OnAdPlayableChanged」内にて、「methodToRun」が、「現在のコンテキストにmethodToRunという名前が無い」というエラー

    参照しているスタートガイドが不完全なコード。
    githubのページにましなコードがあります

    2)「AdFactory.GetInstance」が、「旧型式です」というメッセージ

    GetInstanceの部分を右クリックして「定義へ移動」。引数違いのオーバーロードが一覧が表示されるはずです。
    そのメソッドにObsoleteがついているのは廃止予定のやつです。
    引数が2個やつは不要になったとgithubに書かれてます

    3)「sdkInstance」にて、「OnAdPlayableChanged」が、現在のコンテキストに無いというエラー
    4)「SdkInstance_OnAdPlayableChanged」が、現在のコンテキストに無いというエラー、
    private static string Vungle_appID = "xxxxxx";
    private static string[] Vungle_placementArray = new string[] { "yyyyyy" };
    private static VungleAd sdkInstance = AdFactory.GetInstance(Vungle_appID, Vungle_placementArray);
    ↓この部分をクラスフィールドにしてませんか?メソッド内に記述しないと不正なコードです
    sdkInstance.OnAdPlayableChanged += SdkInstance_OnAdPlayableChanged; 

    メソッド内にあるはずのコードがクラスフィールドに記述されているのでC#のコードとして壊れているのでエラーになってるのでしょう。

    まずはgithubにある全体が記述されているサンプルコードの方を参照した方がいいでしょう。


    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)

    • 回答としてマーク ナノレス 2020年3月14日 6:22
    2020年3月13日 14:23