快速入门

1. 控制面板集成指南

在Tapjoy控制面板中内置的集成指南,可以帮助您完成Tapjoy SDK 集成。如果愿意,可以使用此入门指南文档作为参考,也可以直接转到适用于您应用程序的集成指南

2. SDK集成

A. Maven (推荐)

添加如下代码到您应用中的build.gradle.

    repositories {
      maven {
        name "Tapjoy's maven repo"
        url "https://tapjoy.bintray.com/maven"
      }
    }

    dependencies {
      api 'com.tapjoy:tapjoy-android-sdk:12.7.0@aar'
    }

B. 添加Permissions 和 Activities

需要添加下面的 permissions:

  • INTERNET
  • ACCESS_NETWORK_STATE
  • ACCESS_WIFI_STATE(optional)
  <uses-permission android:name="android.permission.INTERNET"/>
  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
  <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>

如想使用Tapjoy的全部功能, 添加下面的 activities 到您的AndroidManifest.xml文件中:

<activity
  android:name="com.tapjoy.TJAdUnitActivity"
  android:configChanges="orientation|keyboardHidden|screenSize"
  android:hardwareAccelerated="true"
  android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />
<activity
  android:name="com.tapjoy.TJContentActivity"
  android:configChanges="orientation|keyboardHidden|screenSize"
  android:theme="@android:style/Theme.Translucent.NoTitleBar"
  android:hardwareAccelerated="true" />

您还需要添加同样的configChanges到您应用的Manifest activity:

  android:configChanges="orientation|keyboardHidden|screenSize"

集成Google Play Services,您需要添加如下

<meta-data
  android:name="com.google.android.gms.version"
  android:value="@integer/google_play_services_version" />

C. Proguard

重要: 如果您在使用 Proguard,在您的配置文件中添加如下内容:

-keep class com.tapjoy.** { *; }
-keep class com.moat.** { *; }
-keepattributes JavascriptInterface
-keepattributes *Annotation*
-keep class * extends java.util.ListResourceBundle {
protected Object[][] getContents();
}
-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
public static final *** NULL;
}
-keepnames @com.google.android.gms.common.annotation.KeepName class *
-keepclassmembernames class * {
@com.google.android.gms.common.annotation.KeepName *;
}
-keepnames class * implements android.os.Parcelable {
public static final ** CREATOR;
}
-keep class com.google.android.gms.ads.identifier.** { *; }
-dontwarn com.tapjoy.**

现在请先编译运行一下您的项目,以确保一切正常。目前还没有在您的程序中添加任何代码,所以当运行时,应该不会有任何错误信息,您的应用的功能也不会有任何的变化。

3. 连接Tapjoy

接下来我们添加一些Tapjoy相关的code吧!

Tapjoy Connect调用极其重要,如果实现不正确,将无法使用任何Tapjoy功能.

要添加 Tapjoy connect 调用,您需要取得您正在集成的应用的 Tapjoy SDK Key。在Tapjoy控制面板中选择您的应用程序, 点击左下角的“设置”按钮.

SDK Key 是一长串数字字母组成的字符串,在页面的底部。

现在我们可以写入一些代码,在您的主程序文件中引入 Tapjoy SDK:

java
  import com.tapjoy.Tapjoy

在您的应用的主Activity类的onCreate()方法中添加Tapjoy.connect():

java
  Hashtable<String, Object> connectFlags = new Hashtable<String, Object>();
  connectFlags.put(TapjoyConnectFlag.ENABLE_LOGGING, "true"); // Disable this in production builds

  Tapjoy.connect(getApplicationContext(), "SDK_KEY_GOES_HERE", connectFlags, new TJConnectListener() {
        @Override
        public void onConnectSuccess() {
          TapjoyEasyApp.this.onConnectSuccess();
        } 

        @Override
        public void onConnectFailure() {
          TapjoyEasyApp.this.onConnectFail();
        }
   });

完成代码示例请参考SDK中的EasyApp示例。

For an explanation of the connectFlags, Please see the Java SDK Reference.

对于开发者来说,最实用的是ENABLE_LOGGING和USER_ID。设置连接的USER_ID,对于AppLaunch布局获取用户ID很有必要。对于Push2Earn布局,也要在定义布局之前设置好这项。

下面这些connect标志位可以帮助开发者控制Tapjoy使用Android系统相关ID:

  • ALLOW_LEGACY_ID_FALLBACK (在SDK 12.2.1 及以上版本可用) 如果设置了此标志位,在广告ID不可用的情况下,Tapjoy SDK将使用固定ID来投放广告。
  • DISABLE_ANDROID_ID_AS_ANALYTICS_ID 如果设置了此标志位,我们将不会使用Android ID来做分析,而是使用一串随机字符串。如果集成此标志位之后,可能会导致在Tapjoy分析功能中某些老版本上已用用户被标记为新用户。
  • DISABLE_ADVERTISING_ID_CHECK 默认情况下,Tapjoy SDK 会检查Google 广告ID,如果无法得到,SDK会初始化失败。如果设置了此标志位,Tapjoy SDK在无法得到Google 广告ID的的情况下也可以初始化成功。

现在请编译并且运行您的应用程序。

在Tapjoy控制面板中,如果您点击左侧的的导航栏中的”Real-time”标签,您应该能够看到您的应用的一些实时的应用数据,您可以多运行几次程序,这样用来展示的数据会更多。

恭喜您! 现在Tapjoy 已经开始在您的应用程序中工作了。