まず、スクリーンショット:
タイトルと画像はそれをかなりよく説明しています。アプリのメイングループビューの右側に広告が設定されており(この例のデフォルトのグリッドテンプレートと非常によく似ています)、[バージョン情報]画面を表示すると、広告がブリードスルーします。
[バージョン情報]画面は、dev-camp(下記)で配布されたいくつかのコードサンプルから借用したSettingsFlyoutに設定されたユーザーコントロールです。
class SettingsFlyout
{
private const int _width = 346;
private Popup _popup;
public void ShowFlyout(UserControl control)
{
_popup = new Popup();
_popup.Closed += OnPopupClosed;
Window.Current.Activated += OnWindowActivated;
_popup.IsLightDismissEnabled = true;
_popup.Width = _width;
_popup.Height = Window.Current.Bounds.Height;
control.Width = _width;
control.Height = Window.Current.Bounds.Height;
_popup.Child = control;
_popup.SetValue(Canvas.LeftProperty, Window.Current.Bounds.Width - _width);
_popup.SetValue(Canvas.TopProperty, 0);
_popup.IsOpen = true;
}
private void OnWindowActivated(object sender, Windows.UI.Core.WindowActivatedEventArgs e)
{
if (e.WindowActivationState == Windows.UI.Core.CoreWindowActivationState.Deactivated)
{
_popup.IsOpen = false;
}
}
void OnPopupClosed(object sender, object e)
{
Window.Current.Activated -= OnWindowActivated;
}
}
そして、私はそれが求められることを知っているので、これが私のページの広告を定義するXAMLの行です:
<ads:AdControl Visibility="{Binding IsTrial, Source={StaticResource License}, Converter={StaticResource BooleanToVisibilityConverter}}" Grid.Row="0" Grid.RowSpan="2" x:Name="LandscapeAdControl" ApplicationId="test_client" AdUnitId="Image_160x600" Width="160" Height="600" VerticalAlignment="Center" HorizontalAlignment="Right"/>
それで、なぜこれが起こっているのですか、そしてどうすればそれを防ぐことができますか?
疑惑
私はまだConsumerPreviewb / cを使用しています。月曜日にショーアンドテルがあり、これを表示しているときに機能しなくなるリスクを冒さずに、このボックスのOSの移行に取り組む時間がありませんでした。そのため、バグの場合はアップグレードすると修正される可能性があります。
1.a. アップデートリリースプレビューにアップグレードしましたが、同じ問題が発生します。
- ここで、いくつかの派手な広告隠しだがまだ印象を得るのを防ぐテクニックがありますか?おそらく、私が広告をui要素でカバーしようとしているのに、ユーザーに表示されなくてもそのインプレッションのクレジットを取得しようとしていると考えられます。もしそうなら、どうすればこの完全に合法的なユースケースを管理できますか?
ネタバレ注意:ZIndexはどこにも設定されていません。