2012-03-15 4 views
0

私は自分のアプリの後の段階にあり、Inneractiveの広告をどのように機能させるべきなのかと思っています。私はチュートリアルを試しましたが、私の接続が私のGalaxy S IIの完璧な6バーであるにもかかわらず、広告を表示していません。私は参照されたライブラリにinneractiveとsupport 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. もう1つ。最初にsetContentView()を実行してから、広告を追加します。あなたのやり方で一度試してみてください。線形レイアウトを作成し、setcontentviewを実行してからaddview()を実行します。それが動作しない場合は、xmlメソッドを試してください。

+0

ありがとうございます、問題は私の側で馬鹿げた動きでしたが、これは良い完全な答え、受け入れてupvotingです。 – jersam515

関連する問題