手动集成

1. 下载SDK

手动集成的第一步是下载Android SDK itself.

2. 添加SDK到您的工程中

解压之后,您会看到如下的libs和TapjoyEasyApp文件夹。

  1. 拷贝tapjoyconnectlibrary.aar文件到您应用工程的/libs文件夹(如果没有,请先创建)
  2. 将如下添加到您应用的build.gradle:
  dependencies {
    implementation files('libs/tapjoyconnectlibrary.aar')
  }
  1. 添加Google-Play-Service库并设置dependencies
repositories {
  maven {
    url 'https://maven.google.com/'
    name 'Google'
  }
}
dependencies {
  implementation 'com.google.android.gms:play-services-ads-identifier:17.0.0'
}

Add App Permissions and Activities

需要添加下面的 permissions:

  • ACCESS_WIFI_STATE(optional)

JAR Integration

如果您使用JAR而非AAR,下面的permissions和activities也是必须的:

  • INTERNET
  • ACCESS_NETWORK_STATE
  <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"

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

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() {
          this.onConnectSuccess();
        } 

        @Override
        public void onConnectFailure() {
          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 已经开始在您的应用程序中工作了。