Announcement

Collapse
No announcement yet.

Ultimate Mobile Kit for iOS & Android - Firebase

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Ultimate Mobile Kit for iOS & Android - Firebase



    Ultimate Mobile Kit
    Firebase mobile implementation for UE4

    Ultimate Mobile Kit is a plugin for UE4 that lets you integrate the Firebase platform for iOS & Android.

    Firebase is a platform that helps you quickly develop high-quality experiences, grow your user base, and earn more money. Firebase is made up of complementary features that you can mix-and-match to fit your needs. You can focus on making your game and not waste time building complex infrastructure.

    Required Unreal Engine 4.15 or above.

    Current plugin version: 1.10.5
    User Guide: https://gamednastudio.com/plugins/do..._UserGuide.pdf


    Buy now on Sellfy (20% OFF): https://sellfy.com/p/fc9C/
    Buy now on Marketplace: https://www.unrealengine.com/marketp...e-kit-firebase



    FEATURES:
    Mobile Analytics – heart of Firebase, see user behavior and measure attribution from a single dashboard.
    Cloud Messaging – lets you reliably deliver and receive messages at no cost.
    Push Notifications – schedule and send from dashboard unlimited notifications to engage the right players at the most relevant time.
    Authentication – authentication system that supports email & password login and adapters for Facebook, Twitter, GitHub, Google Sign-In, and Phone Number Authentication.
    Instance Id – generate unique user IDs for authentication and security tokens for use with other services.
    Cloud Storage – store and serve user-generated content like save games, images, audio, video or binary data.
    Remote Config – update your game without deploying a new version and customize content for different Firebase Analytics audiences and measure results.
    Performance Monitoring – get insights into how your game performs from your users’ point of view, with automatic and customized performance tracing.
    Crashlytics – track, prioritize, and fix stability issues with lightweight but powerful, realtime crash reporter that improves your game quality.
    Dynamic Links – improve acquisition and engagement by bringing users directly to content that they were originally searching for, whether they have your game installed or not.
    Invites – complete solution for game referrals and sharing, free email and SMS delivery, let your existing players easy share your game.
    In-App Messaging – engage users by sending them targeted and contextual messages that nudge them to complete key in-app actions.
    Test Lab - test your games on physical and virtual devices hosted by Google that allow you to run tests that simulate actual usage environments.
    Cloud Functions (server side) - run backend code without managing servers and keep your logic private and secure.
    Predictions - use the power of Google's machine learning to create dynamic user groups based on players' predicted behavior.
    A/B Testing - create experiments to optimize the users experience for a business goal.
    Hosting - deploy web page with speed and security without all the hassle.
    ★ All features are exposed to Blueprints.
    ★ Supports gameDNA installer. No more downloading SDKs and creating packages on your own!
    ★ Out-of-the-box for mobile platforms: iOS & Android.
    ★ Works with Blueprint-only & source code projects.
    ★ Works with Launcher & GitHub UE4 versions.

    WHAT YOU GET:
    ★ Full source code available on GitHub private repo!
    ★ Compatible with iOS & Android (all-in-one)
    ★ Easy plugin setup
    ★ All future updates
    ★ Support via Discord & e-mail


    Realtime Database is an extension of this plugin.




    Plugin is used in our mobile game CHASERS:




    You can download example project at the following address: https://github.com/gameDNAstudio/ExampleProjects


    Facebook: https://www.facebook.com/gameDNAstudio
    Twitter: https://twitter.com/gameDNAstudio



    More about Firebase you can find on the official website.


    Join our Discord channel to receive support and subscribe latest news: https://gamednastudio.com/discord















    FULL LIST OF SUPPORTED FUNCTIONS (BLUEPRINTS AND C++):

    ANALYTICS:
    • Firebase Analytics Init
    • Firebase Analytics Log Event
    • Firebase Analytics Log Event Double
    • Firebase Analytics Log Event Integer
    • Firebase Analytics Log Event String
    • Firebase Analytics Set Current Screen
    • Firebase Analytics Set User Id
    • Firebase Analytics Set User Property
    • Firebase Analytics Get Analytics Instance Id
    • Firebase Analytics Set Analytics Collection Enabled
    • Firebase Analytics Reset Analytics Data
    • Is Firebase Analytics Initialized


    AUTHENTICATION:
    • Firebase Authentication Init
    • Firebase Authentication Create User With Email And Password
    • Firebase Authentication Delete User
    • Firebase Authentication Fetch Providers For Email
    • Firebase Authentication Get Logged User
    • Firebase Authentication Get User Token
    • Firebase Authentication Is User Logged In
    • Firebase Authentication Link With Credential
    • Firebase Authentication Reauthenticate User
    • Firebase Authentication Reload User
    • Firebase Authentication Send Email Verification
    • Firebase Authentication Send Password Reset Email
    • Firebase Authentication Sign In Anonymously
    • Firebase Authentication Sign In With Credential
    • Firebase Authentication Sign In With Custom Token
    • Firebase Authentication Sign In With Email And Password
    • Firebase Authentication Sign In With Google
    • Firebase Authentication Sign Out
    • Firebase Authentication Unlink Provider
    • Firebase Authentication Update Email
    • Firebase Authentication Update Password
    • Firebase Authentication Update User Profile
    • Firebase Authentication Verify Phone Number
    • Is Firebase Authentication Initialized


    CRASHLYTICS:
    • Firebase Crashlytics Force Crash
    • Firebase Crashlytics Force Exception
    • Firebase Crashlytics Set User Identifier
    • Firebase Crashlytics Set User Email
    • Firebase Crashlytics Set Username
    • Firebase Crashlytics Write Log
    • Firebase Crashlytics Write Log With Tag And Priority
    • Firebase Crashlytics Set String
    • Firebase Crashlytics Set Bool
    • Firebase Crashlytics Set Float
    • Firebase Crashlytics Set Integer
    • Is Firebase Crashlytics Initialized


    DYNAMIC LINKS:
    • Firebase Dynamic Links Init
    • Firebase Dynamic Links Fetch
    • Firebase Dynamic Links Get Long Link
    • Firebase Dynamic Links Get Short Link
    • Firebase Dynamic Links Create Listener (Events: OnDynamicLinkReceived)
    • Is Firebase Links Initialized


    IN-APP MESSAGING:
    • Firebase In-App Messaging Init
    • Firebase In-App Messaging Enable Automatic Data Collection
    • Firebase In-App Messaging Is Automatic Data Collection Enabled
    • Firebase In-App Messaging Turn On Messages Suppressed
    • Firebase In-App Messaging Are Messages Suppresed
    • Is Firebase In-App Messaging Initialized


    INVITES:
    • Firebase Invites Init
    • Firebase Invites Send Invite
    • Firebase Invites Convert Invitation
    • Firebase Invites Fetch
    • Firebase Invites Get Listener (Events: OnInviteReceived, OnErrorReceived, OnInviteNotReceived)
    • Is Firebase Invites Initialized


    INSTANCE ID:
    • Firebase Instance Id Init
    • Firebase Instance Id Get Token
    • Firebase Instance Id Get Id
    • Firebase Instance Id Delete Token
    • Firebase Instance Id Delete Id
    • Is Firebase Instance Id Initialized


    MESSAGING:
    • Firebase Messaging Init
    • Firebase Messaging Send Message
    • Firebase Messaging Subscribe Topic
    • Firebase Messaging Unsubscribe Topic
    • Firebase Messaging Request Permission
    • Is Firebase Messaging Initialized


    REMOTE CONFIG:
    • Firebase Remote Config Init
    • Firebase Remote Config Activate Fetched
    • Firebase Remote Config Fetch
    • Firebase Remote Config Get Boolean
    • Firebase Remote Config Get Float
    • Firebase Remote Config Get Integer
    • Firebase Remote Config Get Keys
    • Firebase Remote Config Get Keys By Prefix
    • Firebase Remote Config Get String
    • Firebase Remote Config Last Fetch Get Info
    • Is Firebase Remote Config Initialized


    STORAGE:
    • Firebase Storage Init
    • Firebase Storage Reference Delete
    • Firebase Storage Reference Get Download Url
    • Firebase Storage Reference Get File
    • Firebase Storage Reference Get Metadata
    • Firebase Storage Reference Put File
    • Firebase Storage Reference Update Metadata
    • Cancel
    • Child
    • Get Bucket
    • Get Full Path
    • Get Parent
    • Firebase Storage Get Platform Storage Path
    • Firebase Storage Get Unreal Storage Path
    • Firebase Storage Get Save Game Storage Path
    • Get Progress
    • Get Short Name
    • Firebase Storage Get Storage Reference From Path
    • Firebase Storage Get Storage Reference From Url
    • Firebase Storage Get Storage Reference to Root
    • Is Paused
    • Is Valid
    • Pause
    • Resume
    • Is Firebase Storage Initialized


    PERFORMANCE MONITORING:
    • Firebase Performance Monitoring Start Performance Trace
    • Stop
    • Increment Metric
    • Get Metric
    • Put Metric
    • Get Attribute
    • Put Attribute
    • Remove Attribute
    • Is Firebase Performance Monitoring Initialized


    TEST LAB:
    • Firebase Test Lab Get Game Loop Scenario
    • Firebase Test Lab Take Screenshot
    • Firebase Test Lab Finish Test
    • Is Firebase Test Lab Initialized


    CREDENTIAL:
    • Firebase Email Credential
    • Firebase Facebook Credential
    • Firebase GitHub Credential
    • Firebase Google Credential
    • Firebase Google Play Games Credential
    • Firebase Twitter Credential


    VARIANT:
    • Firebase Boolean Variant
    • Firebase Float Variant
    • Firebase Integer Variant
    • Firebase String Variant


    APP:
    • Firebase Check Google Play Availability
    • Firebase Make Google Play Available


    ULTIMATE MOBILE KIT COMPONENT:
    • User Signed In
    • User Signed Out
    • User Id Token Changed
    • Message Received
    • Token Received
    Last edited by gameDNA studio; 02-19-2019, 12:32 PM.

  • replied
    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.

    Leave a comment:


  • replied
    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.

    Leave a comment:


  • replied


    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.
    Last edited by gameDNA studio; 02-19-2019, 04:31 PM.

    Leave a comment:


  • replied
    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


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

    Leave a comment:


  • replied
    Originally posted by Esteves View Post
    Great plugin. Exactly what I needed to connect my app to firebase. Easy to use, great support from gameDNA, I got my answers in less than 5 minutes everytime I had an issue. Strongly recommend to anyone working on mobile games!
    Thank you for your appreciation! We always try to provide the best possible service

    Leave a comment:


  • replied
    Great plugin. Exactly what I needed to connect my app to firebase. Easy to use, great support from gameDNA, I got my answers in less than 5 minutes everytime I had an issue. Strongly recommend to anyone working on mobile games!

    Leave a comment:


  • replied
    Ultimate Mobile Kit 1.10.4 released!


    We've just released hotfix 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:
    • Updated Firebase SDKs for Android
    • Fixed ProGuard error when Shipping mode is enabled on Android


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

    Leave a comment:


  • replied


    We decided to create Discord channel to provide better support and send realtime updates about all our products.

    We strongly encourage you to join our channel: https://gamednastudio.com/discord

    Leave a comment:


  • replied
    Ultimate Mobile Kit 1.10.3 released!


    We've just released hotfix 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:
    • Fixed SignInWithGoogle not working during second execution or next.
    • Removed unecessary WorldContextObject parameters.
    • Firebase Core SDK for Android updated to 16.0.6
    • Firebase Auth SDK for Android updated to 16.1.0
    • Firebase Analytics SDK for Android updated to 16.0.6
    • Firebase Remote Config SDK for Android updated to 16.1.2
    • Firebase Crashlytics SDK for Android updated to 2.9.8
    • Firebase Invites SDK for Android updated to 16.0.6
    • Firebase Performance Monitoring SDK for Android updated to 16.2.3
    • Firebase Core SDK for iOS updated to 5.15.0



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

    Leave a comment:


  • replied
    Ultimate Mobile Kit 1.10.2 released!


    We've just released hotfix 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 improvements for Android 9 (Pie)
    • Added improvements for iOS 12, iPhone XS, iPhone XS Max, and iPhone XR
    • Firebase SDK for all platforms updated to 5.4.3
    • Firebase Core SDK for Android updated to 16.0.5
    • Firebase Analytics SDK for Android updated to 16.0.5
    • Firebase Database SDK for Android updated to 16.0.5
    • Firebase Auth SDK for Android updated to 16.0.5
    • Firebase Invites SDK for Android updated to 16.0.5
    • Firebase Performance Monitoring SDK for Android updated to 16.2.1
    • Firebase Storage SDK for Android updated to 16.0.5
    • Firebase Crashlytics SDK for Android updated to 2.9.6
    • Firebase Core SDK for iOS updated to 5.13.0
    • Firebase Crashlytics SDK for iOS updated to 3.12.0



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

    Leave a comment:


  • replied
    Originally posted by gameDNA studio View Post

    It seems to be fine. All necessary info is available. Not always 100% of symbols are visible in Crashlytics.
    Thank you for confirming.

    I have another problem.
    UMK ForceCrash, ForceException not working at Android.
    I called this function using custom console command.
    But there is any crash, or exception and I can't open Unreal Console window after function call.
    When I changed "throw new RuntimeException("This is a crash")" to Crashlytics.logException(new RuntimeException("This is a crash"), it worked.

    ---------------------------------------------------------------------------------------------------------
    I modified UltimateMobileKit_UPL_Android.xml.
    Now it works well

    Code:
     public void AndroidThunkJava_FirebaseCrashlyticsForceCrash()
         {
              GameActivity._activity.runOnUiThread(new Runnable() {
               @Override
               public void run() {
                  Crashlytics.getInstance().crash();
                }
              });
          }
    
          public void AndroidThunkJava_FirebaseCrashlyticsForceException()
          {
              GameActivity._activity.runOnUiThread(new Runnable() {
                @Override
                public void run() {
                  throw new RuntimeException("This is a crash");
                }
              });
          }
    Last edited by NKei; 11-29-2018, 05:04 AM.

    Leave a comment:


  • replied
    Originally posted by NKei View Post

    Actually, Only part of it is displayed.
    It seems to be fine. All necessary info is available. Not always 100% of symbols are visible in Crashlytics.

    Leave a comment:


  • replied
    We added this functionality to Ultimate Mobile Kit 1.10.1 (UE 4.21) and you can integrate changes from this commit: https://github.com/gameDNAstudio/Ult...530bffd9025287
    Ok, I'll Check it. Thank you.


    Originally posted by gameDNA studio View Post

    It looks fine... When you delete androidNdkLibsOut it tries to find necessary folder automatically. Could you check if stack traces with symbols are visible on the Firebase Crashlytics Dashboard?
    Actually, Only part of it is displayed.
    Here is My Firebase Crashlytics Dashboard Info.

    Click image for larger version

Name:	dashboad.png
Views:	1
Size:	92.1 KB
ID:	1555898
    Code:
    Crashed: Thread: SIGSEGV  0x0000000000000000
           at My SourceCode FunctionName (FileName:Line)
           at (Missing)()
           at UFunction::Invoke(UObject*, FFrame&, void*)(Class.cpp:4728)
           at UObject::ProcessEvent(UFunction*, void*)(ScriptCore.cpp:1342)
           at UObject::FindFunction(FName) const(ScriptCore.cpp:1173)
           at (Missing)()
           at (Missing)()
           at void TScriptDelegate<FWeakObjectPtr>::ProcessDelegate<UObject>(void*) const(ScriptDelegates.h:240)
           at SCheckBox::OnMouseButtonDoubleClick(FGeometry const&, FPointerEvent const&)(SButton.cpp:249)
           at FOnButtonClickedEvent_DelegateWrapper(TMulticastScriptDelegate<FWeakObjectPtr> const&)(Button.h:17)
           at decltype ((((*this).Obj)->*((*this).MemFunPtr))()) TMemberFunctionCaller<UUserWidget, FVector2D (UUserWidget::*)() const>::operator()<>()(DelegateInstanceInterface.h:156)
           at TBaseDelegate<FReply>::Execute() const(DelegateSignatureImpl.inl:537)
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()
           at (Missing)()

    Leave a comment:


  • replied
    Originally posted by NKei View Post

    I tried to upload symbol after delete Intermediate and build, but still fail. (development build / architecture armv7)
    when I remove androidNdkLibsOut 'build/intermediates/transforms/stripDebugSymbol' line, file uploaded successfully.
    In this case, androidNdkLibsOut in crashlytics.log file was 'build\intermediates\transforms\stripDebugSymbol\debug'
    It looks fine... When you delete androidNdkLibsOut it tries to find necessary folder automatically. Could you check if stack traces with symbols are visible on the Firebase Crashlytics Dashboard?


    Originally posted by NKei View Post
    I have another question.
    I want to upload symbol file automatically, so added this code to UltimateMobileKit_UPL_Android.xml

    But it didn't work. What should I do?
    We added this functionality to Ultimate Mobile Kit 1.10.1 (UE 4.21) and you can integrate changes from this commit: https://github.com/gameDNAstudio/Ult...530bffd9025287

    Leave a comment:

Working...
X