Skip to content

Latest commit

 

History

History
142 lines (101 loc) · 7.77 KB

README.md

File metadata and controls

142 lines (101 loc) · 7.77 KB

RoboPods

RoboPods are high-quality RoboVM code libraries and bindings for the most popular 3rd party services like social media integration, ad networks or crash reporting. Just add a RoboPod dependency to your project and you are ready-to-go!

Usage

A RoboPod comes in form of a simple JAR file published to Maven Central so you can easily integrate it with Maven or Gradle. Add a depencency to your Maven or Gradle build files, download native frameworks, define frameworks in robovm.xml and you are ready to go!

Versioning

It is recommended that you define the RoboPods version number globally in your build system, so you can refer to that when adding dependencies.

Gradle

In your project's root build.gradle file add the following at the top of the buildscript section:

buildscript {
   project.ext.robopodsVersion = "2.2.3"
}

When you add a dependency, you can refer to the variable like this:

dependencies {
   ... other dependencies ...
   compile "com.mobidevelop.robovm:robopods-facebook-ios:$robopodsVersion"
}

Maven

In your project's root pom.xml file add the following property:

<properties>
   <robopods.version>2.2.3</robopods.version>
</properties>

When you add a dependency, you can refer to the variable like this:

<dependency>
   <groupId>com.mobidevelop.robovm</groupId>
   <artifactId>robopods-facebook-ios</artifactId>
   <version>${robopods.version}</version>
</dependency>

Add native frameworks

Native frameworks can be embedded in the Robopod jars, but often need to be added manually. A robopod jar has embedded its native frameworks if in path META-INF/robovm/ios/libs/ .framework or .a files are present.

If natives are not present, you need to add them manually. Download the native frameworks, add them to the project and update robovm.xml.

Below an example if you'd like to use the Facebook SDK Share dialog.

Download the iOS SDK from https://developers.facebook.com/docs/ios/downloads

Copy the Bolts.framework, FBSDKCoreKit.framework and FBSDKShareKit.framework into ./lib (relative to robovm.xml)

Add to robovm.xml:

<frameworkPaths>
    <path>lib</path>
</frameworkPaths>


<frameworks>
    ...
    <framework>Bolts</framework>
    <framework>FBSDKCoreKit</framework>
    <framework>FBSDKShareKit</framework>
    ...
</frameworks>

Current versions

The RoboPods follow the same versioning as the core of RoboVM. To prevent compatibility issues make sure that you use the same version for the RoboPods and RoboVM.

The current stable version is:

2.2.3

If you want to use the latest and greatest of every RoboPod, use the latest snapshot version for your dependencies:

2.2.4-SNAPSHOT

List of RoboPods

This is the list of currently available RoboPods. Click them to get more information like install instructions.

Name Description
Appodeal The mobile ad network Appodeal runs multiple premium networks under one integration.
AppsFlyer AppsFlyer mobile attribution & marketing analytics platform.
Bolts This RoboPod is mainly used to make the Facebook and Parse RoboPods functional. Bolts is a collection of low-level libraries designed to make developing mobile apps easier.
Facebook Build, grow, and monetize your app with Facebook. The Facebook SDK allows you to natively integrate Facebook into your app.
Firebase Firebase Analytics and Firebase Messaging bindings.
Flurry Measure, track and analyze app performance, user acquisition and activity with Flurry Analytics.
Google Analytics Collect, configure, and analyze your data to reach the right audience.
Google APIs Google APIs is used by several Google services such as Google Analytics to configure them in a single configuration file.
Google Mobile Ads AdMob is a mobile ads network. Gain insights about your users, drive more in-app purchases, and maximize your ad revenue.
Google SignIn Get users into your apps quickly and securely, using a registration system they already use and trust—their Google account.
Google Personalized Ad Consent Obtain consent to serve personlized ads with AdMob from users within the EU.
IronSource IronSource is a mobile ads network and mediation platform.
Mapbox The Mapbox SDK provides vector-based mapping.
Parse Focus on creating a great user experience and stop worrying about server maintenance and complex infrastructure.
Reachability Monitor network reachability.

AltPods

You can find additional RoboPods on Demyan Kimitsa AltPods repository.

These are some available AltPods (check repository link for the full updated list).

Name Description
AppLovinSDK An advertisement mediator SDK
BranchMetrics The Branch Metrics iOS SDK for deferred and contextual mobile deep linking
Charts Beautiful charts for iOS/tvOS/OSX! The Apple side of the crossplatform MPAndroidChart.
Firebase Firebase (analytics, databases)
HelpShift Deliver a superior customer service experience at a lower cost with Helpshift’s AI-powered messaging platform.
Lottie An iOS library to natively render After Effects vector animations
OneSignal OneSignal is a free push notification service for mobile apps
Pollfish Simple Surveys
SAMKeychain SAMKeychain is a simple wrapper for accessing accounts, getting passwords, setting passwords, and deleting passwords using the system Keychain on Mac OS X and iOS
Facebook Used to integrate the Facebook Platform with your iOS & tvOS apps

Creating/Updating RoboPods

Java bindings are generated semi-automatically with a Ruby script configured via a .yaml file [This tutorial] (https://dkimitsa.github.io/2017/10/19/bro-gen-tutorial/) explains how to create (and update) a RoboPod from scratch.