Changelog
14.2.1 (2024-12-09)
14.2.0 (2024-12-04)
- 升级Kotlin到v1.9.25.
- 废弃TJPlacement onClick listener.
- Target API升级到35.
- 废弃getSupportUrl.
- 修复在Android 15上EasyApp UI的问题.
- 取消predictive back gesture.
- 当在EasyApp中取消自动连接时, 添加新的SDK key之后无需重启即可连接。
14.1.1 (2024-10-15)
- 修复在connect之后'AppLaunch'展示位置没有调用的问题。
14.1.0 (2024-10-01)
- 修复Android 15上的刘海屏/相机/状态栏会遮挡UI的问题。
- 修复由TJEventOptimiser引起的ANR问题。
- 升级Gradle Plugin到8.6.1.
- 更新EasyApp依赖.
- 更新EasyApp使用AAR.
- 废弃PPE接口.
- 升级play-services-ads-identifier到18.1.0.
- 升级play-services-appset到16.1.0.
- 修复由于在Plugin中勾选Offerwall Discover导致的偶现的崩溃问题。
- [C++]添加16k page files的支持。
14.0.1 (2024-07-16)
14.0.0 (2024-07-01)
- 修复在Android 8.0上有时无法打开积分墙的问题。
- 添加清楚用户数据功能。
- 添加User Level getter。
- 添加UserId getter。
- 删除DISABLE_ANDROID_ID_AS_ANALYTICS_ID connect flag.
- 删除废弃的push notifications接口。
- 删除废弃的limitedConnect and placement接口。
- 删除废弃的UserCohortVariables接口。
- 删除废弃的InstallReferrer接口。
- 删除废弃的CustomEvents接口。
- 删除废弃的PrivacyPolicy接口。
- 删除废弃的UserFriendCount接口。
- 删除废弃的Mediation/Auction date接口。
- 删除store_name connect flag.
- 删除废弃的setUserId接口。
- 删除废弃的connectFailure callback。
- 删除TJConnectActivity。
- 废弃setGLSurfaceView。
- 废弃setActivity。
13.4.1 (2024-03-19)
13.4.0 (2024-03-04)
- 添加
connectWarning
回调。
- 添加Kotlin示例app。
- 在SDK中添加
kotlin-stdlib
依赖。
- 更新到Java 11 (native only)。
- 删除push notifications。
- 删除install referrer。
13.3.0 (2023-11-30)
- Tapjoy.connect在API level 23及以下立即返回失败。编译支持MinSdk为API 21.
- 废弃'DISABLE_ANDROID_ID_AS_ANALYTICS_ID'连接标志。
- 好友数目数据不再发送。 API在13.2.0中已弃用,并将在14.0.0中删除
- 用户群组变量数据不再发送。 API在13.2.0中已弃用,并将在14.0.0中删除
- 错误修复和优化。
13.2.1 (2023-10-05)
13.2.0 (2023-09-27)
- 删除对于Android4.x的支持。目前支持的最低API Level为21。
- 升级到Gradle 8。
- 增加设置最大用户等级的API。
- 增加设置设置用户分组的API。
- 增加设置用户账户虚拟货币余额API(仅限于自管理虚拟货币)。
- 增加设置虚拟货币要求API。
- 增加设置展示位置入口点API。
- 废弃聚合和视频相关方法和回调。
- 废弃推送通知。
- 废弃limited connect。
- 在C++接口中增加connect标志位。
- 在C++接口中增加TJStatus。
- 优化spend/earn虚拟货币方法。
- 在connect失败方法中添加错误消息回调。废弃无参数回调。
- 错误修复。
13.1.2 (2023-07-14)
- 修复由于设置PrivacyPolicy引起的崩溃问题。
- 错误修复。
13.1.1 (2023-06-30)
13.1.0 (2023-06-28)
- 升级Gradle到7.5。
- 升级Target API到33。
- 添加Tapjoy-Managed虚拟货币回调错误代码。
- 修复NullPointerException的问题。
- 修复当requestContent在onContentDismiss调用时onContentDismiss会调用两次的问题。
- 更新privacy policy 接口。
- 在EasyApp UI添加privacy policy settings。
- 修复在Android 6和7上视频引起的崩溃问题。
- 修复CalledFromWrongThreadException引起的崩溃问题。
13.0.1 (2023-04-18)
13.0.0 (2023-04-06)
- 在logcat中显示'test device id'.
- 改进EasyApp.
- 删除deprecated privacy interfaces - 替换为 TJPrivacyPolicy.
- 删除deprecated display multiplier interface.
- 删除deprecated AppDataVersion interface.
- 修复透明状态栏错误.
- 修复 webview memory leak.
- 其他错误修复和性能提升.
12.11.1 (2022-12-01)
- 修复EasyApp与Android Studio Dolphin相关的问题。
- 更新EasyApp gradle 版本。
- 修复性能相关问题。
12.11.0 (2022-10-07)
- 修复当在Connect之前调用optOutAdvertisingID时,advertisingID将不会的获取的问题。
- 删除JCenter 并在适当的地方将其替换为 MavenCentral。
- 更新target API 32.
12.10.0 (2022-05-03)
- 使用setUserId(id, listener)替换setUserID方法。
- 在Android 12支持推送消息。
- 删除SDK中push to earn支持。
- 添加在网络请求中enable/disable Android advertising_id参数。
12.9.1 (2022-03-01)
- 在Android 12及以上版本使用PendingIntent
FLAG_IMMUTABLE
。这将解决在Android 设备上推送消息相关的崩溃问题和相关的Google play store警告信息。
- 在Android 12设备上将不支持推送通知。
- 删除
setGcmSender
API.
- 升级
play-services-ads
依赖到18.0.0。
- 删除
play-services-ads
严格的版本要求。
12.9.0 (2022-01-13)
- 更新
play-services-ads
依赖关系到17.1.0 (最低支持版本为15.0.0)。对应哪些Google Play Families Program中的APP,在17.1.0版本中包括的AD_ID
许可需要被[删除]。
- 添加SDK请求的一些参数。详细信息请参考Tapjoy收集的信息。
- SDK将不再收集MAC地址。
- 在EasyApp的launch activity中添加了
android:exported
属性来支持API 31。
- 使用API 31和AndroidX编译。
12.8.1 (2021-05-25)
- 更新EasyApp示例代码(使用API 30和Google Play Services更新为17.0.0)
- play-services-ads-identifier:17.0.0为SDK的maven依赖项
- SDK使用Android API 30构建
- 添加SDK请求的一些参数。详细信息请参考Tapjoy收集的信息.
- 错误修复和功能改进。
12.8.0 (2021-03-16)
12.7.1 (2020-11-02)
- 添加InstallReferrer API
- 修复重复回调onContentDismiss的问题
12.7.0 (2020-09-16)
12.6.1 (2020-07-09)
12.6.0 (2020-06-29)
此版本提供开发者符合California Consumer Privacy Act (CCPA)功能。每个平台(iOS, Android, Unity, C++)提供了 “TJPrivacyPolicy”类来支持设置所有隐私标志位(GDPR, user consent, below consent age, and US privacy)。具体实现细节请参考这里。
注意: 如果您是从以前版本升级并且已经设置隐私标志位,请不要担心。新版本的SDK依然会使用以前版本中设置的值,无需再次手工设置。但是我们推荐您使用新的方法。
- 添加新的TJPrivacyPolicy类来支持GDPR, US Privacy, Consent and Below Consent Age。
- 废弃老的 GDPR, User Consent and Below Consent Age API。
12.4.2 (2020-02-07)
12.4.1 (2020-01-07)
- 删除安装归因相关旧的自定义功能。
- 视频UI修改。
- Bug 修复。
12.4.0 (2019-12-04)
- 支持虚拟货币回调中设置自定义参数(未来产品发布)。
- Bug修复。
12.3.4 (2019-10-09)
12.3.3 (2019-09-20)
12.3.2 (2019-09-16)
- 默认使用DISABLE_ANDROID_ID_AS_ANALYTICS_ID connect 标志位。
- Bug 修复。
12.3.1 (2019-06-06)
12.3.0 (2019-05-28)
- 视频广告性能优化。
- 在TJPlacementListener中添加onClick回调接口。
public interface TJPlacementListener {
public void onClick(TJPlacement placement);
}
- 错误修复:
- ACCESS_WIFI_STATE 许可从.aar中删除。
12.2.1 (2019-03-14)
- Tapjoy调整了对设备标识的使用,比如Android ID。我们正在减少使用这些ID。这些改变对于多数的开发者没有影响,也无需任何的代码改变。具体如下:
- 对于广告,如果Advertising ID 可用,我们会尽可能使用Advertising ID。老版本Tapjoy SDK 会在Advertising ID 不可用的情况下,使用Android ID和MAC地址(如果允许的话)。从SDK 12.2.1 起,即使Advertising ID不可用,Tapjoy SDK 也不会使用Android ID和MAC地址进行广告行为。
- 如果开发者想在Advertising ID不可用的情况下使用Android ID进行广告行为,开发者需要在调用connect时设置ALLOW_LEGACY_ID_FALLBACK 标志位来覆盖默认的SDK行为。
- 如果开发者想在Advertising ID不可用的情况下使用MAC地址进行广告行为,开发者需要在调用connect时设置ALLOW_LEGACY_ID_FALLBACK 标志位来覆盖默认的SDK行为,并且在manifest文件中设置ACCESS_WIFI_STATE许可。
- 对于分析,除非开发者在调用connect时设置DISABLE_ANDROID_ID_AS_ANALYTICS_ID标志位,Tapjoy SDK依然会使用Android ID。
- 对于分析,Tapjoy SDK将不再使用MAC地址。
- 如果开发者正在使用Tapjoy管理货币,同时没有设置开发者用户ID, 对于那些没有Advertising ID的用户,如果Android ID 没有发送的话,有无法得到他们账户余额的风险。对于正在使用Tapjoy管理货币,同时没有设置开发者用户ID 的开发者,我们推荐在升级到12.2.1版本时使用ALLOW_LEGACY_ID_FALLBACK 标志位来保证用户可以得到他们账户余额。同时我们推开发者设置开发者用户ID,这样用户将不会依赖Android 来跟踪账户余额。
- 删除DISABLE_PERSISTENT_IDS 标志位,Tapjoy SDK默认不会使用设备标识进行广告行为。
- 删除一些无用的代码,SDK大小比上一个版本减小大约10%。(详细信息,请参考FAQ entry on SDK size。)
- 错误修复:
- 修复偶尔"Fatal Exception: java.lang.RuntimeException: Package manager has died" 崩溃
- 修复当SDK key为空时的崩溃
- 修复
AppMonitor.getVisibleActivity()
方法中由于线程安装问题导致的java.util.ConcurrentModificationException
12.2.0 (2018-11-13)
在美国,儿童在线隐私保护法案(COPPA)对(a)知悉实际用户是13岁以下的儿童,或(b)针对13岁以下儿童提供服务(包括应用程序)的在线服务提供商有具体规定。
同样,GDPR 对低于准许在线的当地最低年龄(年龄范围在13到16,具体由每个成员国确定)的数据对象有具体规定。
对于不针对13岁以下儿童但仍有少数用户已知在适用的最低年龄以下的应用程序,请利用此方法使用Tapjoy变现功能。此方法会将ad_tracking_enabled设置为false,Tapjoy仅显示用户内容相关广告,不会对此用户进行广告跟踪。
public static void belowConsentAge(boolean isBelowConsentAge);
- 将此设置为TRUE意味着Tapjoy SDK会将用户视为打开了“选择退出广告个性化”开关。 这意味着他们仍会看到Tapjoy广告,但广告不会根据用户行为进行匹配,Tapjoy也不会跟踪用户的广告行为。
- 错误修复:
- 修复了不常见的 "Fatal Exception: java.lang.NullPointerException" 崩溃。
12.1.0 (2018-10-11)
12.0.0 (2018-06-26)
- Tapjoy SDK 添加了 IAB Open Measurement SDK。开发者不需要额外的操作或者代码改动。
- 最低支持版本是API Level 14/Android 4.0/Ice Cream Sandwich。
- 此版本支持程式化聚合广告。服务器端和控制面板的支持将会稍后发布。
- 修复针对Android O设备的推送问题。
11.12.2 (2018-05-18)
此版本包含的功能可以帮助发布商遵守《一般数据保护条例》(GDPR)。每个平台(iOS,Android,Unity,AIR)都有两个新功能。Tapjoy是基于“合法利益”符合GDPR规定,所以以下功能并非强制性的。但是,我们为希望将同意信息传递给Tapjoy的发布商提供这些功能。如果发布商实现了这些功能,但是用户不同意,Tapjoy将向该用户提供非利益相关内容。
这些功能可以在Tapjoy Connect之前调用,同时要在请求任何Tapjoy广告内容之前调用:
- setUserConsent函数提供“0”(用户不同意),“1”(用户同意)或更详细的同意信息。 这个更详细的同意信息是在IAB支持的透明和同意框架中描述的同意信息。
- "subject to GDPR"标志位提供可以设置为YES / TRUE(如果用户遵守GDPR规则)或NO / FALSE(如果用户不遵守GDPR规则)的可选“遵守GDPR规则”标志。 只有在应用程序已经确定GDPR是否适用于用户时,才能调用此函数。 如果这个功能没有被调用,Tapjoy认为应用程序没有做出这样的决定,因此Tapjoy自己决定GDPR的适用性。
Added:
public static void setUserConsent(String value);
Example:
Tapjoy.setUserConsent("1");
public static void subjectToGDPR(boolean gdprApplicable);
Example:
Tapjoy.subjectToGDPR(true);
GDPR FAQ
如果用户选择不同意,Tapjoy SDK是否依然收集广告ID?
是的。上面列出的功能是针对基于兴趣推送广告而设计的,它们将针对基于兴趣推送广告的用户同意状态发送给Tapjoy。因此,同意状态不会阻止Tapjoy SDK在SDK初始化或广告请求期间获取广告ID(iOS的IDFA或Android的GAID)。
** Tapjoy遵守法规的法律依据是“合法权益”。但是,发布商的合规性法律依据以及对广告主ID的要求可以与Tapjoy的法律依据不同。**
由应用程序决定是否应初始化Tapjoy SDK,具体取决于应用程序的合规性需求。例如,如果应用程序收集广告ID的合法依据是同意,而用户未同意,则不应为此类用户初始化Tapjoy SDK。
如果来自未受GDPR覆盖的国家/地区的用户不同意或撤回同意,Tapjoy会将广告限制为此类用户使用非基于兴趣的广告吗?
** Tapjoy SDK提供了灵活性,可以处理不同类型的应用程序,包括没有应用程序内方法来确定用户是否受GDPR约束的应用程序。**
因此,当应用程序未做出任何决定(即未调用subjectToGDPR函数)时,Tapjoy服务器将确定用户是否受GDPR约束。然后,Tapjoy仅在Tapjoy确定来自GDPR覆盖的用户的广告请求中遵守用户的同意首选项。
如果目的是允许来自任何国家的用户撤回同意,就像他们受GDPR一样,则可以通过对所有非同意用户调用subjectToGDPR方法(为TRUE)来完成。在这种情况下,Tapjoy的服务器将遵守subjectToGDPR方法调用的内容,并且不会自行决定用户是否受GDPR覆盖。发行商还可以联系support@tapjoy.com,并要求Tapjoy尊重其应用程序所有用户的同意首选项,无论他们是否受GDPR覆盖。
11.12.1 (2018-04-30)
11.12.0 (2018-03-29)
- Tapjoy SDK将不再请求如下权限:
- ACCESS_FINE_LOCATION
- ACCESS_COARSE_LOCATION
- WRITE_EXTERNAL_STORAGE
- 正式删除"Tapjoy Platform Mediation" 功能。这个是特殊形式的聚合,我们已经有1年不再支持。如果您仍然在使用platform mediation,请不要升级当前版本,我们推荐您切换到标准的适配器聚合。普通的适配器聚合(类似Mopub, ironSource, Fyber, Appodeal 和其他聚合平台提供的视频广告和插屏广告聚合)将不会的收到影响。
- 错误修复:
- 删除当网络连接而Tapjoy视频从缓存播放时提示的不正确的错误信息。
- 修复当从Tapjoy 广告返回而引起的积分墙或者应用不正确的展示方向的问题。