Integrieren Sie Millennial Media SDK 5.0 in die Android-Anwendung

Bezüglich der Formatierung der Frage habe ich versucht, sie zu formatieren, aber es werden nicht wenige Codezeilen angezeigt. Ich weiß nicht warum. Es passiert heute zum zweiten Mal. Bitte, wenn jemand es formatieren kann, wäre es großartig.

Frage -:

Android 2.3.3

Ich versuche nur, Millennial Media SDK in eine Demo-App zu integrieren. Kein schickes Zeug. Nur eine einfache App, um eine Vorstellung von der Implementierung zu bekommen.

Folgendes habe ich getan:

Heruntergeladen android_5_0_0_sdk von der Website.Erstellt ein Projekt und fügt libs die Datei MMSDK.jar hinzuKlicken Sie mit der rechten Maustaste auf das Projekt, gehen Sie zu Eigenschaften -> Java-Erstellungspfad -> Bibliotheken -> fügen Sie JARs hinzu -> wählen Sie den Pfad zu den Bibliotheken und MMSDK.jar

4.Fügte den XML-Code meiner Aktivität hinzu

<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>

Dies ist meine 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 -->

Hier ist meine Hauptaktivität: -

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;
}

}

Ich glaube, ich habe alles getan, was im Dokument steht, aber ich erhalte keine Anzeige und alles, was ich erhalte, ist das folgende Protokoll in meinem 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

Ich verstehe nicht, was falsch läuft. Wenn mir jemand helfen kann, wird es sehr geschätzt.

Nachdem dies geändert wurde

 MMAdView adView = new MMAdView(this);

zu

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

Ich habe immer noch das gleiche problem .. hier ist der 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

Nachdem ich den von Millennial Mark vorgeschlagenen Code geändert habe, erhalte ich die folgenden Fehler, im Grunde die gleichen.

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

Ich habe die Antworten von Millennial Mark in anderen Szenarien durchgesehen. Folgendes habe ich getan.

Klicken Sie mit der rechten Maustaste auf project-> properties-> java build path-> gehen Sie zur Registerkarte order and export und aktivieren Sie das Kontrollkästchen der MMSDK-JAR-Datei. Jetzt wird der "Handshake" -Fehler nicht angezeigt, aber der "Referenz" -Fehler wird weiterhin angezeigt und NO AD wird ebenfalls angezeigt.

Hier ist der Logcat-Trace

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

Geänderte MainActivity

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;
    }

}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage