Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
  1. Make sure your application build.gradle file include the applicationId attribute for android defaultConfig. Alternately, you can replace ${applicationId} with you application package (e.g com.yourapppackage.app). Example:

    Code Block
    languagegroovy
    themeRDark
    titlebuild.gradle
    android {
    	...
    	defaulfConfig {
    		applicationId "com.yourapppackage.app"		
    		...
    	}
    }
    		
    Warning

    When using Google Play Services (as described here), please make sure GCMBroadcastReceiver and GCMIntentService declarations are not present in your manifest (or remove them, if present). Failing to do so will cause devices not to be registered in Appoxee's servers correctly, and push messages will not be sent to them.

  2. Add the following lines to your app's AndroidManifest.xml file : 

    Code Block
    languagexml
    themeRDark
    firstline1
    titleAndroidManifest.xml
    linenumberstrue
    <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="<app package>">
    
        <!-- Custom GCM permissions -->
        <permission android:name="${applicationId}.permission.C2D_MESSAGE" android:protectionLevel="signature" />
        <uses-permission android:name="${applicationId}.permission.C2D_MESSAGE" />
    
        <application >
    
            <!-- Custom push receiver -->
    		<receiver
                android:name="com.appoxee.gcm.PlayBroadcastReceiver"
                android:permission="com.google.android.c2dm.permission.SEND" >
    
                <!-- Receive the actual message -->
                <intent-filter>
                    <action android:name="com.google.android.c2dm.intent.RECEIVE" />
                    <category android:name="${applicationId}" />
                </intent-filter>
    
                <!-- Receive the registration id -->
                <intent-filter>
                    <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
                    <category android:name="${applicationId}" />
                </intent-filter>
            </receiver>
    
        </application>
    </manifest>
    
    

     

     

  3. When using eclipse (when manifest merging option is off), please add the following manifest:

    Code Block
    languagexml
    themeEclipse
    firstline1
    titleEclipse declarations
    linenumberstrue
    <manifest >
    
       <!-- Required for using internet (which is a must) -->
        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    
        <!-- Required for receiving GCM (push) messages -->
        <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    
        <!-- Keeps the processor from sleeping when handling received push messages -->
        <uses-permission android:name="android.permission.WAKE_LOCK" />
    
        <!-- For vibrating when showing notification -->
        <uses-permission android:name="android.permission.VIBRATE" />
        
        <application >
    
            <meta-data android:name="com.google.android.gms.version"
                android:value="@integer/google_play_services_version" />
    
            <!-- Must have for Push Support by Appoxee -->
    		<service android:name="com.appoxee.gcm.PlayIntentService" />
            <service android:name="com.appoxee.push.PushOpenIntentService" />
    
            <!-- Include for inbox/more-apps/feedback support -->
            <activity android:name ="com.appoxee.activities.InboxMessage"/>
            <activity android:name="com.appoxee.activities.Inbox"/>
            <activity android:name="com.appoxee.activities.MoreApps"/>
            <activity android:name="com.appoxee.activities.Feedback"/>
    
    		<!-- For geo-fences support -->
            <service android:name="com.appoxee.geo.GeofenceTransitionsIntentService"/>
            <service android:name="com.appoxee.geo.AppoxeeGeofencingManager" />
    
            <receiver android:enabled="true" android:name=".geo.BootCompleteReceiver">
                <intent-filter>
                    <action android:name="android.intent.action.BOOT_COMPLETED" />
                </intent-filter>
            </receiver>
    
        </application>
    
    </manifest>

...