2012-03-15 45 views
0

我正處於應用程序的後期階段,想知道我應該如何獲得Inneractive廣告才能投入使用。我嘗試了他們的教程,儘管事實上我的連接在我的Galaxy S II上是完美的6個小節,但它並未展示廣告。我有引用庫中的inneractive和支持jar。這裏是我使用的代碼:Android-如何獲得Inneractive廣告的正常工作?

package com.ads; 

import com.inneractive.api.ads.InneractiveAd; 
import java.util.Hashtable; 
import android.app.Activity; 
import android.app.AlertDialog; 
import android.content.BroadcastReceiver; 
import android.content.Context; 
import android.content.DialogInterface; 
import android.content.Intent; 
import android.content.IntentFilter; 
import android.os.Bundle; 
import android.support.v4.content.LocalBroadcastManager; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.LinearLayout; 
public class AdsActivity extends Activity { 
    LinearLayout linear; 
    Button interstitialBtn; 
    Hashtable<InneractiveAd.IaOptionalParams, String> metaData = new Hashtable<InneractiveAd.IaOptionalParams, String>(); 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     // Optional parameters 
     metaData.put(InneractiveAd.IaOptionalParams.Key_Gender, "F"); 
     metaData.put(InneractiveAd.IaOptionalParams.Key_Keywords, "sports,fashion"); 

     // Receive inneractive ad events 
     LocalBroadcastManager.getInstance(this).registerReceiver(mMessageReceiver, new IntentFilter("InneractiveAd")); 

     linear = new LinearLayout(this); 
     linear.setOrientation(LinearLayout.VERTICAL); 

     // Interstitial ad button 
     interstitialBtn = new Button(this); 
     interstitialBtn.setText("Interstitial ad"); 
     interstitialBtn.setWidth(getWindowManager().getDefaultDisplay().getWidth()); 

     interstitialBtn.setOnClickListener(new OnClickListener(){ 
      public void onClick(View arg0) { 
       // Display interstitial ad 
       if (!InneractiveAd.displayAd(AdsActivity.this, linear, "Android_IA_Test", InneractiveAd.IaAdType.Interstitial, 0, AdsActivity.this.metaData)) 
        noConnectivity(); 
      } 
      }); 

     // Display banner ad 
     if (!InneractiveAd.displayAd(AdsActivity.this, linear, "Android_IA_Test", InneractiveAd.IaAdType.Banner, 120, AdsActivity.this.metaData)) 
      noConnectivity(); 
     linear.addView(interstitialBtn); 

     setContentView(linear); 
    } 

    public void noConnectivity() { 
     AlertDialog alertDialog = new AlertDialog.Builder(AdsActivity.this).create(); 
     alertDialog.setTitle("This application is free but requires an internet connection"); 
     alertDialog.setMessage("Please configure your connectivity settings and re-try"); 
     alertDialog.setButton("Exit", new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int which) { 
        dialog.dismiss(); 
        onBackPressed(); 
      } }); 
     alertDialog.show(); 
    } 

    private BroadcastReceiver mMessageReceiver = new BroadcastReceiver() { 

     @Override 
     public void onReceive(Context context, Intent intent) { 

      /* Receive the inneractive ad event. Can be one of the following events - 
      * IaAdReceived - Called when a new paid Ad has been received and is about to be displayed. 
      * IaDefaultAdReceived - Called when a new default Ad has been received and is about to be displayed. 
      * IaAdFailed - Called when an Ad request fails to get an Ad. 
      * IaAdClicked - Called when an Ad clicked. 
      * IaAdResize - Called when an Ad resized. 
      * IaAdResizeClosed - Called when an Ad resize closed. 
      * IaAdExpand - Called when an Ad expanded. 
      * IaAdExpandClosed - Called when an Ad expand closed. 
      */ 
      String message = intent.getStringExtra("message"); 
     } 
    }; 

    @Override 
    protected void onDestroy() { 
     // Unregister events since the activity is about to be closed. 
     LocalBroadcastManager.getInstance(this).unregisterReceiver(mMessageReceiver); 
     super.onDestroy(); 
    } 

} 

任何幫助將不勝感激。

回答

3

我沒有真正與您提到的廣告提供商合作,但我已與另一家合作。以下是你可以做的一些事情。

  1. 檢查您是否收到廣告成功/失敗。通常他們有他們可以使用的聽衆。

  2. 另請嘗試在xml中製作一個空白布局,並將其中的廣告放入其中,而不是通過編程方式進行。

  3. 如果他們有自己的活動,您可以在其中展示廣告,請先嚐試。

  4. 還有一件事。先做一個setContentView(),然後添加廣告。嘗試一下你的方式。進行線性佈局,setcontentview,然後addview()。如果那不起作用,請嘗試xml方法。

+0

謝謝你,這個問題是我的一個愚蠢的舉動,但這是一個很好的完整答案,接受和upvoting。 – jersam515 2012-03-15 21:54:36

相關問題