Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 检测是否单击了AdControl(Microsoft广告SDK)_C#_Xaml_Windows Store Apps - Fatal编程技术网

C# 检测是否单击了AdControl(Microsoft广告SDK)

C# 检测是否单击了AdControl(Microsoft广告SDK),c#,xaml,windows-store-apps,C#,Xaml,Windows Store Apps,我尝试了IsingagedChanged、PointerPressed/PointerReleased,当我单击AdControl时,这些事件都不会触发。(已刷新事件确实发生) 我正在用C#/XAML开发一个Windows应用商店应用程序 私有无效ad1_IsEngagedChanged_1(对象发送方,路由目标) { //没有被解雇 } 私有无效ad1_地址刷新_1(对象发送方,路由目标e) { //发射 } 私有void ad1_PointerPressed_1(对象发送方,Pointer

我尝试了IsingagedChanged、PointerPressed/PointerReleased,当我单击AdControl时,这些事件都不会触发。(已刷新事件确实发生)

我正在用C#/XAML开发一个Windows应用商店应用程序


私有无效ad1_IsEngagedChanged_1(对象发送方,路由目标)
{
//没有被解雇
}
私有无效ad1_地址刷新_1(对象发送方,路由目标e)
{
//发射
}
私有void ad1_PointerPressed_1(对象发送方,PointerRoutedEventArgs e)
{
//没有被解雇
}

我想奖励点击广告的用户。

IsEngagedChanged事件确实会触发,但不会在您预期的时间触发。如果您使用的广告导致广告全屏显示(单击全屏显示),则当用户单击它时,将触发IsEngagedChanged事件。如果你使用一个普通的广告(你是根据你的adUnitId做的),它指向某个链接,事件将不会触发。这太愚蠢了

正如Walt Ritscher所指出的,这在文档中:

当用户单击广告时引发,并且与广告交互,而不是 而不是应用程序

这让人相信它会在任何点击时被调用,但事实并非如此。微软广告SDK中有太多遗漏/错误的东西,以至于你想哭


希望这对某人有所帮助。

是的,你的文章中遗漏了一些东西。你的代码。代码没有什么特别之处。我认为该控件的要点是Microsoft知道它被点击了。那么为什么要在该控件上放置一个IsEngagedChanged事件呢?@HansPassant,IsEngagedChanged事件是AdControl的一部分,用于确定用户是否正在与该广告交互。来自MDSN当用户单击广告时引发,并且与广告交互,而不是与应用交互
<ad:AdControl Height="90" x:Name="ad1" Width="728" AdUnitId="10042998" ApplicationId="d25517cb-12d4-4699-8bdc-52040c712cab" IsEngagedChanged="ad1_IsEngagedChanged_1" AdRefreshed="ad1_AdRefreshed_1" PointerPressed="ad1_PointerPressed_1" />

    private void ad1_IsEngagedChanged_1(object sender, RoutedEventArgs e)
    {
         //not fired
    }

    private void ad1_AdRefreshed_1(object sender, RoutedEventArgs e)
    {
         //fired
    }

    private void ad1_PointerPressed_1(object sender, PointerRoutedEventArgs e)
    {
         //not fired
    }