Skip to content

MyMalcom/malcom-lib-android

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#Malcom Android library

Here we will explain how to easily integrate the Malcom library in your Android app.

##Requirements

  • Malcom Android library requires a minSdkVersion of 8 or greater (Android 2.2, Froyo).
  • The device needs at least a configured account. In the simulator the AVD needs the Google APIs and a configured account.

##Dependencies

###With Maven

Add the Malcom repository and the dependency in your pom.xml.

In the repositories section:

<repositories>
	<repository>
		<id>Malcom Repository</id>
		<url>http://maven-repo.mobivery.com.s3.amazonaws.com/release</url>
	</repository>
</repositories>

In dependencies section:

<dependencies>
 	<dependency>
		<groupId>com.malcom.library.android</groupId>
		<artifactId>malcom-android-library</artifactId>
		<version>2.0.11</version>
	</dependency>
</dependencies>

###Without Maven

Manually download the library and add it to your project:

You can also download the sources and javadoc:

##Android Manifest

You will need the following permissions to be able to use all the Malcom features:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.VIBRATE" />

Also add this service in your <application>:

<application ...>
    ...
    <service android:name="com.malcom.library.android.module.stats.services.PendingBeaconsDeliveryService"/>
    ...
</application>

##Get the UUID and secret key for your application

If you haven't done it yet, create an Application in Malcom web. Login to http://malcom.mymalcom.com/ (register if you haven't) and click "Create application".

After creating your application, click on it and go to "Administration" on the left menu. There you will see two values: "UUID" and "Secret key". You will need them for the next step.

##Init Malcom in your Application

Add this line to the onCreate method of your Application class:

import com.malcom.library.android.MalcomLib;

public class YourApplication extends Application
{
  @Override
  public void onCreate()
  {
    MalcomLib.init(this, <UUID>, <SECRET_KEY>);

    ...
  }

  ...
}

##Extend "Malcom activities" (if you target pre-ICS)

If your application is targeted for Android version before ICS (API Level < 14) your activities must extend MalcomActivity, MalcomListActivity or MalcomPreferenceActivity instead of Activity, ListActivity or PreferenceActivity. For example:

import android.util.activitylifecyclecallbackscompat.app.MalcomActivity;

public class MyActivity extends MalcomActivity {
    ...
}

If some of your activities should extend other classes like FragmentActivity or SherlockFragmentActivity you can easily define Malcom activities for those by copying MalcomActivity with another name (e.g. MalcomFragmentActivity) and extend the class you need (e.g. FragmentActivity):

public class MalcomFragmentActivity extends FragmentActivity
{
  // Same code as MalcomActivity
}

Then use that class in your activities:

public class SomeFragmentActivity extends MalcomFragmentActivity
{
  ...
}

##Congratulations!

Now that you have integrated Malcom in your app you are using the basic features of Malcom.

To check that everything is OK do the following:

  • Use your app on one or more mobile phones (enter, do something, exit)
  • Go to http://malcom.mymalcom.com, click on your app and then on "Usage" section to check that your app is sending statistics to Malcom server (unique users, sessions, etc).

##Discover other Malcom features

To make the most of Malcom check out the following links. They explain more interesting features:

##Contact

If you have any question don't hesitate to contact us at [email protected].

##License

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.