Changelog
4.3.5
4.3.2
Bug Fixes
-
Resolved issue on iOS which resulted in failing to track clicks and claim rewards when tapping on a foreground notification.
-
Resolved issue which prevented game from launching when player tapped on notification buttons on Android >= 11
-
Resolved issue on Android which could result in failing to track clicks in sessions starting from a notification or link with a non-hierarchical out of game link, such as mailto:example@example.com
-
Resolved issue on Android that could result in an extra unattributed 'play' event when returning to the game from a push notification or link after two minutes of backgrounding
-
Resolved iOS build warnings on Xcode 14+ when using Build Post-Processing Scripts
4.3.0
New Features
-
Local notification personalization: Using
Teak.Notification.Schedule
you can now pass a dictionary of additional data which can be templated into the local notification. -
Session time tracking: The Teak SDK now automatically tracks the duration of game sessions and reports this data to the Teak Dashboard and any configured data syncs.
-
Opt-Out Categories: You can now categorize push notifications and emails into different Opt-Out Categories, and provide players with an in-game communication preferences UI so that your players can manage what kinds of messaging they receive.
-
Android Notification Channels: On Android Opt-Out Categories automatically map to Notification Channels, which provides players with a familiar UI in Settings to manage the kinds of messaging they receive.
-
Android Badging: From the Teak Dashboard you can enable an app icon badge when push notifications are delivered. Note that this will only apply to non-default Opt-Out Categories, or the default Opt-Out category on new installs made after integrating Teak SDK 4.3.0.
-
Android Image+Text Notification Layout: Teak now supports a new Android notification layout which places a square image to the right of the text content of the notification.
-
Push Opt-Out Tracking: The Teak SDK can now detects and reports when a player has opted out of push notifications through their device settings to the Teak Dashboard for upcoming reports.
-
Uninstall Tracking: The Teak SDK and Teak Dashboard can now detect and report when a player has uninstalled the game from their device for upcoming reports.
Upgrade Notes
-
Deprecated
Teak.RegisterForNotifications()
. Instead useTeak.RegisterForNotifications(System.Action)
, which will call the provided action once the user has allowed or denied push notifications. -
Deprecated
TeakNotification.ScheduleNotification
. Instead useTeak.Notification.Schedule
.Teak.Notifiction.Schedule
requires that the local notification be configured on the dashboard ahead of time, and supports per-call personalization. -
The menu item to configure Teak settings has been renamed to Edit/Teak Settings…
-
"Build Post-Processing" is now enabled by default.
Enhancements
-
The Teak SDK version is now shown in the Teak Settings editor.
-
iOS: The Teak SDK now supports using custom
UNUserNotificationCenter
delegates with no additional configuration or code required. -
iOS: Standardized prefix on all log messages to
Teak:
-
Improved HTTP connection reuse to reduce power and bandwidth consumption on player devices
-
Android: Improved notification display on Samsung devices running Android 12+.
-
Teak.Instance.SetChannelState() callback now provides additional error information if the call fails.
Bug Fixes
-
Resolved potential build issues in projects using assembly definitions.
-
Teak.OnUserData
will now get sent properly on iOS -
Fixed trace logging when changing channel opt out state
-
Resolved several potential race conditions that could prevent updated player contact information from being submitted to the Teak Dashboard
-
Resolved issue when setting a player’s email address back to original value after calling
Teak.Instance.DeleteEmail()
-
Resolved several issues with reporting error conditions when changing channel opt out state
-
Android: Resolved potential failure to initialize the Teak SDK when launching from a link or push notification that deep links to an unknown custom URL scheme
-
Android: Resolved race condition that could result in an extra 'play' event when updating player contact information while the game is being backgrounded
-
Android: Fixed bug that could result in an extra 'play' event when changing game assigned player id through a new call to Teak.Instance.IdentifyUser().
-
WebGL: Ids of local notifications cancelled through
Teak.Instance.CancelAllNotifications()
are now correctly reported.
Known Issues
-
The Teak SDK uses methods that are deprecated as of Unity 2023. This will cause warnings when building with Unity 2023. This will be resolved in an upcoming point release.
-
We have observed that builds made with Unity 2023 and Xcode 14 may crash on iOS 15+ when a foreground notification is received in a session which has had a system alert dialog. This can be resolved by building with the Xcode 15 beta. See this Unity forum thread for more information.
4.2.0
New Features
-
Trace logging (Teak.Trace) is now supported as a setting in the Unity Editor.
-
Callbacks are now optional for TeakNotification methods.
-
Added Teak.CanOpenNotificationSettings and Teak.OpenNotificationSettings to allow users to open the settings app directly to the notification settings for their app
-
Added Teak.CanOpenSettingsAppToThisAppsSettings for existing Teak.OpenNotificationSettings.
-
Added Teak.SetChannelState to allow users to opt in/out of Teak marketing channels.
-
Added Teak.DeleteEmail to allow users to delete the email address associated with a user.
iOS
Breaking Changes
-
Xcode 13.4.1 is now being used to build the Teak SDK.
-
SDK 5 Behaviors now enabled by default (
TeakSDK5Behaviors
)
New Features
-
handleDeepLinkPath:
lets you manually resolve a deep link path, e.g. /foo/bar?fizz=buzz -
Adds
pushRegistration
to UserDataEvent -
setState:forChannel:
has been added to let users opt in/out of Teak marketing channels -
canOpenNotificationSettings
andopenNotificationSettings
to allow users to open the settings app directly to the notification settings for their app -
canOpenSettingsAppToThisAppsSettings
added -
deleteEmail
added
Android
Breaking Changes
-
Teak$AdditionalDataEvent has been deprecated, and will be removed in the SDK 5 family. Please use Teak$UserDataEvent.
-
Google Play Billing v3 support has been removed
-
Now requires EventBus 3.3.1
-
SDK 5 Behaviors now enabled by default (
io_teak_sdk5_behaviors
)
New Features
-
Teak#handleDeepLinkPath has been added to allow you manually resolve a deep link path, e.g. /foo/bar?fizz=buzz
-
Teak#setChannelState has been added to let users opt in/out of Teak marketing channels
-
Teak$UserDataEvent has been added to provide user specific state, including opt-out status for Teak email and push campaigns and the 'additional data' for the user. This supercedes [Teak$AdditionalDataEvent], which has been deprecated.
-
Teak#canOpenNotificationSettings and Teak#openNotificationSettings to allow users to open the settings app directly to the notification settings for their app
-
Teak#canOpenSettingsAppToThisAppsSettings has been added
-
Teak#deleteEmail has been added
-
Google Play Billing v5 support has been added
-
Added
pushRegistration
to Teak$UserDataEvent
4.1.11
4.1.7
4.1.0
New Features
-
Added new overload to
Teak#IdentifyUser
which takes aTeak.UserConfiguration
, old methods are now[Obsolete]
and will be removed in Teak SDK verison 5.0 -
Added
Teak.Instance.RefreshPushTokenIfAuthorized()
for manual push token refresh. This is used when you need to disable automatic push token refreshes -
Added
OnPostLaunchSummary
event which is posted with every game launch and contains details about the launc
iOS
New Features
-
Added a flag to preview SDK 5 changes,
TeakSDK5Behaviors
-
Will no longer automatically collect Facebook Access Token, instead you must pass the Facebook User Id to
[Teak identifyUser:withConfiguration:]
-
-
Added flag to disable automatic push token refresh at app launch,
TeakDoNotRefreshPushToken
-
Added
TeakPostLaunchSummary
event which is posted with each app launch, with information about the launch.
Android
Breaking Changes
-
If you target Android 12, you must add
android:exported
specifications to the receiver definition forio.teak.sdk.push.ADMPushProvider$MessageAlertReceiver
<receiver
android:name="io.teak.sdk.push.ADMPushProvider$MessageAlertReceiver"
android:permission="com.amazon.device.messaging.permission.SEND"
android:exported="true">
New Features
-
Added support for targeting Android 12 (API level 31)
-
Added a flag to preview SDK 5 changes,
io_teak_sdk5_behaviors
-
If
io_teak_sdk5_behaviors
is enabled, Teak will no longer automatically collect Facebook Access Token, instead you must pass the Facebook User Id toTeak#identifyUser
-
-
Added
Teak$PostLaunchSummaryEvent
which will contain launch information for both Teak attributed, and non-Teak attributed launches
4.0.2
Android
Breaking Changes
-
If you target Android 12, you must add
android:exported
specifications to the receiver definition forio.teak.sdk.push.ADMPushProvider$MessageAlertReceiver
-
<receiver android:name="io.teak.sdk.push.ADMPushProvider$MessageAlertReceiver" android:permission="com.amazon.device.messaging.permission.SEND" android:exported="true">
-
4.0.0
Breaking Changes
-
Minimum Unity version supported is now 2018.4.9f1
-
OpenIAB support removed. The project was abandoned 4 years ago.
-
Unity Purchasing
-
Minimum Unity Purchasing version is now 3.1.0"
-
TeakStoreListener is no longer supported or required
-
-
Android
-
Moved the Android configuration values written by Teak from
Assets/Plugins/Android/res/values
toAssets/Plugins/Android/teak-values.androidlib/res/values
-
support-v4
support has been removed, AndroidX is now required -
Firebase Job Dispatcher has been deprecated and removed,
androidx.work:work-runtime:2.5.0
is now required. -
Firebase’s Unity Plugin is now required for configuration of Push on Android.
-
EventBus,
org.greenrobot:eventbus:3.2.0
is now required. -
InstallReferrer version 2 is now required
com.android.installreferrer:installreferrer:2.2+
-
-
TeakNotification
-
Previously there was a
string
value inScheduleId
that was actually the name of the schedule. This is now contained inScheduleName
and the contents ofScheduleId
are now theulong
id of the schedule. -
Previously there was a
string
value inCreativeId
that was actually the name of the creative. This is now contained inCreativeName
and the contents ofCreativeId
are now theulong
id of the creative.
-
-
TeakReward
-
Previously there was a
string
value inScheduleId
that was actually the name of the schedule. This is now contained inScheduleName
and the contents ofScheduleId
are now theulong
id of the schedule. -
Previously there was a
string
value inCreativeId
that was actually the name of the creative. This is now contained inCreativeName
and the contents ofCreativeId
are now theulong
id of the creative.
-
iOS
Android
Breaking Changes
-
Deprecated method
Teak.onNewIntent
removed -
Support for Adobe AIR removed
-
support-v4
is no longer supported, AndroidX is now required -
If you use the Facebook SDK, version 4 is now the minimum supported version
-
Teak will no longer create a Firebase instance if one does not exist
-
io_teak_ignore_default_firebase_configuration
removed -
io_teak_gcm_sender_id
removed -
io_teak_firebase_app_id
removed -
io_teak_firebase_api_key
removed -
io_teak_firebase_project_id
removed
-
-
Minimum target SDK is now API 30
-
com.android.installreferrer
version used is now 2.2
New Features
-
Now using v2 Signatures for request signing (this is not a user-facing change).
-
Now supports out-of-memory fallbacks for all notifiation images.
-
Added
teakScheduleId
andteakCreativeId
toNotificationEvent
-
Added
teakScheduleId
andteakCreativeId
toRewardClaimEvent
-
Now automatically tracks purchases from Google Play Billing v3
3.4.0
3.3.0
New Features
-
Now automagically adds deep links to
AndroidManifest.xml
when the Teak Post-Process script is run -
Now available in Unity Package Manager format on GitHub as GoCarrot/upm-package-teak
iOS
3.2.0
3.1.1
3.1.0
iOS
New Features
-
teakDeepLink
is now included in theTeakNotificationAppLaunch
andTeakForegroundNotification
events. -
teakShowInForeground
can be specified on a per-notification basis, to allow notifications to be displayed while the app is running. -
/teak_internal/app_settings
deep link added. Opens iOS settings to the settings for this app. -
Adds
xcode_version
to log output.
3.0.2
3.0.0
2.2.0
New Features
-
OnForegroundNotification
is an event which is fired when a Push Notification is recieved while the game is in the foreground (in which case, the notification is not displayed to the user) -
OnLogEvent
is an event which is fired when the Teak SDK makes a log call
Bug Fixes
-
Added some iOS Frameworks that seemed to be required for some build configurations but not others
-
Changes to automatic adding of iOS Entitlements. This could change the name of the entitlements file that is used by the built project
iOS
Android
New Features
-
FOREGROUND_NOTIFICATION_INTENT
is broadcast when a Push Notification is recieved while the app is in the foreground. -
ms_since_first_event
is now sent with batched requests. -
Added
deviceBoard
anddeviceProduct
to device information. -
Teak.setLogListener
for getting callbacks when the Teak SDK would log an event.
Bug Fixes
-
Suppress some log spam when looking to see if
NotificationManagerCompat.areNotificationsEnabled
is supported. -
Stopped some of the fine-grain checking for what
IInAppBillingService
supports, to prevent possible ANRs. -
All threads and executors are now named, so that any ANR/crash report which includes thread names will clearly show what Teak is doing in that ANR/crash.
2.1.0
New Features
-
Added
IncrementEvent
-
Optional requirement for
com.android.installreferrer:installreferrer:1+
to supportcom.android.installreferrer.api.InstallReferrerClient
iOS
Android
New Features
-
Support
trackEvent
for Adobe AIR -
Added
incrementEvent
-
Now tracking
PackageInfo.versionName
(instead of justPackageInfo.versionCode
) -
Added support for Google Play’s
com.android.installreferrer.api.InstallReferrerClient
-
Added support for specifying the Android store, using
io_teak_store_id
. Will detect Amazon automatically; defaults to Google Play.
2.0.0
Breaking Changes
-
Unity 4 is no longer supported
-
New Android dependencies
-
Firebase is now required
-
AreNotificationsEnabled
→PushNotificationState
New Features
-
Support for the UnityPurchasing plugin
-
iOS Extensions can now be auto-magically added by the post-processing scripts
-
iOS Entitlements can now be added by the post-processing scripts
Bug Fixes
-
Prime31 and OpenIAB purchase plugins will now work when using IL2CPP on Android
-
Fixed bug which could happen with jQuery initialization with WebGL
Android
Breaking Changes
-
Direct GCM support removed, now using Firebase
-
Firebase Job Dispatcher is now used for a unified Teak worker
-
Removes
io.teak.sdk.service.RavenService
-
Removes
io.teak.sdk.service.DeviceStateService
-
Changes
io.teak.sdk.service.JobService
into a Firebase JobDispatcher
-
-
userHasDisabledNotifications
→getNotificationStatus
1.0.0
New Features
-
Notification launch callbacks now work on WebGL for Facebook Canvas
-
Deep link launch callbacks now work on WebGL
Bug Fixes
-
A WebGL scheduled/canceled notification could sometimes not trigger a callback, this has been fixed
iOS
New Features
-
iOS 12 expanded view notifications now perform the first custom action when the view area is tapped (via invisible button)
-
Notification assets (video/image/etc) are now cached downloads
-
Notification extensions are now uploaded as artifacts for Adobe AIR repacker
-
Long distance notifications
0.19.0
iOS
Android
New Features
-
Notifications will now retry asset loading if an asset fails to load. Delay is 2, 4, and 8 seconds.
-
Android P support
-
android.os.Build.SERIAL
will not be used under Android P -
Updated Sentry exception reporting properties
-
Tracks historical changes in the state of push permissions
-
Per-user opt-out of tracking, configured via identifyUser
0.18.0
iOS
Android
New Features
-
Ability to disable collection of IDFA, Push Key, and/or Facebook Access Token
-
<meta-data android:name="io_teak_enable_idfa" android:value="false" />
-
<meta-data android:name="io_teak_enable_facebook" android:value="false" />
-
<meta-data android:name="io_teak_enable_push_key" android:value="false" />
-
0.17.0
Android
Breaking Changes
-
Requires
io.teak.sdk.service.JobService
for Android 8 job compatibility. -
Unity requires no changes.
-
Adobe AIR requires adding
<service android:name="io.teak.sdk.service.JobService" android:permission="android.permission.BIND_JOB_SERVICE" android:exported="true"/>
to XML -
Renamed some public static final fields (This should have no impact unless you were using these for some very strange reason)
-
TEAK_API_KEY
→TEAK_API_KEY_RESOURCE
-
TEAK_APP_ID
→TEAK_APP_ID_RESOURCE
-
TEAK_GCM_SENDER_ID
→TEAK_GCM_SENDER_ID_RESOURCE
-
0.14.0
Bug Fixes
-
OnReward
andOnLaunchedFromNotification
null checks (this didn’t seem to affect anyone, but still was a good fix) -
WebGL error with
TeakDeepLinkTableInternal
fixed
iOS
Bug Fixes
-
Deep links will no longer get processed twice when the deep link starts the app (if it was not already running)
-
Will no longer crash when passing NULL to TeakTrackEvent (C function)
-
Now using Thread Local Storage for RavenLocationHelper stack
-
Now copying input values from public API functions
-
Ravens (internal bug reporters) are now getting DSNs assigned properly, and as such are now working again
-
The SDK reported purchase time now includes seconds as well as hours/minutes
0.13.8
New Features
-
Now supports Play Services Resolver plugin
-
RewardId
added to TeakReward`` -
SetBadgeCount
0.13.6
0.13.3
Android
New Features
-
You can now load images in push notifications from your Android assets, example
assets:///pixelgrid_2000x2000.png
(note triple slash) -
Using
NONE
for an image resource will now remove it from the layout -
Notifications will no longer combine into a single notification (in as much as is possible to control) on Android 8+ only
0.13.2
Breaking Changes
-
Now using AAR for Android, remove these files
-
Assets/Editor/TeakPackageBuilder.cs
-
Assets/Plugins/Android/res/layout/teak_big_notif_image_text.xml
-
Assets/Plugins/Android/res/layout/teak_notif_no_title.xml
-
Assets/Plugins/Android/res/values/teak_styles.xml
-
Assets/Plugins/Android/res/values-v21/teak_styles.xml
-
0.13.1
0.13.0
0.12.8
0.12.7
iOS
Android
Bug Fixes
-
Add specific catches for exceptions we should ignore, and not report
-
TEAK-SDK-F
-
TEAK-SDK-M
-
TEAK-SDK-X
-
TEAK-SDK-11
-
TEAK-SDK-Q
-
TEAK-SDK-Z
-
TEAK-SDK-N
-
TEAK-SDK-K
-
TEAK-SDK-W
-
TEAK-SDK-V
-
TEAK-SDK-T
-
TEAK-SDK-S
-
TEAK-SDK-J
-
TEAK-SDK-P
-
-
Fixed TEAK-SDK-9
-
Fixed issue with Android < 5 and custom notification icons