快速入门

1. 控制面板集成指南

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

2. SDK集成

A. Maven (推荐)

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

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

    dependencies {
      implementation 'com.tapjoy:tapjoy-android-sdk:13.2.1'
    }

B. 添加Permissions 和 Activities

需要添加下面的 permissions:

  • ACCESS_WIFI_STATE(optional)

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

  android:configChanges="orientation|keyboardHidden|screenSize"

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

AD_ID 和 Google Play Families Progam

Tapjoy 12.9.0包括play-services-ads v17.1.0。对于Google Play Families Program成员,17.1.0版本 play-services-ads 中包括的AD_ID许可必须删除。

您需要在您的manifest中添加如下项来排除:

  <uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>

详细信息请参考这里.

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
  connectFlags.put(TapjoyConnectFlag.USER_ID, "USER_ID_GOES_HERE"); // Important for self-managed currency

  Tapjoy.connect(getContext().getApplicationContext(), "SDK_KEY_GOES_HERE", connectFlags, new TJConnectListener() {
      @Override
      public void onConnectSuccess() {
          super.onConnectSuccess();
      } 
      @Override
      public void onConnectWarning(int code, String message) {
          
      }   
      @Override
      public void onConnectFailure(int code, String message) {
          super.onConnectFailure(code, message);
      }    
  }); 

在此代码中您可以看到,我们连接Tapjoy(同时监听成功和失败回调)的时候,我们配置了两个连接标志位。

这两个重要并经常用到的标志位是ENABLE_LOGGINGUSER_ID

当您调试代码时您将会使用到日志标志位,但是在您正式发布时请将日志标志位关闭。

设置USER_ID标志位对于使用自管理虚拟货币的应用来说至关重要。在连接时设置可以保证在设置展示位置时被调用,避免不必要的奖励问题。

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

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

要了解所有的connect标志位,请参考Java SDK Reference

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

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

Max User Level

您可以通知Tapjoy在您的应用中一共有多少级。您可以调用如下API。在connect前后都可以调用。

java
Tapjoy.setMaxLevel(10); 

User Segment

您可以在通过调用setUserSegment来指定用户在某个群组。在connect前后都可以调用。

java
Tapjoy.setUserSegment(TJSegment.VIP);
Tapjoy.setUserSegment(TJSegment.PAYER);
Tapjoy.setUserSegment(TJSegment.NON_PAYER);
Tapjoy.setUserSegment(TJSegment.UNKNOWN);