Nhúng quảng cáo Admob trên Windows Phone

Sau 2 tháng hỗ trợ Windows Phone, Admob làm đau tim hàng nghìn lập trình viên trên toàn thế giới khi gặp phải sự cố không trả ads về trong những ngày cuối tháng. Thường các bạn sẽ show ads và/hoặc load app data (load dữ liệu từ mạng, bung database, code UI,…) ở những event như:

– ReceivedAd (có ads trả về),

– FailedToReceiveAd (không có ads),

– DismissingOverlay (bấm dấu X để close ads),

Nhưng đôi khi SDK lại không hand được các event đó làm cho app không thể vào được bình thường và crash app (lỗi đã xuất hiện những ngày cuối tháng 5 và 6), cách code sau sẽ góp ý cho bạn một cách logic khi nhúng Admob.

1. Request

Bạn đặt một biến bool (isReadyAd) để xác định ads đã về hay chưa:


public static InterstitialAd interstitialAd;
public static bool isReadyAd = false;

public MainPage()
{
InitializeComponent();

if (interstitialAd == null)
{
interstitialAd = new InterstitialAd("ca-app-pub-45275753533/527537373");
AdRequest adRequest = new AdRequest();
interstitialAd.ReceivedAd += OnAdReceived;
interstitialAd.LoadAd(adRequest);
}
}

private void OnAdReceived(object sender, AdEventArgs e)
{
isReadyAd = true;
}

(đổi AdID của bạn vào nhé)

 

2. Show ads khi cần

Lúc mở page khác hoặc next một level trong game bạn show ads lên, đây là ý nghĩa chính xác nhất cho InterstitialAd (Full ads hay còn gọi là Trung Gian):

bool adShown = false;
protected override void OnNavigatedTo(NavigationEventArgs e)
{
if (MainPage.isReadyAd && !adShown)
{
adShown = true;
MainPage.interstitialAd.ShowAd();
}
base.OnNavigatedTo(e);
}

private void nextLevel_Tap(object sender, System.Windows.Input.GestureEventArgs e)
{
if (MainPage.isReadyAd)
{
MainPage.interstitialAd.ShowAd();
}
}

Code mẫu các bạn có thể download tại đây:
http://www.mediafire.com/download/4bnxog78r7xjpwh/Admob_Example.zip

Chúc các bạn thành công!

Advertisements

6 thoughts on “Nhúng quảng cáo Admob trên Windows Phone

  1. A ơi cho e hỏi giờ InterstitialAd của e không hiện lên lần nào. A có cách khắc phục ko ạ

    • Có 2 vấn đề ở đây:
      – check xem máy em đã có mạng chưa?
      – em đã thay ID của em vào chưa? (lúc tạo ID thì em phải tạo Interstitial (trung gian) nha)

      • Bạn cho mình hỏi làm sao để gọi được sự kiện click vào ad vậy? Ví dụ như mình click vào 1 button chẳng hạn, nó sẽ như là mình click vào ad

  2. Hi Anh, e nghĩ vấn đề của e là (lúc tạo ID thì em phải tạo Interstitial (trung gian) nha).
    Có phải là ở đoạn: “Chọn định dạng quảng cáo và đặt tên cho đơn vị quảng cáo” Mình tạo 1 cái loại quảng cáo TRUNG GIAN và 1 BIỂU NGỮ đúng ko ạ? E mới tạo kiểu Biểu Ngữ vào dùng nó 😀

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s