Changelog

4.3.2

Enhancements

  • No changes. Version bump to match wrapper SDKs.

4.3.1

Bug Fixes

  • Fix tracking clicks and claiming rewards when tapping on a foreground notification.

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.

  • 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 [TeakNotification scheduleNotificationForCreative:withMessage:secondsFromNow:]. Use [TeakNotification scheduleNotificationForCreative:secondsFromNow:personalizationData:] instead.

Enhancements

  • The Teak SDK now supports using custom UNUserNotificationCenter delegates with no additional configuration or code required.

  • Standardized prefix on all log messages to Teak:

Bug Fixes

  • 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 sharedInstance] deleteEmail]

4.2.1

Bug Fixes

  • Prevent unneeded server requests when re-identifying user (depending on provided information)

4.2.0

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 and openNotificationSettings to allow users to open the settings app directly to the notification settings for their app

  • canOpenSettingsAppToThisAppsSettings added

  • deleteEmail added

4.1.11

Bug Fixes

  • If client deep link resolution fails, server resolution can now properly resolve and attribute a launch properly.

4.1.10

Bug Fixes

  • Check for NSNull before isEqualToString

4.1.8

Bug Fixes

  • Fix idenifyUser server call for manually specifying Facebook Id and/or Email

4.1.7

New Features

  • Added TeakRequestPushAuthorization

  • Added TeakNoAutoTrackPurchase plist configuration, which will disable automatic purchase tracking

Bug Fixes

  • Fix issue of opening browser when launched with the host for a teak shortlink, but no path

4.1.3

Bug Fixes

  • Re-enable armv7

4.1.0

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.

Bug Fixes

  • When app is launched via an email link TeakNotificationAppLaunch event is now correctly posted.

4.0.0

Breaking Changes

  • Required MobileCoreServices.framework is now CoreServices.framework

New Features

  • Now using v2 Signatures for request signing (this is not a user-facing change).

  • Added teakScheduleId and teakCreativeId to TeakNotification

  • Added teakScheduleId and teakCreativeId to TeakReward

Bug Fixes

  • Fixed race condition in processDeepLinks

  • Fixed a bug where links created on the Teak Dashboard could only link to the teakXXXXX:// scheme.

3.5.3

Bug Fixes

  • Fixed race condition in processDeepLinks

  • Fixed a bug where links created on the Teak Dashboard could only link to the teakXXXXX:// scheme.

3.5.0

Bug Fixes

  • When logging out, the new Session is no longer intialized using the previous user id or Facebook token.

  • Fixes invalid signatures on some events

  • Reset firstSentTime when UserProfile is sent.

3.4.2

New Features

  • Users can now be their own UNNotificationCenter delegates and pass the calls to Teak

  • Added isTeakNotification:

  • Added didReceiveNotificationResponse:withCompletionHandler:

  • Added willPresentNotification:withCompletionHandler:

3.4.0

Breaking Changes

  • SDK is now built using Xcode 11.3.1

New Features

  • Added TeakLaunchedFromLink event

Bug Fixes

  • Fixed crash if CFBundleShortVersionString or CFBundleVersion were nil

3.3.1

New Features

  • Detects iOS 14 IDFA permission grant.

3.3.0

New Features

  • iOS now supports enhanced integration checks

  • iOS now supports report_client_error and will popup warnings when enhanced integration checks are enabled

Bug Fixes

  • Push State Chain has a max length of 50

  • OnReward event will now always contain a status key

3.2.0

New Features

  • Supports Facebook SDK 6.x

  • Added TeakLogTrace Plist setting

  • Added logout

  • Added teakChannelName to the dictionary reported by notification and reward claim events

3.1.1

Bug Fixes

  • Fixes encoding bugs introduced by [NSCharacterSet URLQueryAllowedCharacterSet].

  • Fixes custom app delegates in Unity would not receive an event for non-Teak deep-links coming from notifications.

3.1.0

New Features

  • teakDeepLink is now included in the TeakNotificationAppLaunch and TeakForegroundNotification 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.

Bug Fixes

  • Fixes encoding of % during form encodes.

3.0.2

Bug Fixes

  • Fixes handling of non-Teak deep links and propigation to app delegates

3.0.0

Bug Fixes

  • Fixed a bug where playable notifications with custom thumbnails had off-by-one actions.

  • Use a more robust way of converting NSData to a hex string for push keys.

2.3.0

New Features

  • Deep links now recieve incoming_path and incoming_url

  • Adds email to identify user

2.2.0

New Features

  • TeakForegroundNotification named notification dispatched when a Push Notification is received while the app is in the foreground.

  • ms_since_first_event is now included in batched requests.

  • logListener is an assignable delegate which will get called each time the Teak SDK logs an event.

Bug Fixes

  • Fixes background crash if a notification attachment failed to get loaded properly, [_UNNotificationServiceExtensionRemoteContext _stageAttachmentsForNotificationContent].

2.1.3

Bug Fixes

  • Fixes crash when waitForDeepLinkOperation was re-submitted after finishing.

2.1.2

Bug Fixes

  • No longer hooks application:openURL:options: unless the host app implements it (Fixes Facebook login issues for certain Unity Facebook SDK versions)

2.1.1

Bug Fixes

  • Fixes form encode of [NSNull null] and nil

2.1.0

New Features

  • Support trackEvent for Adobe AIR

  • Added [Teak incrementEventWithActionId:forObjectTypeId:andObjectInstanceId:count:]

Bug Fixes

  • Properly handle deep links with '?' or '#' in a URL path element

  • Fixed corner case bug where deep links would get evaluated before the host app was ready for them

2.0.0

Breaking Changes

  • hasUserDisabledPushNotificationsnotificationState

Bug Fixes

  • Fixed an error in determineCurrentPushStateWithCompletionHandler: which prevented proper state detection of push notifications

  • Cache logRemote

1.0.1

Bug Fixes

  • Fixes to TeakPushChainState tracking.

1.0.0

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

New Features

  • Updated Sentry exception reporting properties

  • Tracks historical changes in the state of push permissions

  • Per-user opt-out of tracking, configured via identifyUser

  • iOS 12 Support

  • Support for Provisional push authorization

Bug Fixes

  • Updated Sentry exception reporting properties

  • Tracks historical changes in the state of push permissions

  • Per-user opt-out of tracking, configured via identifyUser

  • iOS 12 Support

  • Support for Provisional push authorization

0.18.0

New Features

  • Ability to disable collection of IDFA, Push Key, and/or Facebook Access Token

    • <key>TeakEnableIDFA</key><false/>

    • <key>TeakEnableFacebook</key><false/>

    • <key>TeakEnablePushKey</key><false/>

Bug Fixes

  • Fixed logging of events during alloc/init of the Teak object

0.17.0

New Features

  • Reward Link Name is now the 'creative name' if the on reward callback was triggered from a deep link

0.15.0

New Features

  • User profile

  • Batching for trackEvent and user profile

Bug Fixes

  • Circular reference in expanded push notification view fixed

0.14.0

New Features

  • Playable notifications!

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

Breaking Changes

  • Now requires additional frameworks

    • ImageIO.framework

New Features

  • Added setApplicationBadgeNumber:

  • Added hasUserDisabledPushNotifications:

  • Added openSettingsAppToThisAppsSettings

  • teakRewardId is now included in the TeakOnReward event

  • Now will warn via logs if unregisterForRemoteNotifications is called

Bug Fixes

  • teakRewardId in the TeakNotificationAppLaunch event is now a string (matches Android behavior, and fixes issues in Adobe Air)

0.13.7

Breaking Changes

  • Now requires additional frameworks

    • ImageIO.framework

New Features

  • Deploy Info.plist for TeakNotificationContent

Bug Fixes

  • Animated GIFs now work properly in custom notification UI

0.13.6

Breaking Changes

  • Now requires additional frameworks

    • AVFoundation.framework

    • MobileCoreServices.framework

New Features

  • Interactive notifications

0.13.1

New Features

  • Media-push supported, basic image/gif only

Bug Fixes

  • Hotfix from 0.12.9 integrated

  • Internal system re-write

0.12.8

New Features

  • TeakNotification now has a status field

  • Added [TeakNotification cancelAll]

Bug Fixes

  • Fix for iOS 8 regex parsing

0.12.7

New Features

  • Added additional lifecycle callback logging

  • Additional info in the notification/reward payload

Bug Fixes

  • Fix for crash on Facebook logout (or otherwise sending a null token)

0.12.6

Bug Fixes

  • Fix parameter checking logic bug in trackEvent

  • Reduce memory usage via shared NSURLSessions

  • Fix duplicate identifyUser call

0.12.5

New Features

  • TeakVersionDict exposed

Bug Fixes

  • Bogus JSON from server could cause a nil dictionary to get sent to nonnull.

0.12.3

Bug Fixes

  • Fix incorrect conditional check during application:didReceiveRemoteNotification:fetchCompletionHandler:

0.12.2

Bug Fixes

  • No longer DDoS ourselves with remote logging

0.12.1

New Features

  • Supports iOS 10 push delegate application:didReceiveRemoteNotification:fetchCompletionHandler:

Bug Fixes

  • Enable Bitcode support

0.12.0

New Features

  • Remote logging

  • Remote exception tracking