Version 31
The pickle scripts have now also been moved directly into this repository so changes are directly visible and pull requests can potentially be made.
Pickle Script Changes:
- Repeated AdMob errors are now only logged to analytics the first time they happen in the sequence of failures
- IVMetrics event calls are now intergrated into the AdMob Manager script within a IVMETRICS_EVENTS_ENABLED define symbol
- AdMob has marked MobileAds.RaiseAdEventsOnUnityMainThread as obsolete so this has been removed
- All AdMob callback events are now executed via MobileAdsEventExecutor
- Removed usage of UnityMainThreadDispatcher within AdMob callback events as this is no longer nessesary
- Removed usage of UnityMainThreadDispatcher in various other AdMob Manager functions which were already being ran on the main thread
- Replaced all remaining usages of UnityMainThreadDispatcher with MobileAdsEventExecutor
- The banner position set is now ran on the main thread to fix issue with new versions of AdMob not moving the banner ad on iOS
- IVMetrics event calls are now intergrated into the FirebaseAnalyticsManager within a IVMETRICS_EVENTS_ENABLED define symbol
- Added support for quantity when making inapp purchases (configured on the store, quantity just returns 1 when not enabled)
- New IAB callback added OnIABPurchaseCompleteWithQuantity which includes a quantity int as a second parameter
- OnIABPurchaseCompleteWithTxnId and OnIABPurchaseCompleteExtended callbacks now included the quantity as the 2nd parameter
- Previously obsolete functions OnIOSRestoreComplete and OnIOSRestoreFailed have now been removed (use the cross-store OnRestoreComplete and OnRestoreFailed callbacks instead)
- Tenjin purchase callbacks now send actual purchase quantity rather than always 1 now that the IAB script supports quantites
- Tenjin will no longer attempt to connect if no SDK key has been set for the platform when admob is instantly initialized on Start()
- Fixed a bug where the IAS would sometimes attempt to load an ad out of range causing an exception to throw
- Users updating from very old versions of games with the old IAS save data format no longer get a serialization exception dumped to logcat (it was handling the format upgrade correctly but logging a serialization exception was left over debug code)
- Updated the pickle script to call the updated ShowToast and HideToast java functions rather than just Show and Hide
- DisplayToastMessage(string:message, int:seconds) is now obsolete, toasts on android only support LONG and SHORT use DisplayToastMessage(string:message, bool:longShowTime) instead which uses system defined 3.5 seconds for long and 2 seconds for short (previously the time parameter had no effect on toast duration)
- Added ShowTextOverlay(string:message, int:fontSize, float:backgroundOpacity) and HideTextoverlay() functions to PickleCore for overlaying text on the game window (useful for example if the game requires a controller and you want to universally show a reconnect controller prompt over everything else)
Pickle Plugin Changes:
- The show toast function has been renamed from Show to ShowToast
- ShowToast now takes a boolean for longDuration rather than an int for duration as giving a custom duration is not supported
- Simplified toast showing/hiding so it's not longer a Runnable or wrapped in a try catch
- Displaying a toast when a toast is already displayed now just updates the active toast and resets the show duration rather than queuing up more toasts to show afterwards
- Added support for showing/hiding text overlays via ShowTextOverlay and HideTextOverlay
- Android automotive devices now also return true for the IsAndroidTV function (as it's unrealistic to be playing a game on these devices without a controller)