Follow these steps to automatically integrate your Android app with Localytics. This approach is only supported by Ice Cream Sandwich (Android 4.0, API level 14) and later.
import com.localytics.android.*;
<application android:name=".MyApplication" android:icon="@drawable/ic_launcher" android:label="@string/app_name">
public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); // Register LocalyticsActivityLifecycleCallbacks registerActivityLifecycleCallbacks( new LocalyticsActivityLifecycleCallbacks(this)); } }
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // If you're using Localytics Push Messaging Localytics.registerPush("YOUR_PROJECT_NUMBER"); // Activity Creation Code }
@Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); setIntent(intent); }
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> // optional, but highly recommended
<uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> <permission android:name="YOUR.PACKAGE.NAME.permission.C2D_MESSAGE" android:protectionLevel="signature" /> <uses-permission android:name="YOUR.PACKAGE.NAME.permission.C2D_MESSAGE" />
<receiver android:name="com.localytics.android.PushReceiver" android:permission="com.google.android.c2dm.permission.SEND" > <intent-filter> <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> <action android:name="com.google.android.c2dm.intent.RECEIVE" /> <category android:name="YOUR.PACKAGE.NAME" /> </intent-filter> </receiver>
<activity android:name="com.localytics.android.PushTrackingActivity"/>
<receiver android:name="com.localytics.android.ReferralReceiver" android:exported="true"> <intent-filter> <action android:name="com.android.vending.INSTALL_REFERRER" /> </intent-filter> </receiver>