ABTesting

Additional

Language
Java
Version
N/A
Created
Oct 21, 2016
Updated
Jan 9, 2017 (Retired)
Owner
TIKI CORP (tikivn)
Contributors
Nguyen Truong Giang (talenguyen)
Daniel Lee (dbof10)
2
Activity
Badge
Generate
Download
Source code
APK file

Commercial

ABTesting

Solution to Remote config Firebase in reactive way

Sample Usage

public class ABApplication extends Application {

 @Override 
 public void onCreate() {
   super.onCreate();
   
   FirebaseApp.initializeApp(this);

   ABTesting ab = new ABTesting(new AbSettings.Builder()
       .debug(BuildConfig.DEBUG)
       .cacheExpiration(2, TimeUnit.SECONDS)
       .defaults(defaultAbValues())
       .build());
 }
}

public class MainActivity extends AppCompatActivity {

 public void fetch(View view) {
   ABApplication.get(this).getAb()
       .request(this)
       .key("onboard_navigation")
       .timeout(5, TimeUnit.SECONDS)
       .build()
       .parseValue(Parser.BOOLEAN)
       .retry(3)
       .subscribe(new Action1<Boolean>() {
         @Override public void call(Boolean value) {
           if (value) {
             startActivity(new Intent(MainActivity.this, OnboardActivity.class));
           } else {
             startActivity(new Intent(MainActivity.this, HomeActivity.class));
           }
           finish();
         }
       });
 }

Support primitive types

Parser.BOOLEAN
Parser.LONG
Parser.DOUBLE
Parser.FLOAT
Parser.BYTE
Parser.INTEGER

if String

use .stringValue() instead of parseValue()

Avoid memory leak

Memory leak is detected in FirebaseRemoteConfig so it's mandatory to pass your Activity as parameter in request method

Download

Download the latest JAR or grab via Gradle:

compile 'vn.tiki.ab:abtesting:1.0.2-SNAPSHOT'

or Maven:

<dependency>
  <groupId>vn.tiki.ab</groupId>
  <artifactId>abtesting</artifactId>
  <version>1.0.2-SNAPSHOT</version>
</dependency>

Snapshots of the development version are available in Sonatype's snapshots repository.

ProGuard

No specific

License

Copyright 2016 Tiki Corp

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.