2

我必须在我的 android 应用程序中集成 flurry 广告。任何人都可以提供整合乱舞广告的步骤。我已经通过官方 sdk 进行了慌乱,但不知道。我已经按照链接 android: Flurry Ads Bannertaking Full screen

我使用了代码没有得到任何结果

    FlurryAgent.onStartSession(this, getString(R.string.flurry_api_key));

    FlurryAds.fetchAd(this, "ANDROID_BANNER_TOP", mBanner,
            FlurryAdSize.BANNER_TOP);
4

1 回答 1

1

先决条件

Flurry Analytics 要求最低 Android API 级别 10。

Flurry Analytics 使用 Google Play 服务提供的 Android 广告 ID,并将检查并尊重用户的广告跟踪偏好。

  1. 获取您的 API 密钥

首先创建一个应用程序。创建应用程序后,您将收到一个 Flurry API 密钥,您在使用 SDK 时将需要该密钥。

  1. 下载 Flurry Android SDK

目前有两种方法可以将 Flurry Android SDK 安装到您的应用程序中:

通过 jCenter 安装(推荐):Flurry SDK 可通过 jCenter 获得。您可以通过在 build.gradle 文件中包含以下内容将其添加到您的应用程序中:

// In your top level Gradle config file:
buildscript {
    repositories {
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.0'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}


// In your main app's Gradle config file:
dependencies {
    compile 'com.flurry.android:analytics:6.3.1'
    /*
     * Optional library to help in monetizing your app with ads.
     * If you include the ads library, you do not need to include
     * the analytics library as it is a transitive dependency.
     */
    // compile 'com.flurry.android:ads:6.3.1'

    //... other dependencies
}

从Flurry Dev Portal下载 .jar 文件 下载的存档应包含这些文件以用于 Flurry Analytics:

  • FlurryAnalytics_x.yzjar:包含 Flurry 分析收集和报告代码的库(其中 xyx 表示 Flurry SDK 的最新版本)。
  • FlurryAds_x.yzjar:将 Flurry 的广告合并到您的应用程序中的可选库(其中 xyx 表示 Flurry SDK 的最新版本)。
  • ProjectApiKey.txt:此文件包含您的项目名称和项目的 API 密钥。
  • FlurryAndroidAnalyticsReadmevx.yzpdf:带有说明的 PDF 文件(其中 xyx 表示 Flurry SDK 的最新版本)。
  1. 将 FlurryAnalytics_x.yzjar 添加到您的类路径¶

使用 Android Studio: 如果使用 Android Studio,你不需要做任何进一步的事情来在你的项目中包含 Flurry SDK,只要你在 Gradle 配置中通过 jCenter 安装了 SDK。

但是,如果您更喜欢使用下载的 .jar 文件,请按照以下步骤操作:

将 FlurryAnalytics-5.xxjar 添加到项目的 libs 文件夹中。导航到文件 > 项目结构 > 模块 > 依赖项。单击“项目结构”弹出窗口底部的“+”按钮以添加依赖项。选择“文件依赖项”并添加 libs/FlurryAnalytics-5.xxjar。添加 Google Play 服务库。如果有选择地编译单个 Google Play 服务 API,您应该包括 Google Analytics API。

使用 Eclipse 将 FlurryAnalytics-5.xxjar 添加到项目的 libs 文件夹中。右键单击每个 JAR 文件并选择 Build Path > Add to Build Path。添加 Google Play 服务库 jar 文件。

配置您的 AndroidManifest.xml - 可以访问 Internet 并允许 Flurry SDK 检查网络连接状态。- 在清单中指定 versionName 属性以在该版本名称下报告数据。- 声明应用支持的 Android 操作系统的最低版本。Flurry 支持 Android OS 10 及以上版本。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.flurry.sample"
    android:versionCode="1"
    android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="10"
    android:targetSdkVersion="21" />
    <!--required permission-->
    <uses-permission android:name="android.permission.INTERNET" /> 
    <!--optional permission - highly recommended-->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
    <!--optional permission -->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

    <application
        android:name=".MyApplication"
        android:icon="@drawable/app_icon">
        <!--your activities -->

    </application>
</manifest>
  1. 添加对 init、onStartSession 和 onEndSession 的调用

按照以下步骤,添加这些调用:

  1. 如果您要发布一个应用程序,请在您的 Application 类中插入对 FlurryAgent.init(Context, String) 的调用,并将对您的应用程序上下文和项目的 API 密钥的引用传递给它:

//如果您正在发布一个应用程序,如果您还没有这样做,请扩展 Application 类:

public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();

        new FlurryAgent.Builder()
            .withLogEnabled(false)
            .build(this, FLURRY_API_KEY);
    }
}

或者,您可以在 onStartSession() 之前调用 init()。如果您在整个应用程序中使用相同的 API 密钥,则多次调用 init() 是安全的。您可以使用任何类型的上下文。

  1. 如果您正在编写应用程序并且最低目标是 Ice Cream Sandwich 或更高版本(minSdkVersion 设置为 API 级别 14 或更高版本),则会话处理是完全自动的,您可以跳过步骤 3 和 4。如果您正在检测其他类型的上下文,例如服务,或者您的最低目标是 Gingerbread,请继续执行步骤 3 或 4。
  2. 在 Activity 的 onStart() 方法中插入对 FlurryAgent.onStartSession(Context) 的调用,将引用传递给 Context 对象(例如 Activity 或 Service)。如果您的目标是 Gingerbread,Flurry 建议在您的应用程序中使用每个 Activity 的 onStart() 方法,并将 Activity 本身作为 Context 对象传递。对于服务(或其他上下文),使用服务或相关上下文作为上下文对象。不要传入全局应用程序上下文。
  3. 当会话完成时,在 Activity 的 onStop() 方法中插入对 FlurryAgent.onEndSession(Context) 的调用。如果您的目标是 Gingerbread,我们建议在您的应用中使用每个 Activity 的 onStop 方法。对于服务(或其他上下文),确保在每个检测的服务中调用 onStop。确保为每次调用 onStartSession 匹配对 onEndSession 的调用,传入用于调用 onStartSession 的相同 Context 对象。不要传入全局应用程序上下文。

只要有任何 Context 调用了 onStartSession() 但没有调用 onEndSession(),会话就会继续。此外,如果一个新的 Context 在最后一个 Context 调用 onEndSession() 的 10 秒内调用了 onStartSession(),那么会话将被恢复,而不是创建一个新的会话。会话长度、使用频率、事件和错误将继续作为同一会话的一部分进行跟踪。这可确保当用户在您的应用程序中从一个 Activity 转换到另一个 Activity 时,他们不会为每个 Activity 跟踪单独的会话,而是会有一个跨越多个 Activity 的会话。如果要跟踪 Activity 使用情况,Flurry 建议使用 logEvent(),如自定义事件部分所述。

如果您希望更改可以恢复会话的窗口,请在调用 FlurryAgent.init() 之前调用 FlurryAgent.setContinueSessionMillis(long milliseconds)。

一旦 SDK 确定会话完成,Flurry SDK 会自动传输会话期间捕获的数据。如果设备未连接,数据将保存在设备上,并在设备再次连接后传输。SDK 管理整个过程。目前,应用程序无法安排数据传输。

你完成了!这就是您开始接收基本指标数据所需要做的一切。

于 2016-06-07T15:08:04.337 回答