2012-03-17 17 views
12

मैं पहले से ही सफल तैनात ऐप में विज्ञापनों को एकीकृत करने की कोशिश कर रहा हूं। हालांकि कोई फर्क नहीं पड़ता कि मैं क्या करता हूं, मुझे लगता है कि विज्ञापन काम नहीं कर रहे हैं। मैंने कोड संस्करण और ड्रैग एन 'ड्रॉप gui संस्करण दोनों का उपयोग करने का प्रयास किया है। न तो मैं काम करने के लिए मिल सकता है।विंडोज फोन विज्ञापन काम नहीं कर रहे हैं

यह वही है जो मैं देखता हूं: जब यह शुरू होता है तो यह एक दूसरे भाग के लिए फ्लैश हो सकता है, जहां विज्ञापन होना चाहिए, लेकिन कोई भी कम नहीं, कोई भी नहीं जोड़ता है। यह पहचानता है कि यह वह जगह है जहां मैं इसे रखता हूं, जब मैं इसे एक बटन पर रखता हूं, तो बटन अनजान हो जाता है। सभी कहा जा रहा है, कोई डिफ़ॉल्ट "माइक्रोसॉफ्ट विज्ञापन" छवि पॉप अप नहीं है। मैंने विज्ञापन एसडीके स्थापित किया है और विज्ञापनों को आसानी से अन्य परियोजनाओं में प्रदर्शित करने में सक्षम रहा है।

क्या देता है? यह बहुत ही सरल पृष्ठ है और मैं यह नहीं समझ सकता कि क्या गलत है। ऐसा लगता है कि मैं किसी भी अन्य पृष्ठों पर विज्ञापन नहीं डाल सकता ... मेरे पास माइक्रोसॉफ्ट है। विज्ञापन। मोबाइल और माइक्रोसॉफ्ट। विज्ञापन। Mobile.UI परियोजना में शामिल है और मेरे इंटरनेट (मैं एक परियोजना विज्ञापनों के साथ एक ही समय में खुला है और यह काम करता है)

<phone:PhoneApplicationPage 
    x:Class="AppName.AdPage" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone" 
    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    FontFamily="{StaticResource PhoneFontFamilyNormal}" 
    FontSize="{StaticResource PhoneFontSizeNormal}" 
    Foreground="{StaticResource PhoneForegroundBrush}" 
    SupportedOrientations="Portrait" Orientation="Portrait" 
    mc:Ignorable="d" d:DesignHeight="768" d:DesignWidth="480" 
    shell:SystemTray.IsVisible="True" 
    xmlns:my="clr-namespace:Microsoft.Advertising.Mobile.UI;assembly=Microsoft.Advertising.Mobile.UI"> 

    <!--LayoutRoot is the root grid where all page content is placed--> 
    <Grid x:Name="LayoutRoot" Background="Transparent"> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="Auto"/> 
      <RowDefinition Height="*"/> 
     </Grid.RowDefinitions> 

     <!--TitlePanel contains the name of the application and page title--> 
     <StackPanel x:Name="TitlePanel" Margin="12,17,12,28"> 
      <TextBlock x:Name="PageTitle" Text="Thank You!" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}" Width="334" /> 
     </StackPanel> 

     <!--ContentPanel - place additional content here--> 
     <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0" Height="569" VerticalAlignment="Top"> 

      <Button Content="Ok" Height="72" HorizontalAlignment="Center" Margin="0,428,0,0" Name="button1" VerticalAlignment="Top" Width="160" Click="button1_Click" /> 
      <my:AdControl AdUnitId="Image480_80" ApplicationId="test_client" Height="80" HorizontalAlignment="Left" Margin="-12,458,0,0" Name="adControl1" VerticalAlignment="Top" Width="480" /> 
     </Grid> 
    </Grid> 
</phone:PhoneApplicationPage> 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Net; 
using System.Windows; 
using System.Windows.Controls; 
using System.Windows.Documents; 
using System.Windows.Input; 
using System.Windows.Media; 
using System.Windows.Media.Animation; 
using System.Windows.Shapes; 
using Microsoft.Phone.Controls; 
using Microsoft.Advertising.Mobile.UI; 
using Microsoft.Advertising.Mobile; 
namespace Stickey_Note_v._1 
{ 
    public partial class AdPage : PhoneApplicationPage 
    { 
     public AdPage() 
     { 
      InitializeComponent(); 
     } 

     private void button1_Click(object sender, RoutedEventArgs e) 
     { 
      NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.Relative)); 
     } 
    } 
} 

उत्तर

20

मेरे पास एक ही समस्या थी और इसके बारे में blog post लिखा था। यहाँ महत्वपूर्ण सामग्री है:

के साथ एक समस्या के लक्षण एसडीके के AdControl बहुत सुसंगत होने लगते हैं: पृष्ठ लोड हो तो नियंत्रण संक्षिप्त flickers, 1 पिक्सेल फ्रेम के संकेत दिखा रहा है, और फिर, poof। यह किसी भी प्रकार के विच्छेदन को छोड़कर, शून्यता में गिर जाता है।

सिद्धांत रूप में, AdControl स्थापित करना सरल है। documentation from Microsoft मूल बातें रूपरेखा:

  • डाउनलोड करें और Microsoft Advertising SDK स्थापित करें।
  • Microsoft.Advertising.Mobile.UI का संदर्भ जोड़ें।
  • नियंत्रण स्टूडियो डिजाइनर में पृष्ठ पर नियंत्रण खींचें।
  • AdUnitId और ApplicationId गुणों को या तो परीक्षण मान या वास्तविक लाइव मानों को सेट करें, जिन्हें आप Microsoft pubCenter से प्राप्त कर सकते हैं।

लेकिन यह इतना आसान नहीं हो सकता था। मैंने दस्तावेज़ीकरण का ध्यानपूर्वक पालन किया, लेकिन कुछ भी काम नहीं कर रहा था। मैं परीक्षण विज्ञापन भी दिखाने के लिए नहीं मिला, जो वास्तव में अजीब लग रहा था। मैं भी अपने ऐप (याय स्रोत नियंत्रण!) के पुराने संस्करण में वापस आ गया और नए। डीएल में गिरा दिया। विफलता।

अंत में, मुझे obscure forum post में एक सुराग मिला।

माइक्रोसॉफ्ट दस्तावेज कई महत्वपूर्ण विवरणों का उल्लेख करने के लिए उपेक्षा करता है। आप के रूप में मैं था, तो आप मैंगो विज्ञापन SDK के लिए एक मौजूदा परियोजना अपग्रेड कर रहे हैं निम्नलिखित पर विशेष ध्यान देना चाहिए:

  • आप AdControl के लिए एक ऊंचाई और चौड़ाई निर्दिष्ट करना होगा।Height और Width विशेषताओं को निर्दिष्ट करने में विफल होने या उन्हें auto पर सेट करने में विफलता, निराशा के आँसू पैदा करेगी। मैं 80 पिक्सेल ऊंचे और 480 पिक्सेल चौड़े अनुशंसा करता हूं, क्योंकि यह माइक्रोसॉफ्ट द्वारा प्रदान किए जाने वाले विज्ञापनों का मूल आकार है।
  • ऐसा लगता है कि आपके पास एक ही पृष्ठ पर दो AdControls नहीं हो सकते हैं, या कम से कम एक ही मूल तत्व में नहीं। दूसरा एक पतन होगा। इसके चारों ओर एक रास्ता हो सकता है, लेकिन मैंने अपने डेमो ऐप के निर्माण के दौरान इसे खोज लिया और समाधान को आगे बढ़ाने की परवाह नहीं की।
  • आपको अपने WMAppManifest.xml फ़ाइल में कुछ क्षमताओं को निर्दिष्ट करना होगा। चूंकि मैं अपने ऐप को अपग्रेड कर रहा था, इसलिए मेरे पास घोषित कुछ नई क्षमताओं नहीं थीं। वह जो सभी परेशानी पैदा कर रहा था ID_CAP_IDENTITY_USER था। निम्नलिखित क्षमताओं सब सही ढंग से कार्य करने के लिए नियंत्रण के लिए आवश्यक हैं:
<Capabilities> 
    <Capability Name="ID_CAP_IDENTITY_USER"/> 
    <Capability Name="ID_CAP_MEDIALIB"/> 
    <Capability Name="ID_CAP_NETWORKING"/> 
    <Capability Name="ID_CAP_PHONEDIALER"/> 
    <Capability Name="ID_CAP_WEBBROWSERCOMPONENT"/> 
</Capabilities> 

आशा में मदद करता है!

+1

के स्थान पर एक डिफ़ॉल्ट छवि प्रदर्शित करने के लिए क्रेडेंशियल्स (चाहिए), सर, केवल असाधारण रूप से सहायक से अधिक हैं :) यह पता चला कि मैंने नहीं किया <क्षमता नाम = "ID_CAP_NETWORKING" /> lol go figure –

+1

हां, अच्छा शामिल करें। :) सेवा का होकर ख़ुशी है। –

+0

यदि आप डेटाबेस बनाना चाहते हैं। https://gist.github.com/1927879 –

2

मुझे लगता है कि तुम्हारी समस्या (यदि आप नहीं था 'से आ सकता है काम कर रहा है टी इसे यहाँ पोस्टिंग) के लिए इसे हटाने:

<my:AdControl AdUnitId="Image480_80" ApplicationId="test_client" Height="80" HorizontalAlignment="Left" Margin="-12,458,0,0" Name="adControl1" VerticalAlignment="Top" Width="480" /> 
     </Grid> 

आप AdUnitId और ApplicationId जो आप pubCenter से प्राप्त कर उपयोग करना होगा।

+1

हां, मुझे प्रमाण पत्र प्राप्त हुए हैं लेकिन परीक्षण के लिए, वास्तविक डेटा –

0

एक और उन लोगों के लिए नोट करने के लिए लगता है कि अभी भी

xmlns:ads="clr-namespace:Microsoft.Advertising.Mobile.UI;assembly=Microsoft.Advertising.Mobile.UI" 

<ads:AdControl Height="80" 
          Width="480" 
          AdUnitId="Image480_80" 
          ApplicationId="test_client" /> 

संघर्ष के उदाहरण में दिखाया। विज्ञापन घोषित करना और नामस्थान बहुत महत्वपूर्ण है। मेरी प्रोजेक्ट में मैंने बस बाकी काम करने के लिए विज्ञापन नियंत्रक भाग alt + resharper के लिए दर्ज किया है जो उसने नहीं किया था। वह यूआई के साथ विज्ञापनों को प्रतिस्थापित करता है और विज्ञापन में कोई त्रुटि संकलन नहीं होता है, फिर भी विज्ञापन प्रदर्शित नहीं होंगे। जब मैंने खुद को विज्ञापन घोषित कर दिया और विज्ञापन नियंत्रण नाम बदल दिया। सब कुछ ठीक काम किया।

संबंधित मुद्दे