WindowsPhone - Tích hợp AmobiSDK
17/09/2016

Hiện nay số máy cài hệ điều hành WindowsPhone đã tăng lên nhanh chóng. Vì vậy Amobi đã phát hành thư viện SDK giúp bạn nhúng quảng cáo vào game/ứng dụng trên nền tảng WindowsPhone. Chỉ 2 phút lập trình tích hợp thư viện AmobiSDK, bạn đã có thể nhúng quảng cáo vào ứng dụng WindowsPhone của mình. Chúc bạn thành công.

 

 
 

Tải AmobiSDK vào project WindowsPhone


 

  • Trước hết bạn cần phải tạo ứng dụng trên hệ thống Amobi theo như hướng dẫn tại đây trước.
  • Bạn có thể tải thư viện AmobiSDK cho WindowsPhone tại đây.
  • Tùy thuộc vào platform bạn sử dụng, hãy lựa chọn SDK trong thư mục tương ứng.
  • Bạn có thểm tham khảo ví dụ mẫu tại đây 

 

 
  • Bổ sung banner fullscreen rich media.
  • Bổ sung hàm sự kiện khi không có quảng cáo.
  • Hỗ trợ SilverLight 8.1 và Unity.
  • Tương thích chuẩn kỹ thuật của các advertiser, cho phép nhận nhiều quảng cáo hơn.
  • Không phải thêm control như phiên bản banner cũ.
 
 
  • Nếu bạn đang sử dụng Banner 300x250 pop-up, hãy thay thế bằng banner Full Screen để có thể nhận nhiều quảng cáo hơn trong năm 2015.
  • Banner 300x250 nên được sử dụng bằng cách chèn lẫn như một nội dung. Hãy tham khảo hình ảnh bên dưới để rõ hơn.
  • Trong thời gian tới chúng tôi sẽ ngừng hỗ trợ banner pop-up 300x250. Tuy nhiên các banner 300x250 chèn lẫn nội dung vẫn được hỗ trợ. 
  • Bạn có thể xem hướng dẫn chi tiết hơn về các quy tắc đặt quảng cáo tại đây 
 
Banner 300x250 nên chèn giữa vào nội dung như trên
 
 

Video Ads là một đoạn quảng cáo clip 15s đến 30s, người dùng chỉ được đóng lại khi đã xem ít nhất 5s.

Bạn có thể gắn Video Ads vào các tình huống sau:

  • Bật khi mở một chức năng ứng dụng hoặc bắt đầu chơi game như hình dưới,
  • Kêu gọi người dùng xem quảng cáo Video Ads để ủng hộ.
  • Khuyến khích người dùng xem quảng cáo Video Ads để được quyền sử dụng một số chức năng hoặc thay cho mua xu, thanh toán trong game.
  • Khi không có Video Ads, bạn có thể bắt sự kiện này và hiển thị banner fullscreen để thay thế.

 

Video Ads được chạy trước khi người dùng xem clip.

Bước 1:

  • Project phải là Universal Windows (thêm quyền truy cập location cho project).
  • Bạn có thể tải thư viện AmobiSDK cho WindowsPhone tại đây. Giải nén file tải được, mở thư mục "VideoAds SDK Winphone Ver 1.4 20160411"
  • Sau đó vào thư mục "VideoSDK Universal 10.0 v1.0 20160411".
  • Add các file DLL sau: "VideoAdUniversal.dll" từ thư mục tương ứng cấu hình.
  • Thêm thư mục Icons chứa các icon của quảng cáo vào trong thư mục Assets của project. (có đính kèm theo)

Bước 2: Khai báo ứng dụng, lấy widgetcode như hướng dẫn tại đây

Bước 3: Thiết lập các thuộc tính, khởi tạo quảng cáo

  • Sử dụng lớp InsertAd để hiển thị quảng cáo (Nếu lấy quảng cáo video bị lỗi thì thư viện tự động lấy quảng cáo fullAd)
  • WidgetCode:    Mã quảng cáo được lấy từ Amobi ở bước 2.
  • ScaleX:    Tỉ lê về chiều rộng của quảng cáo so với chiều rộng của màn hình (hiển thị đẹp hơn), để 1.0 nếu bạn muốn fullscreen màn hình.
  • ScaleY:    Tỉ lê về chiều cao của quảng cáo so với chiều cao của màn hình (hiển thị đẹp hơn), để 1.0 nếu bạn muốn fullscreen màn hình.

Khởi tạo quảng cáo như sau

Gán quảng cáo trong xaml:

(sử dụng namespace: xmlns:ad="using:VideoAdUniversal.Controls")
<ad:InsertAd x:Name="InsertAdDemo"
  ScaleX="0.5"
  ScaleY="0.5"
  WidgetCode="
thay-widget-code-của-bạn-tại-đây"
  GetVideoAdCompleted="InsertAdDemo_GetVideoAdCompleted"
  GetVideoAdError="InsertAdDemo_GetVideoAdError"
  BeginPlayVideoAd="InsertAdDemo_BeginPlayVideoAd"
  SkipVideoAd="InsertAdDemo_SkipVideoAd"
  PlayVideoComplete="InsertAdDemo_PlayVideoComplete"
  GetFullAdError="InsertAdDemo_GetFullAdError"
  GetFullAdCompleted="InsertAdDemo_GetFullAdCompleted"
  CloseFullAd="InsertAdDemo_CloseFullAd"/>


Gán quảng cáo trong code behind (C#):

(sử dụng namespace: using VideoAdUniversal.Controls;)
private InsertAd _insertAd = new InsertAd();
private void MainPage_Loaded(object sender, RoutedEventArgs e)
{
  
// Bắt sự kiện loaded trong contrustor của page
  
// this.Loaded += MainPage_Loaded
  _insertAd.WidgetCode = "
thay-widget-code-của-bạn-tại-đây";
  _insertAd.ScaleX = 0.5;
  _insertAd.ScaleY = 0.5;
  _insertAd.GetVideoAdCompleted += InsertAdDemo_GetVideoAdCompleted;
  _insertAd.GetVideoAdError += InsertAdDemo_GetVideoAdError;
  _insertAd.BeginPlayVideoAd += InsertAdDemo_BeginPlayVideoAd;
  _insertAd.SkipVideoAd += InsertAdDemo_SkipVideoAd;
  _insertAd.PlayVideoComplete += InsertAdDemo_PlayVideoComplete;
  _insertAd.GetFullAdError += InsertAdDemo_GetFullAdError;
  _insertAd.GetFullAdCompleted += InsertAdDemo_GetFullAdCompleted;
  _insertAd.CloseFullAd += InsertAdDemo_CloseFullAd;
  this.GridVideoAd.Children.Add(_insertAd);           
}

 

Bước 4: Hiển thị quảng cáo
Sử dụng phương thức ShowAd().

InsertAdDemo.ShowAd(); // Nếu add quảng cáo ở xaml
_insertAd.ShowAd(); // Nếu add quảng cáo ở code behind

 

Bước 5: Các sự kiện

  • GetVideoAdError    Lấy quảng cáo video bị lỗi
  • GetVideoAdCompleted    Lấy quảng cáo video thành công
  • BeginPlayVideoAd    Bắt đầu chạy video quảng cáo
  • SkipVideoAd     Người dùng bỏ qua quảng cáo video
  • PlayVideoComplete    Hoàn thành việc chạy quảng cáo video
  • GetFullAdError    Lấy quảng cáo fullad bị lỗi
  • GetFullAdCompleted    Lấy quảng cáo fullad thành công
  • CloseFullAd    Đóng quảng cáo fullad

Bắt sự kiện:

// StatusVideoAd là một TextBlock hiển thị trạng thái của VideoAd
private void InsertAdDemo_GetVideoAdCompleted(object sender, bool isComplete)
{
  this.StatusVideoAd.Text = "Video Ads được lấy thành công";
}


private void InsertAdDemo_GetVideoAdError(object sender, string messageError)
{
  
this.StatusVideoAd.Text = "Video Ads bị lỗi " +"-" + messageError;
}
        
private void InsertAdDemo_BeginPlayVideoAd(object sender, bool isBegin)
{
  this.StatusVideoAd.Text = "Bắt đầu phát quảng cáo video";
}

private void InsertAdDemo_SkipVideoAd(object sender, bool isSkip)
{
  this.StatusVideoAd.Text = "Người dùng bỏ qua quảng cáo video khi đã xem đủ";
}

private void InsertAdDemo_PlayVideoComplete(object sender, bool isComplete)
{
  this.StatusVideoAd.Text = "Quảng cáo hoàn thành, video phát trọn vẹn";
}

private void InsertAdDemo_GetFullAdError(object sender, string messageError)
{
  this.StatusVideoAd.Text = "Tải banner full lỗi";
}

private void InsertAdDemo_GetFullAdCompleted(object sender, bool isComplete)
{
  this.StatusVideoAd.Text = "Tải banner full hoàn thành";
}

private void InsertAdDemo_CloseFullAd(object sender, bool isComplete)
{
  
this.StatusVideoAd.Text = "Banner full được đóng lại";
}
 
 
Tích hợp quảng cáo Video TVC trên Runtime 8.1
 

Video Ads là một đoạn quảng cáo clip 15s đến 30s, người dùng chỉ được đóng lại khi đã xem ít nhất 5s.

Bạn có thể gắn Video Ads vào các tình huống sau:

  • Bật khi mở một chức năng ứng dụng hoặc bắt đầu chơi game như hình dưới,
  • Kêu gọi người dùng xem quảng cáo Video Ads để ủng hộ.
  • Khuyến khích người dùng xem quảng cáo Video Ads để được quyền sử dụng một số chức năng hoặc thay cho mua xu, thanh toán trong game.
  • Khi không có Video Ads, bạn có thể bắt sự kiện này và hiển thị banner fullscreen để thay thế.

 

Video Ads được chạy trước khi người dùng xem clip.

Bước 1:

  • Bạn có thể tải thư viện AmobiSDK cho WindowsPhone tại đây. Giải nén file tải được, mở thư mục "VideoAds SDK Winphone Ver 1.4 20160411"
  • Sau đó vào thư mục "VideoSDK Runtime    8.1 v1.0 20160326".
  • Add các file DLL sau: "AmobiAdsFor81RT.dll"
  • Add thư mục Icons vào project.
  • Ở Project: Click chuột phải vào "References > chọn Add Reference…> Browse…" Chọn đường dẫn đến file DLL rồi chọn Add > OK.

Bước 2: Khai báo ứng dụng, lấy widgetcode như hướng dẫn tại đây

Bước 3: Thiết lập các thuộc tính, khởi tạo quảng cáo

  • WidgetCode:    Mã quảng cáo được lấy từ Amobi ở bước 2.
  • ScaleX:    Tỉ lê về chiều rộng của quảng cáo so với chiều rộng của màn hình (hiển thị đẹp hơn), để 1.0 nếu bạn muốn fullscreen màn hình.
  • ScaleY:    Tỉ lê về chiều cao của quảng cáo so với chiều cao của màn hình (hiển thị đẹp hơn), để 1.0 nếu bạn muốn fullscreen màn hình.

Khởi tạo quảng cáo trong xaml:
(sử dụng namespace: xmlns:videoAd="using:AmobiAdsFor81RT.Controls")

<videoAd:InsertAd x:Name="InsertAdDemo"
ScaleX="0.5"
ScaleY="0.5"
WidgetCode="
thay-widget-code-của-bạn-tại-đây"
GetVideoAdCompleted="InsertAdDemo_GetVideoAdCompleted"
GetVideoAdError="InsertAdDemo_GetVideoAdError"
BeginPlayVideoAd="InsertAdDemo_BeginPlayVideoAd"
SkipVideoAd="InsertAdDemo_SkipVideoAd"
PlayVideoComplete="InsertAdDemo_PlayVideoComplete"/>

 

Gán quảng cáo trong code behind (C#):
(sử dụng namespace: using AmobiAdsFor81RT.Controls;)

private InsertAd _insertAd = new InsertAd();
private void MainPage_Loaded(object sender, RoutedEventArgs e)
{
  
// Bắt sự kiện loaded trong contrustor của page
  
// this.Loaded += MainPage_Loaded
  _insertAd.WidgetCode = "
thay-widget-code-của-bạn-tại-đây";
  _insertAd.ScaleX = 0.5;
  
_insertAd.ScaleY = 0.5;
  
_insertAd.GetVideoAdCompleted += InsertAdDemo_GetVideoAdCompleted;
  
_insertAd.GetVideoAdError += InsertAdDemo_GetVideoAdError;
  
_insertAd.BeginPlayVideoAd += InsertAdDemo_BeginPlayVideoAd;
  
_insertAd.SkipVideoAd += InsertAdDemo_SkipVideoAd;
  
_insertAd.PlayVideoComplete += InsertAdDemo_PlayVideoComplete;
  
this.GridRoot.Children.Add(_insertAd);
}         

 

Bước 4: Hiển thị quảng cáo
Sử dụng phương thức ShowAd().

InsertAdDemo.ShowAd(); // Nếu add quảng cáo ở xaml
_insertAd.ShowAd(); // Nếu add quảng cáo ở code behind

 

Bước 5: Các sự kiện

  • GetVideoAdError: Thông báo lấy quảng cáo bị lỗi, bạn có thể cho hiện quảng cáo banner thay thế.
  • GetVideoAdCompleted:    Lấy quảng cáo thành công
  • BeginPlayVideoAd    Bắt đầu chạy video quảng cáo
  • SkipVideoAd     Người dùng bỏ qua quảng cáo video,  bạn có thể cho ứng dụng xử lý công việc khác tại đây.
  • PlayVideoComplete    Hoàn thành việc chạy quảng cáo video, bạn có thể cho ứng dụng xử lý công việc khác tại đây.

 

// StatusVideoAd là một TextBlock hiển thị trạng thái của VideoAd

// Quảng cáo lấy về thành công

private void InsertAdDemo_GetVideoAdCompleted(object sender, bool isComplete) {
  this.StatusVideoAd.Text = "Status video ad : get video completed";
}

// Quảng cáo có lỗi hoặc không có quảng cáo, bạn có thể cho ứng dụng xử lý các bước tiếp theo tại đây

private void InsertAdDemo_GetVideoAdError(object sender, bool isError) {
  this.StatusVideoAd.Text = "Status video ad : get video error";
}


private void InsertAdDemo_BeginPlayVideoAd(object sender, bool isBegin) {
  
this.StatusVideoAd.Text = "Status video ad : begin play video ad";
}


// Quảng cáo xem đủ 5s, người dùng ấn bỏ qua, bạn có thể cho ứng dụng xử lý các bước tiếp theo tại đây
private void InsertAdDemo_SkipVideoAd(object sender, bool isSkip) {
  this.StatusVideoAd.Text = "Status video ad : skip video ad";
}


// Quảng cáo hoàn thành, bạn có thể cho ứng dụng xử lý các bước tiếp theo tại đây
private void InsertAdDemo_PlayVideoComplete(object sender, bool isComplete) {
  
this.StatusVideoAd.Text = "Status video ad : play video completed";
}

 

Tích hợp quảng cáo Video TVC trên Unity


 

Video Ads là một đoạn quảng cáo clip 15s đến 30s, người dùng chỉ được đóng lại khi đã xem ít nhất 5s.

Bạn có thể gắn Video Ads vào các tình huống sau:

  • Bật khi mở một chức năng ứng dụng hoặc bắt đầu chơi game như hình dưới,
  • Kêu gọi người dùng xem quảng cáo Video Ads để ủng hộ.
  • Khuyến khích người dùng xem quảng cáo Video Ads để được quyền sử dụng một số chức năng hoặc thay cho mua xu, thanh toán trong game.
  • Khi không có Video Ads, bạn có thể bắt sự kiện này và hiển thị banner fullscreen để thay thế.

 

 

Video Ads được chạy trước khi người dùng xem clip.

 

Để tích hợp trên Unity, chúng ta sẽ chia ra bước nơi để thay đổi code là trên unity và trên Visual sau khi build.

 

Trên Unity:

  • Thêm file Script “GameInterface.cs” như sau
public interface GameInterface
{
  void
ShowVideo();
  bool
GetVideoEnded();
  void
SetVideoEnded();
}

 

  • Thêm các xử lý sự kiện trong file Script để chạy quảng cáo video TVC chúng ta thêm vào như sau. (Ở đây file Script tương ứng là GiaoDien1.cs chứa sự kiện ấn nút “Play” để chạy sau đó chuyển sang giao diện GiaoDien2.cs)
// Khai báo GameInterface vừa tạo ở trên.
public static GameInterface GI;
 
  • Để bắt trạng thái khi kết thúc quảng cáo Video để tiếp tục game và ứng dụng, hàm Update được sử dụng 
// Cập nhật trạng thái sau khi video kết thúc ở hàm Update( )
void Update()

{
  if (GI.GetVideoEnded())
  {
    //Xử lý chuyển trạng thái của bạn sau khi hết video ở đây
    //ở đây ví dụ là chuyển sang giao diện 2
    Application.LoadLevel("GiaoDien2"); 
    GI.SetVideoEnded();


  }
}

 

  • Để kích hoạt chạy quảng cáo Video TVC khi người dùng ấn vào button để chơi game, xem nội dung hoặc mua vật phẩm
if (GUI.Button(new Rect(170, 320, 120, 61), "", PlayStyle))// vẽ nút Play
{
  //Khi người dùng ấn nút Play, hiển thị Video quảng cáo
  GI.ShowVideo();
}

 

Trên ViSual:
 

Bước 1:

  • Bạn có thể tải thư viện AmobiSDK cho WindowsPhone tại đây. Giải nén file tải được.
  • Mở thư mục "VideoAds SDK Winphone Ver 1.4 20160326 > VideoAds SDK Silverlight8.0 v1.1 20150406"
  • Add các file DLL sau: VideoSDK.dll , SharpGIS.GZipWebClient.dll , PhoneNameResolver.dll, MyToolkit.Extended.dll từ thư viện đã download. Nếu ko add được chú ý click chuột phải Properties >> Unblock nó trước khi add.
  • Ở Project: Click chuột phải vào References>> chọn Add Reference…>>>Browse… Chọn đường dẫn đến file DLL rồi chọn Add >>>OK. Chú ý: Ở trong suốt quá trình sử dụng chúng ta chỉ cần để ý đến VideoSDK.DLL còn 2 cái DLL còn lại chỉ là điều kiện để có thể chạy được quảng cáo của chúng ta nên không phải quan tâm đến nó nhiều.

 

  • Tiếp theo mở file MainPage.xaml.cs lên và thêm một số khai báo như sau:
// Khai báo gói sử dụng: 
using VideoSDK;
 
 
  • Khai báo gói sử dụng: using VideoSDK;
  • Khai báo đối tượng và thuộc tính cần sử dụng:
AstVideo VideoAd; 
bool IsFinishedVideo = false;

 

  • Trong hàm khởi tạo Mainpage thêm vào khai báo interface như sau:
public MainPage() { 
  InitializeComponent();

  // Thay GiaoDien1Script bằng tên Script mà bạn khai báo GameInterface bên unity 

  GiaoDien1Script.GI = this;
}

 

  • Viết các phương thức sau:
bool GameInterface.GetEndVideo() {
  
return IsFinishedVideo;
}

void GameInterface.SetEndVideo() {
  
IsFinishedVideo = false;
}

void GameInterface.ShowVideo() {
  
Dispatcher.BeginInvoke(() =>  {
    
if (VideoAd == null)
      
VideoAd = new AstVideo();
    
MediaVideo media = new MediaVideo {
      
VerticalAlignment = VerticalAlignment.Center,
      
HorizontalAlignment = HorizontalAlignment.Center
    
};

    IsFinishedVideo = false;


    // Nếu bạn chạy VideoTest hãy sử dụng hàm này
    // VideoAd.TestVideo(true);
    VideoAd.SetWidgetCode("
thay-widget-code-của-bạn-tại-đây");
    VideoAd.LoadVideo(this, media);
    
VideoAd.Loadcompleted += VideoAd_Loadcompleted;
    
VideoAd.LoadFailed += VideoAd_LoadFailed;
    
VideoAd.ClosedVideo += VideoAd_ClosedVideo;
  });
}

 

  • Các hàm để xử lý sự kiện:
void VideoAd_ClosedVideo(object sender, AstVideo e) {
  
// Xử lý lúc người dùng ấn closed
  VideoAd.NavigatedPage();
}

void VideoAd_LoadFailed(object sender, AstVideo e) {
  
// Có lỗi load quảng cáo hoặc không có quảng cáo
  
VideoAd.NavigatedPage();
}

void VideoAd_Loadcompleted(object sender, AstVideo e)
{

  // Đã tải xong quảng cáo, cho phát luôn
  VideoAd.PlayVideo();
}

 

  • Nếu bạn muốn mặc định tắt âm thanh quảng cáo này để tránh làm phiền người dùng, bạn dùng lệnh sau:
// Khai báo gói sử dụng: 
VideoAd.SetVolume(false);
 
  • Tổng quát lại luồng hoạt động của các sự kiện như hình dưới đây
     
    (Nhấn hình để phóng to)
     
     
  • Nếu bạn thực hiện đúng như trên thì lúc ấn vào nút Quảng Cáo sẽ được kết quả như sau:

 

Như vậy là chúng ta đã add xong thư viện quảng cáo video cho project unity.
Nếu các bạn gặp khó khăn trong quá trình add thư viện có thể tải project mẫu về để xem tại đây. Hoặc liên hệ support@amobi.vn để được hỗ trợ.

 

Tích hợp quảng cáo Video TVC trên Silver Light


 

Video Ads là một đoạn quảng cáo clip 15s đến 30s, người dùng chỉ được đóng lại khi đã xem ít nhất 5s.

Bạn có thể gắn Video Ads vào các tình huống sau:

  • Bật khi mở một chức năng ứng dụng hoặc bắt đầu chơi game như hình dưới,
  • Kêu gọi người dùng xem quảng cáo Video Ads để ủng hộ.
  • Khuyến khích người dùng xem quảng cáo Video Ads để được quyền sử dụng một số chức năng hoặc thay cho mua xu, thanh toán trong game.
  • Khi không có Video Ads, bạn có thể bắt sự kiện này và hiển thị banner fullscreen để thay thế.

 

 

Video Ads được chạy trước khi người dùng xem clip.

 

  • Áp dụng đối với project gói winphone 8.0 hoặc Silverlight 8.1. Chưa hỗ trợ các gói WP 8.1 khác.
  • Bạn có thể tải thư viện AmobiSDK cho WindowsPhone tại đây. Giải nén và lấy SDK trong thư mục VideoAds SDK SilverLight.
  • Bạn có thểm tham khảo ví dụ mẫu tại đây 

 

Bước 1:

  • Bạn có thể tải thư viện AmobiSDK cho WindowsPhone tại đây. Giải nén file tải được, mở thư mục "VideoAds SDK Winphone Ver 1.4 20160326"
  • Nếu dùng SilverLight 8.0 bạn mở thư mục"VideoAds SDK Silverlight8.0 v1.1 20150406".
  • Nếu dùng SilverLight 8.1 bạn mở thư mục"VideoAds SDK Silverlight8.1 v1.1 20150406".
  • Add các file DLL sau: VideoSDK.dll , SharpGIS.GZipWebClient.dll , PhoneNameResolver.dll, MyToolkit.Extended.dll từ thư mục đính kèm. Nếu ko add được chú ý click chuột phải Properties > Unblock nó trước khi add.
  • Ở Project: Click chuột phải vào "References > chọn Add Reference…> Browse…" Chọn đường dẫn đến file DLL rồi chọn Add > OK.

 

  • Chú ý: trong suốt quá trình sử dụng chúng ta chỉ cần để ý đến VideoSDK.DLL còn 2 cái DLL còn lại chỉ là điều kiện để có thể chạy được quảng cáo của chúng ta nên không phải quan tâm đến nó nhiều.

 

Bước 2: Viết hàm ShowVideo như sau:

 

using VideoSDK;
MediaVideo media;

private void ShowVideo()
{
  
media = new MediaVideo
  
{
    
VerticalAlignment = VerticalAlignment.Center,
    
HorizontalAlignment = HorizontalAlignment.Center
  
};

  VideoAd = new AstVideo();


  // nếu bạn chạy video Test hãy gọi hàm này
  // VideoAd.TestVideo(true);

  VideoAd.SetWidgetCode("
thay-widget-code-của-bạn-tại-đây");
  VideoAd.LoadVideo(this, media);
  
VideoAd.Loadcompleted += VideoAd_Loadcompleted;
  
VideoAd.LoadFailed += VideoAd_LoadFailed;
  
VideoAd.ClosedVideo += VideoAd_ClosedVideo;
}

 

  • Các hàm xử lý sự kiện
// Load quảng cáo thành công, hiển thị quảng cáo
void VideoAd_Loadcompleted(object sender, AstVideo e)

{
  VideoAd.PlayVideo();
}

//Xử lý lúc người dùng ấn closed

void VideoAd_ClosedVideo(object sender, AstVideo e)
{
  //Nếu bạn muốn ở luôn page hiện tại
  //VideoAd.NavigatedPage(); 

  //Nếu bạn muốn chuyển đến Page1.xaml
  VideoAd.NavigatedPage("/Page1.xaml");
}

//Xử lý lúc load lỗi hoặc không có quảng cáo
void VideoAd_LoadFailed(object sender, AstVideo e)
{
  //Nếu bạn muốn ở luôn page hiện tại
  // VideoAd.NavigatedPage(); 

  //Nếu bạn muốn chuyển đến Page1.xaml
  VideoAd.NavigatedPage("/Page1.xaml");
}

 

  • Nếu bạn muốn mặc định tắt âm thanh quảng cáo này để tránh làm phiền người dùng, bạn dùng lệnh sau:
// Khai báo gói sử dụng: 
VideoAd.SetVolume(false);
 
  • Tổng quát lại luồng hoạt động của các sự kiện như hình dưới đây
 
(Nhấn hình để phóng to)

 

Để bất đầu chạy quảng cáo, trong sự kiện Click khi chơi game, mua vật phẩm hoặc bắt đầu xem nội dung ứng dụng, các bạn cần chuyển sang giao diện quảng cáo:

Kết quả sẽ được như sau:

 

Nếu các bạn gặp khó khăn trong quá trình add thư viện có thể tải project mẫu về để xem. Hoặc liên hệ support@amobi.vn để được hỗ trợ.

 

Quảng cáo Banner trên SilverLight


 

Tích hợp SDK vào project:

  • Áp dụng đối với project gói winphone 8.0 hoặc Silverlight 8.1. Chưa hỗ trợ các gói WP 8.1 khác.
  • Bạn có thể tải thư viện AmobiSDK cho WindowsPhone tại đây. Giải nén và lấy SDK trong thư mục VideoAds SDK SilverLight.
  • Bạn có thểm tham khảo ví dụ mẫu tại đây 

 

Bước 1:

  • Bạn có thể tải thư viện AmobiSDK cho WindowsPhone tại đây. Giải nén file tải được, mở thư mục "BannerAds SDK Winphone v2.6 20150406"
  • Nếu dùng SilverLight 8.0 bạn mở thư mục"BannerAds SDK Silverlight8.0 v2.6 20150406". 
  • Nếu dùng SilverLight 8.1 bạn mở thư mục"BannerAds SDK Silverlight8.1 v2.6 20150406". 
  • Add file AMobiSDK.dll từ thư mục trên. Nếu ko add được chú ý click chuột phải Properties >> Unblock nó trước khi add.
  • Ở Project: Click chuột phải vào References > chọn Add Reference…> Browse… ? Chọn đường dẫn đến file AmobiSDK.DLL từ thư mục trên rồi chọn Add > OK.

 

Banner Full Screen ( Có hai loại là Portrait và Lanscape)

 

Banner fullscreen cho tỷ lệ click tốt và được các nhà quảng cáo ưa chuộng ưu tiên chiến dịch quảng cáo hơn. Bạn có thể sử dụng banner fullscreen trong một số tình huống sau:

  • Bật khi bắt đầu vào ứng dụng.
  • Bật khi chuyển cảnh giữa các màn hình khác nhau.
  • Bật khi mở một chức năng ứng dụng hoặc bắt đầu chơi game như hình dưới.
  • Kêu gọi người dùng xem quảng cáo để ủng hộ.
  • Khuyến khích người dùng xem quảng cáo để được quyền sử dụng một số chức năng hoặc thay cho mua xu, thanh toán trong game.
  • Khi không có Video Ads, bạn có thể bắt sự kiện này và hiển thị banner fullscreen để thay thế.

 

 

Hiện banner Fullscreen khi mới mở ứng dụng

 

Thực hiện các câu lệnh sau trong hàm khởi tạo của Page để có banner Portrait

BannerFullScreenPortrait bn_full = new BannerFullScreenPortrait
{
    VerticalAlignment = VerticalAlignment.Center,
    HorizontalAlignment = HorizontalAlignment.Center
}; 

// Khởi tạo class quản lý quảng cáo

AdManager ad = new AdManager();

// Đặt mã widget code

AdManager.setWidgetCode("thay-widget-code-của-bạn-tại-đây");

// Bắt sự kiện load banner full lỗi
// ad.LoadFailedFull += ad_LoadFailedFull; 

// Bắt sự kiện load banner full thành công, có quảng cáo
// 
ad.LoadCompletedBannerFull += ad_LoadCompletedBannerFull;

// Bắt sự người dùng closed quảng cáo bằng nút closed
// 
ad.ClosedBannerFull += ad_ClosedBannerFull;

// Nếu bạn định chạy banner test, hãy gọi hàm này
// ad.TestBanner(true);

// Hiển thị banner
ad.OnNavigationTo(this, bn_full, null, null);

 

Tương tự đối với loại Banner Full Screen Lanscape.

// Khởi tạo banner
BannerFullScreenLanscape bn_full = new BannerFullScreenLanscape

{
    VerticalAlignment = VerticalAlignment.Center,
    HorizontalAlignment = HorizontalAlignment.Center
}; 

// Khởi tạo class quản lý quảng cáo

AdManager ad = new AdManager();

// Đặt mã widget code

AdManager.setWidgetCode("thay-widget-code-của-bạn-tại-đây");

// Bắt sự kiện load banner full lỗi
// ad.LoadFailedFull += ad_LoadFailedFull; 

// Bắt sự kiện load banner full thành công, có quảng cáo
// 
ad.LoadCompletedBannerFull += ad_LoadCompletedBannerFull;

// Bắt sự người dùng closed quảng cáo bằng nút closed
// 
ad.ClosedBannerFull += ad_ClosedBannerFull;

// Nếu bạn định chạy banner test, hãy gọi hàm này
// ad.TestBanner(true);

// hiển thị banner
ad.OnNavigationTo(this, bn_full, null, null);
 

Để xử lý sự kiện khi không có quảng cáo

void ad_LoadFailedFull(object sender, AdManager e)
{
    //Xử lý lúc ko có banner full ở đây.
}
 
Để xử lý các sự kiện khi quảng cáo load thành công (giống như khi không có quảng cáo)
void ad_LoadCompletedBannerFull(object sender, AdManager e)
{
    //Xử lý lúc load quảng cáo thành công tại đây
}
 
Để xử lý các sự kiện khi người dùng đóng quảng cáo, ấn nút closed, bạn xử lý hàm bắt sự kiện như sau (giống như khi không có quảng cáo)
void ad_ClosedBannerFull(object sender, AdManager e)
{
    //Xử lý lúc người dùng ấn closed tại đây.
}
 

Để giấu nút closed khi nhúng banner fullscreen xen lẫn nội dụng, bạn gọi hàm sau

ad.HideButtonClosedFullScreen(); //Ẩn nút close của banner 
 
Tổng quát lại luồng hoạt động của các sự kiện như hình dưới đây
 
(Nhấn hình để phóng to)
 

Banner 300x250

 

Banner 300x250 cho tỷ lệ click tốt và chèn vào giữa nội dung nên gây thiện cảm với người sử dụng hơn. Bạn có thể cho hiện banner này ở các tình huống sau

  • Chèn giữa nội dung như hình dưới bên phải.
  • Pop-up khi mới mở ứng dụng như hình dưới bên trái.
  • Pop-up khi mở một chức năng ứng dụng
  • Pop-up khi chuyển cảnh giữa các màn hình.

 

  

Banner 300x250 pop-up hoặc chèn giữa nội dung

 

//Tạo 1 Banner có căn chỉnh theo 2 chiều ngang dọc.
Banner300x250 bn_250 = new Banner300x250
{
    VerticalAlignment = VerticalAlignment.
Center,
    HorizontalAlignment = HorizontalAlignment.Center
};

// Khởi tạo class quản lý quảng cáo

AdManager ad = new AdManager();

// Đặt mã widget code

AdManager.setWidgetCode("thay-widget-code-của-bạn-tại-đây");

// bắt sự kiện load banner lỗi
// ad.LoadFailed300x250 += ad_LoadFailed300x250; 

// bắt sự kiện load banner thành công
// ad.LoadCompletedBn300x250 += ad_LoadCompletedBanner300x250;

// bắt sự kiện khi người dùng ấn nút close quảng cáo
// ad.ClosedBanner300x250 += ad_ClosedBanner300x250;

// Nếu bạn định chạy banner test, hãy gọi hàm này
// ad.TestBanner(true);

// Hiển thị banner
LayoutRoot.Children.Add(bn_50);//Add vào Grid mà bạn muốn add

ad.OnNavigationTo(this, null, bn_250 null);

 

Để xử lý khi không có quảng cáo, bạn xử lý hàm sau 

void ad_LoadFailed300x250(object sender, AdManager e)
{
    //Xử lý lúc ko có banner full ở đây.
}

 

Để xử lý các sự kiện khi người dùng đóng quảng cáo, ấn nút closed, bạn xử lý hàm bắt sự kiện như sau 
void ad_ClosedBanner300x250(object sender, AdManager e)
{
    //Xử lý lúc người dùng ấn nút closed.
}

 

Để xử lý các sự kiện khi quảng cáo load thành công
void ad_LoadCompletedBanner300x250(object sender, AdManager e)
{
    //Xử lý lúc quảng cáo load xong
}
 

Để giấu nút closed khi nhúng banner 300x250 xen lẫn nội dụng, bạn gọi hàm sau

ad.HideButtonBanner250(); //Ẩn nút close của banner 300x250

 

Tổng quát lại luồng hoạt động của các sự kiện như hình dưới đây
 
(Nhấn hình để phóng to)
 

Banner 320x50

 

Banner 300x50 ở chân hoặc đầu màn hình luôn hiển thị gây ấn tượng quảng cáo tốt cho người dùng, do ít khả năng bị bỏ qua nên cũng cho tỷ lệ click tốt. Banner này có thể được hiện trong các tình huống sau:

  • Hiện ở chân hoặc đầu màn hình.
  • Hiện ngay trong nội dung ứng dụng, trong màn chơi.

 

  

Banner 300x250 hiển thị ở chân hoặc đầu màn hình

 

//Tạo 1 Banner có căn chỉnh theo 2 chiều ngang dọc.
Banner320x50 bn_50 = new Banner320x50
{
    VerticalAlignment = VerticalAlignment.Top,
    HorizontalAlignment = HorizontalAlignment.Center
};

// Khởi tạo class quản lý quảng cáo
AdManager ad = new AdManager();

// Đặt mã widget code

AdManager.setWidgetCode("thay-widget-code-của-bạn-tại-đây");

// Bắt sự kiện load banner full lỗi
// ad.LoadFailed320x50 += ad_LoadFailed320x50; 

// Bắt sự kiện load banner thành công
// ad.LoadCompletedBn320x50 += ad_LoadCompletedBanner320x50

// Nếu bạn định chạy banner test, hãy gọi hàm này
// ad.TestBanner(true);

// Hiển thị banner
LayoutRoot.Children.Add(bn_50);//Add vào Grid mà bạn muốn add
ad.OnNavigationTo(this, null, null, bn_50);

 

Để xử lý khi không có quảng cáo, bạn xử lý hàm sau 

void ad_LoadFailed320x50(object sender, AdManager e)
{
    MessageBox.Show("Lỗi Banner");
    //Xử lý lúc ko có banner full ở đây.
}

 

Để xử lý các sự kiện khi quảng cáo load thành công (giống như xử lý load không có quảng cáo)
void ad_LoadCompletedBanner320x50(object sender, AdManager e)
{
    //Xử lý lúc load thành công quảng cáo ở đây.
}
 
Tổng quát lại luồng hoạt động của các sự kiện như hình dưới đây
 
(Nhấn hình để phóng to)
 
 
Sử dụng nhiều quảng cáo khác nhau trên màn hình
ad.OnNavigationTo(this, bn_full, bn_250 bn_50);
 

Chú ý:

 

  • Hàm OnNavigationTo(this,BannerFullScreen,Banner300x250,Banner320x50); là hàm gọi quảng cáo với tham số truyền vào là 3 loại Banner tương ứng. Nếu Banner nào không được hiển thị thì bạn set nó bằng Null như ở các trường hợp trên.
  • LayoutRoot.Children.Add(Banner320x50(hoặc Banner300x250)); trong 1 Page chỉ gọi 1 lần lúc khởi tạo.
  • Hai thuộc tính: VerticalAlignment và HorizontalAlignment giúp bạn căn chỉnh banner tùy theo ý muốn của bạn trong giao diện.
  • Các sự kiện load banner lỗi không bắt buộc, nếu bạn không muốn bắt thì bạn có thể không cần gọi hàm chạy sự kiện này.

 

Quảng cáo Banner trên Unity


 

Bên Unity: 


Bước 1: Tạo 1 interface GameInterface.cs có các phương thức như dưới đây:

public interface GameInterface
{
    void HideAds( );
    void ShowAdsFull( );
    void ShowAds300x250( );
    void ShowAds320x50( );
 }


Bước 2: Giả sử giao diện bạn muốn hiển thị quảng cáo là Menu. Trong file Scripts của Menu bạn xử lý như sau:

// Khai báo để sử dụng GameInterface:
public static GameInterface gi;

// Ở hàm Start( ) gọi hàm hiện quảng cáo:
gi.HideAds(); //Ẩn quảng cáo nếu có trước khi hiện.
gi.ShowAdsFull(); //Hiện quảng cáo full

 

Bên Visual: 

 

Bước 1:  

 

  • Add file AMobiSDK.dll từ thư mục "BannerAds SDK Winphone v2.6 20150406 > Banner SDK Winphone 8.0 v2.6 201504066". Nếu ko add được chú ý click chuột phải Properties >> Unblock nó trước khi add.
  • Ở Project: Click chuột phải vào References > chọn Add Reference…> Browse… ? Chọn đường dẫn đến file AmobiSDK.DLL từ thư mục "Banner SDK Winphone 8.0 v2.6 20150406" rồi chọn Add > OK.

 

Bước 2:  Giả sử giao diện bạn muốn hiển thị quảng cáo là Menu, trong file MainPage.cs chúng ta xử lý như sau:

// Import thư viện quảng cáo: 
using AMobiSDK;

// Khai báo đối tượng quản lý quảng cáo: 
AdManager ad = new AdManager();

// Trong hàm khởi tạo khai báo interface cần sử dụng: 
InitializeComponent();

//MenuScript là file cs của Scene Menu cần hiển thị quảng cáo ở trên
MenuScript.gi = this;

 

Banner FullScreen (Có hai loại là Portrait và Lanscape)

 

Banner fullscreen cho tỷ lệ click tốt và được các nhà quảng cáo ưa chuộng ưu tiên chiến dịch quảng cáo hơn. Bạn có thể sử dụng banner fullscreen trong một số tình huống sau:

  • Bật khi bắt đầu vào ứng dụng.
  • Bật khi chuyển cảnh giữa các màn hình khác nhau.
  • Bật khi mở một chức năng ứng dụng hoặc bắt đầu chơi game như hình dưới.
  • Kêu gọi người dùng xem quảng cáo để ủng hộ.
  • Khuyến khích người dùng xem quảng cáo để được quyền sử dụng một số chức năng hoặc thay cho mua xu, thanh toán trong game.
  • Khi không có Video Ads, bạn có thể bắt sự kiện này và hiển thị banner fullscreen để thay thế.

 

 

Hiện banner Fullscreen khi mới mở ứng dụng

 

void GameInterface.ShowAdsFull()
{
  Dispatcher.BeginInvoke(() =>
  {
    // Khởi tạo banner
    BannerFullScreenPortrait bn_full = new BannerFullScreenPortrait

    {
      VerticalAlignment = VerticalAlignment.Center,
      HorizontalAlignment = HorizontalAlignment.Center
    }; 

    // Đặt mã widget code
    AdManager.setWidgetCode("thay-widget-code-của-bạn-tại-đây");

    // Bắt sự kiện load banner full lỗi
    // ad.LoadFailedFull += ad_LoadFailedFull; 

    // Bắt sự kiện load banner full thành công, có quảng cáo
    // 
ad.LoadCompletedBannerFull += ad_LoadCompletedBannerFull;

    // Bắt sự người dùng closed quảng cáo bằng nút closed
    // 
ad.ClosedBannerFull += ad_ClosedBannerFull;

    // Nếu bạn định chạy banner test, hãy gọi hàm này
    // ad.TestBanner(true);

    // Hiển thị banner
    ad.OnNavigationTo(this, bn_full, null, null);
  });
}

 

Với banner Lanscape

void GameInterface.ShowAdsFull()
{
  Dispatcher.BeginInvoke(() =>
  {
    // Khởi tạo banner
    BannerFullScreenLanscape bn_full = new BannerFullScreenLanscape

    {
      VerticalAlignment = VerticalAlignment.Center,
      HorizontalAlignment = HorizontalAlignment.Center
    };

    // Đặt mã widget code
    AdManager.setWidgetCode("thay-widget-code-của-bạn-tại-đây");

    // Bắt sự kiện load banner full lỗi
    // ad.LoadFailedFull += ad_LoadFailedFull; 

    // Bắt sự kiện load banner full thành công, có quảng cáo
    // 
ad.LoadCompletedBannerFull += ad_LoadCompletedBannerFull;

    // Bắt sự người dùng closed quảng cáo bằng nút closed
    // 
ad.ClosedBannerFull += ad_ClosedBannerFull;

    // Nếu bạn định chạy banner test, hãy gọi hàm này
    // ad.TestBanner(true);

    // Hiển thị banner
    ad.OnNavigationTo(this, bn_full, null, null);

  });
}
 

Để xử lý sự kiện khi không có quảng cáo

void ad_LoadFailedFull(object sender, AdManager e)
{
    //Xử lý lúc ko có banner full ở đây.
}
 
Để xử lý các sự kiện khi quảng cáo load thành công (giống như khi không có quảng cáo)
void ad_LoadCompletedBannerFull(object sender, AdManager e)
{
    //Xử lý lúc load quảng cáo thành công tại đây
}
 
Để xử lý các sự kiện khi người dùng đóng quảng cáo, ấn nút closed, bạn xử lý hàm bắt sự kiện như sau (giống như khi không có quảng cáo)
void ad_ClosedBannerFull(object sender, AdManager e)
{
    //Xử lý lúc người dùng ấn closed tại đây.
}

 

Để giấu nút closed khi nhúng banner fullscreen xen lẫn nội dụng, bạn gọi hàm sau

ad.HideButtonClosedFullScreen(); //Ẩn nút close của banner 
 

Ẩn quảng cáo như sau: 

void GameInterface.HideAds()
{
    Dispatcher.BeginInvoke(() =>
    {
        new AdManager().collapseAllUserControls();
    });
}
 
Tổng quát lại luồng hoạt động của các sự kiện như hình dưới đây
 
(Nhấn hình để phóng to)
 

Banner 300x250

 

Banner 300x250 cho tỷ lệ click tốt và chèn vào giữa nội dung nên gây thiện cảm với người sử dụng hơn. Bạn có thể cho hiện banner này ở các tình huống sau

  • Chèn giữa nội dung như hình dưới bên phải.
  • Pop-up khi mới mở ứng dụng như hình dưới bên trái.
  • Pop-up khi mở một chức năng ứng dụng
  • Pop-up khi chuyển cảnh giữa các màn hình.

 

  

Banner 300x250 pop-up hoặc chèn giữa nội dung

 

void GameInterface.ShowAds300x250()
{
  Dispatcher.BeginInvoke(() =>
  {
    // Khởi tạo banner
    Banner300x250 bn_250 = new 
Banner300x250 
    {
      VerticalAlignment = VerticalAlignment.Center,
      HorizontalAlignment = HorizontalAlignment.Center
    };

    // Đặt mã widget code
    AdManager.setWidgetCode("thay-widget-code-của-bạn-tại-đây");

    // bắt sự kiện load banner lỗi
    // ad.LoadFailed300x250 += ad_LoadFailed300x250; 

    // bắt sự kiện load banner thành công
    // ad.LoadCompletedBn300x250 += ad_LoadCompletedBanner300x250;

    // bắt sự kiện khi người dùng ấn nút close quảng cáo
    // ad.ClosedBanner300x250 += ad_ClosedBanner300x250;

    // Hiển thị banner
    DrawingSurfaceBackground.Children.Add(bn_250);
    ad.OnNavigationTo(this, null, bn_250, null
);

  });
}

 

Để xử lý khi không có quảng cáo, bạn xử lý hàm sau 

void ad_LoadFailed300x250(object sender, AdManager e)
{
    //Xử lý lúc ko có banner full ở đây.
}

 

Để xử lý các sự kiện khi người dùng đóng quảng cáo, ấn nút closed, bạn xử lý hàm bắt sự kiện như sau 
void ad_ClosedBanner300x250(object sender, AdManager e)
{
    //Xử lý lúc người dùng ấn nút closed.
}

 

Để xử lý các sự kiện khi quảng cáo load thành công
void ad_LoadCompletedBanner300x250(object sender, AdManager e)
{
    //Xử lý lúc quảng cáo load xong
}
 

Ẩn quảng cáo như sau: 

void GameInterface.HideAds()
{
    Dispatcher.BeginInvoke(() =>
    {
        new AdManager().collapseAllUserControls();
    });
}
 
Tổng quát lại luồng hoạt động của các sự kiện như hình dưới đây
 
(Nhấn hình để phóng to)
 

Banner 320x50

 

Banner 300x50 ở chân hoặc đầu màn hình luôn hiển thị gây ấn tượng quảng cáo tốt cho người dùng, do ít khả năng bị bỏ qua nên cũng cho tỷ lệ click tốt. Banner này có thể được hiện trong các tình huống sau:

  • Hiện ở chân hoặc đầu màn hình.
  • Hiện ngay trong nội dung ứng dụng, trong màn chơi.

 

  

Banner 300x250 hiển thị ở chân hoặc đầu màn hình

 

void GameInterface.ShowAds320x50()
{
  Dispatcher.BeginInvoke(() =>
  {
    // Khởi tạo banner
    Banner320x50 bn_50 = new 
Banner320x50 
    {
      VerticalAlignment = VerticalAlignment.Top,
      HorizontalAlignment = HorizontalAlignment.Center
    };

    // Đặt mã widget code
    AdManager.setWidgetCode("thay-widget-code-của-bạn-tại-đây");

    // Bắt sự kiện load banner 320x50 lỗi hoặc không có quảng cáo
    // ad.LoadFailed320x50 += ad_LoadFailed320x50; 

    // Bắt sự kiện load banner 320x50 thành công
    // ad.LoadCompletedBn320x50 += ad_LoadCompletedBanner320x50

    // Nếu bạn định chạy banner test, hãy gọi hàm này
    // ad.TestBanner(true);

    // Hiển thị banner
    DrawingSurfaceBackground.Children.Add(bn_50);
    ad.OnNavigationTo(this, null, null, 
bn_50);

  });
}

 

Để xử lý sự kiện khi không có quảng cáo

void ad_LoadFailed320x50(object sender, AdManager e)
{
    MessageBox.Show("Lỗi Banner");
    //Xử lý lúc ko có banner full ở đây.
}
 
Để xử lý các sự kiện khi quảng cáo load thành công (giống như xử lý load không có quảng cáo)
void ad_LoadCompletedBanner320x50(object sender, AdManager e)
{
    //Xử lý lúc load thành công quảng cáo ở đây.
}
 

Ẩn quảng cáo như sau: 

void GameInterface.HideAds()
{
    Dispatcher.BeginInvoke(() =>
    {
        new AdManager().collapseAllUserControls();
    });
}
 
Tổng quát lại luồng hoạt động của các sự kiện như hình dưới đây
 
(Nhấn hình để phóng to)
 
Sử dụng nhiều quảng cáo khác nhau trên màn hình
ad.OnNavigationTo(this, bn_full, bn_250 bn_50);
 

Chú ý:

 

  • Hàm OnNavigationTo(this,BannerFullScreen,Banner300x250,Banner320x50); là hàm gọi quảng cáo với tham số truyền vào là 3 loại Banner tương ứng. Nếu Banner nào không được hiển thị thì bạn set nó bằng Null như ở các trường hợp trên.
  • LayoutRoot.Children.Add(Banner320x50(hoặc Banner300x250)); trong 1 Page chỉ gọi 1 lần lúc khởi tạo.
  • Hai thuộc tính: VerticalAlignment và HorizontalAlignment giúp bạn căn chỉnh banner tùy theo ý muốn của bạn trong giao diện.
  • Các sự kiện load banner lỗi không bắt buộc, nếu bạn không muốn bắt thì bạn có thể không cần gọi hàm chạy sự kiện này.

 

Tối ưu hiển thị



Để tăng fillrate hiển thị quảng cáo, bạn có thể xử lý hiển thị banner khác thay thế khi mỗi loại banner không có chiến dịch quảng cáo theo mô hình như sau:

  • Hiện Banner Full Screen thay thế cho Video Ads khi không có quảng cáo Video Ads bằng cách bắt hàm  (void) onPrepareError:(AmobiVideoAd*) adView
  • Hiện Banner Pop-up 300x250 thay thế cho Full Screen khi không có quảng cáo Full Screen bằng cách bắt hàm - (void) adViewLoadError:(AmobiAdView*) amobiAdView


Cụ thể minh họa bằng sơ đồ hoạt động sau

 

(Nhấn hình để phóng to)

 Tin liên quan