Ultimate Mobile Kit for iOS & Android - Firebase

Thank you for your appreciation! :smiley: We always try to provide the best possible service :slight_smile:

Ultimate Mobile Kit uses the newest Firebase Authentication implementation so is not affected by Google+ shutdown

Recently, Google sent out e-mails to users about planned Google+ shutdown. Ultimate Mobile Kit uses the next generation Firebase Authentication solution and this is not affected by Google+ shutdown. If someone uses Google+ Authentication, Google recommends switch to Firebase Authentication so using Ultimate Mobile Kit is the newest possible solution for Authentication :slight_smile:

If you haven’t owned it yet, you can buy now on Sellfy or UE4 Marketplace.

http://gamednastudio.com/plugins/images/UltimateMobileKit/Update26.png

Ultimate Mobile Kit 1.10.5 released!
In-App Messaging and Test Lab for Android and iOS

We’ve just released big Ultimate Mobile Kit update for UE 4.21.
You can download it from GitHub repository on releases tab or your Sellfy dashboard (for Sellfy customers). Update also was submitted for UE4 Marketplace but it needs to wait for approval.

CHANGELOG:

  • Added Firebase In-App Messaging for Android and iOS which helps you engage users who are actively using your app by sending them targeted and contextual messages that nudge them to complete key in-app actions - like beating a game level, buying an item, or subscribing to content.
  • Added Firebase Test Lab for Android and iOS which provides you with physical and virtual devices that allow you to run tests that simulate actual usage environments.
  • Firebase Performance Monitoring: IncrementCounter function changed to IncrementMetric; added functions PutMetric, GetMetric, PutAttribute, RemoveAttribute, GetAttribute.
  • Firebase Analytics: added ResetAnalyticsData to clear all analytics data for an app from the device; added SetAnalyticsCollectionEnabled for GDPR consent; added *GetAnalyticsInstanceId *which allows developers to retrieve the current app’s analytics instance ID.
  • Firebase Invites: added OnInviteReceived to InvitesListener that includes the strength of the match on the received invite as an enum. Deprecated prior function that received it as a boolean value.
  • Firebase Dynamic Links: added a field to received dynamic links describing the strength of the match.
  • Firebase Cloud Messaging and Push Notifications: changed Subscribe and Unsubscribe to asynchronous task; added RequestPermission function.
  • Firebase Core SDK for Android updated to 16.0.7
  • Firebase Analytics SDK for Android updated to 16.3.0
  • Firebase Remote Config SDK for Android updated to 16.3.0
  • Firebase Invites SDK for Android updated to 16.1.0
  • Firebase Dynamic Links SDK for Android updated to 16.1.7
  • Firebase Crashlytics SDK for Android updated to 2.9.9
  • Firebase SDK for IOS updated to 5.16.0
  • Delete CoreBluetooth dependency on IOS.
  • Code cleaning, bugfixes, and stability improvements.

If you haven’t owned it yet, you can buy now on Sellfy or UE4 Marketplace.

In-App Messaging

Firebase In-App Messaging helps you engage your app’s active users by sending them targeted, contextual messages that encourage them to use key app features. For example, you could send an in-app message to get users to subscribe, watch a video, complete a level, or buy an item. You can customize messages as banners, modals, or images, and set up triggers so that they appear exactly when they’d benefit your users most.

Use Firebase In-App Messaging to encourage exploration and discovery: highlight a sale or coupon in your ecommerce app, give clues or tips in your game, or prompt a like or share in your social media app.

Key capabilities:

  • Send relevant, engaging messages - Firebase In-App Messaging sends messages when they’re most needed: while users are actually in your app. Promote your big sale when users visit your in-app store, not while they’re in line at the grocery store. Highlight that cool, new level when users play your game, not when they’re sitting down to watch the big game.
  • Target messages by audience or behavior - Firebase In-App Messaging works with Analytics and Predictions to give you tools to deliver messages to the users you’d most like to reach. Send messages based on users’ demographics, past behavior, or even predictions of their future behavior.
  • Create flexible, custom alerts - with the ability to customize your messages’ style, appearance, display triggers, and content all in a few clicks, Firebase In-App Messaging helps you do everything from sending promotional offers to getting users to update to a new version of your app.

Support for Firebase In-App Messaging is already enabled in the Ultimate Mobile Kit plugin.

Ultimate Mobile Kit 1.11.0 Preview for UE 4.22 Preview 2!

We’ve just released plugin binaries for Unreal Engine 4.22 Preview 2.
You can download it from GitHub repository on releases tab.

If you haven’t owned it yet, you can buy now on Sellfy or UE4 Marketplace.

Ultimate Mobile Kit 1.10.6 released!

We’ve just released big Ultimate Mobile Kit update for UE 4.21.
You can download it from GitHub repository on releases tab or your Sellfy dashboard (for Sellfy customers). Update also was submitted for UE4 Marketplace but it needs to wait for approval.

CHANGELOG:

  • Deleted reference to AdSupport framework
  • Code cleaning and bugfixing

If you haven’t owned it yet, you can buy now on Sellfy or UE4 Marketplace.

Hi,
I’m trying to test Firebase Analytics.
My app is currently published on internal-test track and the Firebase service is in ‘Ready to publish’ status.
I followed the instructions in this thread to setup google play service. (Google Play Setup - Mobile - Epic Developer Community Forums)
Both Google Play Console and Firebase say the Firebase service and my app are linked.

However, when I run the app on a mobile device, Analytics still fails to get initiated and GooglePlayAvailability returns ‘UnavailableMissing’.
What does this mean and how should I fix it?
If the information is insufficient, how do I debug to get more info?
I spent 3 full days trying to figure this out. Any help would be greatly appreciated.

Hello,

Don’t worry we will help you! :smiley:

  1. Have you installed SDKs using installer?
  2. Have you loaded google-services.json?
  3. If it still doesn’t help please try to move plugin folder from [ENGINE_FOLDER]/Engine/Plugins/Marketplace/UltimateMobileKit to [PROJECT_FOLDER]/Plugins/UltimateMobileKit and try again

Please let me know if it helped you.

Thank you for your patience :slight_smile:

Thanks for the quick response.
Step 1 and 2 were already done.
I tried moving the plugin to the project folder and now packaging fails.
Here’s the log.

UATHelper: Packaging (Android (ETC2)): Performing 6 actions (18 in parallel)
UATHelper: Packaging (Android (ETC2)): [1/6] clang++.exe Module.UltimateMobileKit.cpp [armv7-es2]
UATHelper: Packaging (Android (ETC2)): [2/6] clang++.exe Module.UltimateMobileKit.gen.cpp [armv7-es2]
UATHelper: Packaging (Android (ETC2)): [3/6] clang++.exe PCH.UELinkerFixups.h [armv7-es2]
UATHelper: Packaging (Android (ETC2)): [4/6] clang++.exe UELinkerFixups.cpp [armv7-es2]
UATHelper: Packaging (Android (ETC2)): [5/6] arm-linux-androideabi-ar.exe UE4-UltimateMobileKit-Android-Shipping-armv7-es2.a
UATHelper: Packaging (Android (ETC2)): D:/NVPACK/android-ndk-r15c oolchains/arm-linux-androideabi-4.9\prebuilt/windows-x86_64\bin/arm-linux-androideabi-ar.exe: creating D:/Unreal Projects/UnnamedProject(442)/Plugins/UltimateMobileKit/Binaries/Android/UE4-UltimateMobileKit-Android-Shipping-armv7-es2.a
UATHelper: Packaging (Android (ETC2)): [6/6] clang++.exe UnnamedProject-Android-Shipping-armv7-es2.so
UATHelper: Packaging (Android (ETC2)): D:\Unreal Projects\UnnamedProject(442)\Plugins\UltimateMobileKit\Source\UltimateMobileKit\Private\Invites/FirebaseInvites.cpp:42: error: undefined reference to ‘firebase::invites::Terminate()’
UATHelper: Packaging (Android (ETC2)): D:\Unreal Projects\UnnamedProject(442)\Plugins\UltimateMobileKit\Source\UltimateMobileKit\Private\Invites/FirebaseInvites.cpp:42: error: undefined reference to ‘firebase::invites::Terminate()’
UATHelper: Packaging (Android (ETC2)): D:\Unreal Projects\UnnamedProject(442)\Plugins\UltimateMobileKit\Source\UltimateMobileKit\Private\Invites/InvitesInitialize.cpp:27: error: undefined reference to ‘firebase::invites::Initialize(firebase::App const&)’
UATHelper: Packaging (Android (ETC2)): clang++.exe: error: linker command failed with exit code 1 (use -v to see invocation)
UATHelper: Packaging (Android (ETC2)): ERROR: UBT ERROR: Failed to produce item: D:\Unreal Projects\UnnamedProject(442)\Binaries\Android\UnnamedProject-Android-Shipping-armv7-es2.so
UATHelper: Packaging (Android (ETC2)): Total build time: 130.92 seconds (Local executor: 0.00 seconds)
UATHelper: Packaging (Android (ETC2)): Took 131.266053s to run UnrealBuildTool.exe, ExitCode=5
UATHelper: Packaging (Android (ETC2)): ERROR: Command failed (Result:5): D:\Program Files\Epic Games\UE_4.18\Engine\Binaries\DotNET\UnrealBuildTool.exe UnnamedProject Android Shipping -Project=“D:\Unreal Projects\UnnamedProject(442)\UnnamedProject.uproject” “D:\Unreal Projects\UnnamedProject(442)\UnnamedProject.uproject” -NoUBTMakefiles -remoteini=“D:\Unre
al Projects\UnnamedProject(442)” -skipdeploy -noxge -NoHotReload -ignorejunk. See logfile for details: ‘UnrealBuildTool-2019.03.02-07.01.00.txt’
UATHelper: Packaging (Android (ETC2)): (see C:\Users\Jakdu\AppData\Roaming\Unreal Engine\AutomationTool\Logs\D+Program+Files+Epic+Games+UE_4.18\UAT_Log.txt for full exception trace)
UATHelper: Packaging (Android (ETC2)): AutomationTool exiting with ExitCode=5 (5)
UATHelper: Packaging (Android (ETC2)): BUILD FAILED
PackagingResults: Error: Unknown Error

Hello,

I see you use very outdated 4.18 version of UE4. This is almost 1.5 years old. In this version Firebase Invities doesn’t work. You can turn this off or migrate to the newer engine version what is highly recommended because of new features and many bugfixes.

My team’s using 4.18 for a reason, so although new features and less bugs sound great, migrating is not an option for us.

Anyway, it works!
After disabling Invites, the packaging was successful, and now both google play service and firebase analytics are successfully initiated.
I never thought it could be solved this easily.

Thanks a lot for your help!

EDIT : Actually, one more thing.
In the application, it says the analytics is initiated but there’s nothing on the Firebase console.
It’s only showing default events like screen_view or session_start. There’s no custom event.
Is there anything else I should do other than using “Log Event” node?

Events in Firebase Analytics Console shows up within 24 hours so you need to wait. You can also see live events in StreamView on Firebase Dashboard or DebugView following instructions on Firebase Documentation: ניפוי באגים באירועים  |  Google Analytics for Firebase

Thanks to your help, Analytics works well now.
As for the Authentication though, signing in anonymously works but ‘Firebase Link with Credential’(google) doesn’t.
Attached are my blueprint setup and Firebase sign-in method settings.

Is this another one of those things not supported in the old engine?
Or are there any other steps I should take?

Hi,

are Universal Mobile Ads and Ultimate Mobile Kit plugins compatible on their respective last version? I am getting this error when trying to package for Android:


ATHelper: Packaging (Android (ASTC)): Dependency resolved to an incompatible version: Dependency(fromArtifactVersion=ArtifactVersion(groupId=com.google.android.gms, artifactId=play-services-measurement-sdk-api, version=16.0.4), toArtifact=Artifact(groupId=com.google.android.gms, artifactId=play-services-measurement-base), toArtifactVersionString=[16.0.5])
UATHelper: Packaging (Android (ASTC)): :app:preReleaseBuild FAILED
UATHelper: Packaging (Android (ASTC)): FAILURE: Build failed with an exception.
UATHelper: Packaging (Android (ASTC)): * What went wrong:
UATHelper: Packaging (Android (ASTC)): In project 'app' a resolved Google Play services library dependency depends on another at an exact version (e.g. "[16.0.
UATHelper: Packaging (Android (ASTC)): 5]", but isn't being resolved to that version. Behavior exhibited by the library will be unknown.
UATHelper: Packaging (Android (ASTC)): Dependency failing: com.google.android.gms:play-services-measurement-sdk-api:16.0.4 -> com.google.android.gms:play-servi
UATHelper: Packaging (Android (ASTC)): ces-measurement-base@[16.0.5], but play-services-measurement-base version was 16.3.0.
UATHelper: Packaging (Android (ASTC)): The following dependencies are project dependencies that are direct or have transitive dependencies that lead to the art
UATHelper: Packaging (Android (ASTC)): ifact with the issue.
UATHelper: Packaging (Android (ASTC)): -- Project 'app' depends onto com.google.android.gms:play-services-ads@17.1.2
UATHelper: Packaging (Android (ASTC)): -- Project 'app' depends onto com.google.firebase:firebase-analytics@16.3.0
UATHelper: Packaging (Android (ASTC)): -- Project 'app' depends onto com.google.android.gms:play-services-ads@16.0.0
UATHelper: Packaging (Android (ASTC)): -- Project 'app' depends onto com.google.firebase:firebase-core@16.0.7
UATHelper: Packaging (Android (ASTC)): For extended debugging info execute Gradle from the command line with ./gradlew --info :app:assembleDebug to see the dep
UATHelper: Packaging (Android (ASTC)): endency paths to the artifact. This error message came from the google-services Gradle plugin, report issues at https://
UATHelper: Packaging (Android (ASTC)): [github.com/google/play-services-plugins](http://github.com/google/play-services-plugins) and disable by adding "googleServices { disableVersionCheck = false }" to your b
UATHelper: Packaging (Android (ASTC)): uild.gradle file.
UATHelper: Packaging (Android (ASTC)): * Try:
UATHelper: Packaging (Android (ASTC)): Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
UATHelper: Packaging (Android (ASTC)): * Get more help at [https://help.gradle.org](https://help.gradle.org/)
UATHelper: Packaging (Android (ASTC)): BUILD FAILED in 9s

Unfortunately, this is not correct way to Link Credential with Google.
It should be like this:

https://gamednastudio.com/plugins/images/UltimateMobileKit/Wiki98.png

However, Google recently changed Google Login (because of Google+ closure) and it has been implemented in Ultimate Mobile Kit 1.10.3 for UE 4.21. 4.18 is deprecated (not supported even by Epic Games) so it may not be working… What’s more we are technically not able to upload update for 4.18 because Epic has marked this release as very old and updating has been blocked… Again, we highly recommend to switch to newer engine version. If you can’t, we could discuss custom development request about rewriting the newest plugin for 4.18. If you are interested please contact us: support [at] gamednastudio.com

Hello,

Please update Universal Mobile Ads to 2.8.3 version: https://forums.unrealengine.com/unreal-engine/marketplace/65633-universal-mobile-ads-for-ios-android?p=1590858#post1590858

It should help :smiley:

Thank you for your patience.

Hi,
I ended up switching my project to 4.21.

After I set up the nodes exactly like you showed me, I could successfully sign in with Google but when I try to sign in with Google Play or link to Google Play, it always returns invalid credential.

I specified web application client ID and client secret to the Play Games authentication setting in my Firebase Console, following the official Firebase instruction.
Is there anything else needed to be done?

Please contact us on Discord: gameDNA is coming back very soon – gameDNA and we will schedule TeamViewer session to help you directly on your computer :slight_smile:

Could a link to the download location for these files be added to the docs? Even in context I have no idea where they’re meant to be downloaded from. I eventually worked it out but it took a liberal application of googline.

Please login to your Firebase Console (https://console.firebase.google.com/), choose your app, and then click “Project Settings” icon. This is near “Project Overview” link. Then move down to “Your apps” section and there you will see “Download the latest config file”.