手动集成的第一步是下载Android SDK itself.
解压之后,您会看到如下的libs和TapjoyEasyApp文件夹。
dependencies {
implementation files('libs/tapjoyconnectlibrary.aar')
}
repositories {
maven {
url 'https://maven.google.com/'
name 'Google'
}
}
dependencies {
implementation 'com.google.android.gms:play-services-ads-identifier:17.1.0'
}
需要添加下面的 permissions:
ACCESS_WIFI_STATE
(optional)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"/>
详细信息请参考这里.
如果您使用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.TJWebViewActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:theme="@style/TranslucentTheme"
android:hardwareAccelerated="true" />
<activity
android:name="com.tapjoy.TJAdUnitActivity"
android:enableOnBackInvokedCallback="false"
android:configChanges="orientation|keyboardHidden|screenSize"
android:theme="@style/TranslucentTheme"
android:hardwareAccelerated="true"
tools:ignore="UnusedAttribute" />
<activity
android:name="com.tapjoy.TJWebViewActivity"
android:enableOnBackInvokedCallback="false"
android:configChanges="orientation|keyboardHidden|screenSize"
android:theme="@style/TranslucentTheme"
android:hardwareAccelerated="true"
tools:ignore="UnusedAttribute" />
您还需要添加同样的configChanges到您应用的Manifest activity:
android:configChanges="orientation|keyboardHidden|screenSize"
现在请先编译运行一下您的项目,以确保一切正常。目前还没有在您的程序中添加任何代码,所以当运行时,应该不会有任何错误信息,您的应用的功能也不会有任何的变化。
接下来我们添加一些Tapjoy相关的code吧!
Tapjoy Connect调用极其重要,如果实现不正确,将无法使用任何Tapjoy功能.
要添加Tapjoy connect调用,您需要取得您正在集成的应用的 Tapjoy SDK Key。在Tapjoy控制面板中选择您的应用程序, 点击左下角的“设置”按钮。
SDK Key 是一长串数字字母组成的字符串,可以在页面底部找到。
现在我们可以写入一些代码,在您的主程序文件中引入 Tapjoy SDK:
import com.tapjoy.Tapjoy
在您的应用的主Activity类的onCreate()
方法中添加Tapjoy.connect():
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(getApplicationContext(), "SDK_KEY_GOES_HERE", connectFlags, new TJConnectListener() {
@Override
public void onConnectSuccess() {
this.onConnectSuccess();
}
@Override
public void onConnectWarning(int code, String message) {
}
@Override
public void onConnectFailure() {
this.onConnectFailure();
}
});
在此代码中您可以看到,我们连接Tapjoy(同时监听成功和失败回调)的时候,我们配置了两个连接标志位。
这两个重要并经常用到的标志位是ENABLE_LOGGING和USER_ID。
当您调试代码时您将会使用到日志标志位,但是在您正式发布时请将日志标志位关闭。
设置USER_ID标志位对于使用自管理虚拟货币的应用来说至关重要。在连接时设置可以保证在设置展示位置时被调用,避免不必要的奖励问题。
下面这些connect标志位可以帮助开发者控制Tapjoy使用Android系统相关ID:
要了解所有的connect标志位,请参考Java SDK Reference。
现在请编译并且运行您的应用程序。
在Tapjoy控制面板中,如果您点击左侧的的导航栏中的”Real-time”标签,您应该能够看到您的应用的一些实时的应用数据,您可以多运行几次程序,这样用来展示的数据会更多。
恭喜您! 现在Tapjoy 已经开始在您的应用程序中工作了。