Integrar Millennial Media SDK 5.0 en la aplicación de Android

Con respecto al formato de la pregunta, traté de darle formato, pero no aparece algunas líneas de código, no sé por qué. Está sucediendo por segunda vez hoy. Por favor, si alguien puede formatearlo, sería genial.

Quesiton -:

Android 2.3.3

Solo estoy tratando de integrar SDK de medios mileniales en una aplicación de demostración. No hay cosas de lujo. Simplemente aplicación simple, para tener una idea de su implementación.

Esto es lo que he hecho :::

Descargué android_5_0_0_sdk del sitio.Creó un proyecto y agregó el archivo MMSDK.jar a libsHaga clic derecho en el proyecto, vaya a propiedades-> java build path-> library-> add jars-> eligió la ruta a las bibliotecas y MMSDK.jar

4. Agregué el código XML a mi actividad.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:mm="http://millennialmedia.com/android/schema" // this
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />

    // and this
    <com.millennialmedia.android.MMAdView
        android:id="@+id/adView"
        android:layout_width="468dp"
        android:layout_height="60dp"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        mm:apid="123149"
        mm:height="60"
        mm:width="468" />


</RelativeLayout>

Este es mi AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.millennialdemo"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="17" />

<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
    android:name="com.example.millennialdemo.MainActivity"
    android:label="@string/app_name" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

<!-- Start of MillennialMedia.com code -->
<activity
    android:name="com.millennialmedia.android.MMActivity"
    android:configChanges="keyboardHidden|orientation|keyboard" >
</activity>
<activity
    android:name="com.millennialmedia.android.VideoPlayer"
    android:configChanges="keyboardHidden|orientation|keyboard" >
</activity>

<!-- End of MillennialMedia.com code -->

Aquí está mi MainActivity: -

import com.millennialmedia.android.MMAdView;
import com.millennialmedia.android.MMInterstitial;
import com.millennialmedia.android.MMAd;
import com.millennialmedia.android.MMBroadcastReceiver;
import com.millennialmedia.android.MMRequest;
import com.millennialmedia.android.MMSDK;
import com.millennialmedia.android.RequestListener.RequestListenerImpl;
public class MainActivity extends Activity {

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

    MMSDK.initialize(this);

    setContentView(R.layout.activity_main);

    MMAdView adView = new MMAdView(this);

    //Replace YOUR_APID with the APID provided to you by Millennial Media
    adView.setApid("123149");

    //Set your metadata in the MMRequest object
    MMRequest request = new MMRequest();

    //Add metadata here.

    //Add the MMRequest object to your MMAdView.
    adView.setMMRequest(request);

    //Sets the id to preserve your ad on configuration changes.
    adView.setId(MMSDK.getDefaultAdId());
        adView.getAd();//change suggested by Millennial Mark


}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

}

Creo que hice todo lo que se dice en el documento, pero no recibo ningún anuncio y todo lo que recibo es el siguiente registro en mi logcat ...

05-20 20:54:58.932: E/Web Console(386): ReferenceError: Can't find variable: MMJS at undefined:1
05-20 20:54:58.932: E/Web Console(386): ReferenceError: Can't find variable: MMJS at undefined:1
05-20 20:54:58.972: W/MillennialMediaSDK(386): AdView onLayout changedfalse int left 24 int top 24 int right 456 int bottom 99
05-20 20:55:00.382: D/dalvikvm(386): GC_CONCURRENT freed 1228K, 57% free 2903K/6727K, external 2002K/2137K, paused 6ms+6ms
05-20 20:55:01.172: E/MillennialMediaSDK(386): Could not get a handshake. No peer certificate
05-20 20:55:01.172: E/MillennialMediaSDK(386): Could not get a handshake. No peer certificate
05-20 20:55:01.212: D/dalvikvm(386): GC_CONCURRENT freed 826K, 58% free 2843K/6727K, external 2002K/2137K, paused 6ms+5ms

No entiendo qué está mal. Si alguien me puede ayudar, es muy apreciado.

Despues de cambiar esto

 MMAdView adView = new MMAdView(this);

a

MMAdView adView = (MMAdView) findViewById(R.id.adView);

Todavía tengo el mismo problema ... aquí está el logcat ..

05-20 21:57:26.911: I/MillennialMediaSDK(467): Initializing MMLayout.
05-20 21:57:27.631: W/MillennialMediaSDK(467): MMLayout adding view (MMWebView originally from(1) MRaidState(loading).) to AdType[(b) InternalId(1) LinkedId(0) isFinishing(false)]
05-20 21:57:27.842: W/MillennialMediaSDK(467): AdView onLayout changedtrue int left 24 int top 24 int right 456 int bottom 114
05-20 21:57:27.861: W/MillennialMediaSDK(467): Id check for parent: 1 versus 1
05-20 21:57:27.911: W/MillennialMediaSDK(467): AdView onLayout changedfalse int left 24 int top 24 int right 456 int bottom 114
05-20 21:57:28.041: E/Web Console(467): ReferenceError: Can't find variable: MMJS at undefined:1
05-20 21:57:28.051: E/Web Console(467): ReferenceError: Can't find variable: MMJS at undefined:1
05-20 21:57:28.551: W/MillennialMediaSDK(467): AdView onLayout changedfalse int left 24 int top 24 int right 456 int bottom 114
05-20 21:57:29.541: D/dalvikvm(467): GC_CONCURRENT freed 1226K, 57% free 2905K/6727K, external 2002K/2137K, paused 5ms+9ms
05-20 21:57:30.292: E/MillennialMediaSDK(467): Could not get a handshake. No peer certificate
05-20 21:57:30.301: E/MillennialMediaSDK(467): Could not get a handshake. No peer certificate
05-20 21:57:30.331: D/dalvikvm(467): GC_CONCURRENT freed 813K, 58% free 2843K/6727K, external 2002K/2137K, paused 4ms+4ms

Después de cambiar el código como lo sugiere Millennial Mark, obtengo los siguientes errores, básicamente los mismos.

05-21 08:54:38.948: I/MillennialMediaSDK(341): Initializing MMLayout.
05-21 08:54:39.616: W/MillennialMediaSDK(341): MMLayout adding view (MMWebView originally from(1) MRaidState(loading).) to AdType[(b) InternalId(1) LinkedId(0) isFinishing(false)]
05-21 08:54:40.027: W/MillennialMediaSDK(341): AdView onLayout changedtrue int left 24 int top 24 int right 456 int bottom 99
05-21 08:54:40.055: W/MillennialMediaSDK(341): Id check for parent: 1 versus 1
05-21 08:54:40.115: W/MillennialMediaSDK(341): AdView onLayout changedfalse int left 24 int top 24 int right 456 int bottom 99
05-21 08:54:40.295: E/Web Console(341): ReferenceError: Can't find variable: MMJS at undefined:1
05-21 08:54:40.295: E/Web Console(341): ReferenceError: Can't find variable: MMJS at undefined:1
05-21 08:54:40.295: W/MillennialMediaSDK(341): AdView onLayout changedfalse int left 24 int top 24 int right 456 int bottom 99
05-21 08:54:58.139: E/MillennialMediaSDK(341): Ad request HTTP error. androidsdk.ads.mp.mydas.mobi
05-21 08:54:59.527: E/MillennialMediaSDK(341): Could not get a handshake. ads.mp.mydas.mobi
05-21 08:54:59.527: E/MillennialMediaSDK(341): Could not get a handshake. ads.mp.mydas.mobi

He revisado las respuestas dadas por Millennial Mark en otros escenarios. Esto es lo que he hecho.

Haga clic con el botón derecho en proyecto-> propiedades-> java build path-> vaya a ordenar y exportar pestaña y marque la casilla de verificación del archivo jar MMSDK. Ahora, no recibo el error de "apretón de manos", pero el error de "referencia" sigue apareciendo y NO AD se muestra también.

Aquí está la huella logcat

05-21 09:03:33.565: E/Web Console(341): ReferenceError: Can't find variable: MMJS at undefined:1
05-21 09:03:46.296: W/MillennialMediaSDK(341): Id check for parent: 1 versus 1
05-21 09:03:46.346: E/Web Console(341): ReferenceError: Can't find variable: MMJS at undefined:1

MainActivity modificado

package com.example.millennialdemo;

import android.os.Bundle;
import android.app.Activity;
import android.util.DisplayMetrics;
import android.util.TypedValue;
import android.view.Menu;
import android.widget.RelativeLayout;

import com.millennialmedia.android.MMAdView;
import com.millennialmedia.android.MMInterstitial;
import com.millennialmedia.android.MMAd;
import com.millennialmedia.android.MMBroadcastReceiver;
import com.millennialmedia.android.MMRequest;
import com.millennialmedia.android.MMSDK;
import com.millennialmedia.android.RequestListener.RequestListenerImpl;


public class MainActivity extends Activity {

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

        MMSDK.initialize(this);

        setContentView(R.layout.activity_main);

        MMAdView adView = (MMAdView) findViewById(R.id.adView);

        //Replace YOUR_APID with the APID provided to you by Millennial Media
        adView.setApid("123149");

        //Set your metadata in the MMRequest object
        MMRequest request = new MMRequest();

        //Add metadata here.

        //Add the MMRequest object to your MMAdView.
        adView.setMMRequest(request);

        //Sets the id to preserve your ad on configuration changes.
        adView.setId(MMSDK.getDefaultAdId());
        adView.getAd();


    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}

Respuestas a la pregunta(2)

Su respuesta a la pregunta