Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Done , added link to API usage

Introduction

...

Info
titleUsing Google Play Services

If you choose to use Google Play Services, you need to know the following :

  1. To test your app when using the Google Play services SDK, you must use either:

    • A compatible Android device that runs Android 2.3 or higher and includes Google Play Store.
    • The Android emulator with an AVD that runs the Google APIs platform based on Android 4.2.2 or higher.
  2. To make the Google Play services APIs available to your app:

    1. Copy the library project at <android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/ to the location where you maintain your Android app projects.
    2. Import the library project into your Eclipse workspace (if you use Eclipse) : Click File > Import, select Android > Existing Android Code into Workspace, and browse to the copy of the library project to import it.
    3. In your app project, reference Google Play services library project.

      Note: You should be referencing a copy of the library that you copied to your development workspace—you should not reference the library directly from the Android SDK directory.

    4. Use the AndroidManifest.xml written below for GooglePlayServices integration
  3. To prevent ProGuard from stripping away required classes, add the following lines in the<project_directory>/proguard-project.txt file:

     

    Code Block
    languagetext
    titleProGuard
    -keep class * extends java.util.ListResourceBundle {
        protected Object[][] getContents();
    }
    
    -keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
        public static final *** NULL;
    }
    
    -keepnames @com.google.android.gms.common.annotation.KeepName class *
    -keepclassmembernames class * {
        @com.google.android.gms.common.annotation.KeepName *;
    }
    
    -keepnames class * implements android.os.Parcelable {
        public static final ** CREATOR;
    }



 

...

  1. If prompted with an error, add this "Import" command to enable Appoxee SDK usage:

    Code Block
    languagejava
    linenumberstrue
    import com.appoxee.Appoxee; 
  2. Inbox integration - after enabling the Inbox in your Appoxee account (by going to the app's Application Information page and checking Allow Inbox + Rich messages), add the Inbox to your code as follows: 

     

    Note

    The Inbox feature guarantees your ability to engage the user with rich messages (note that the Inbox cannot be disabled by users, as opposed to Push Notifications) and gives you the option to access features such as Feedback and More Apps . The Inbox must be used in your application's code in order to show it and utilize its features. The InboxMessage activity needs to be added in order to support Push Notifications by Appoxee. Check your Manifest.xml and see that it is added below the Receiver declaration.

     

    1. Add code that opens the Inbox - the Inbox can be opened from any activity. In the example code below, the Inbox is opened from the main activity layout, using the "openInbox():" function:

      Code Block
      languagejava
      linenumberstrue
      public void openInbox(View view)
      { 
       Intent intent = new Intent(this, Inbox.class);
       intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
       this.startActivity(intent);
      } 
    2. Add a button that opens the Inbox - it is recommended to add a button to open the Inbox. This button is added in the activity layout as follows:

      Code Block
      languagexml
      linenumberstrue
      <Button 
      android:id="@+id/open_inbox" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:onClick="openInbox"
      android:text="Open Appoxee Inbox" /> 
    3. Show the number of unread messages - to show the user the number of unread messages, fetch this number using the following command:

      Code Block
      languagejava
      linenumberstrue
      Appoxee.getUnreadMessages(); 

       

       

  3. Deep Link / URL Scheme in Appoxee & Android

    1. Add to your AndroidManifest.xml

      Code Block
      languagexml
      linenumberstrue
      <activity android:name="com.appoxee.example.DeepLinkActivity" >
         <!-- Add the Intent Filter for activity needed to be URLScheme compatible -->
         <intent-filter>
                 <action android:name="android.intent.action.VIEW" />
                 <category android:name="android.intent.category.DEFAULT" />
                 <category android:name="android.intent.category.BROWSABLE" />
                 <data android:scheme="example"
      				 android:host="pushnotification" />
          </intent-filter>
      </activity>

       

       

    2. Create DeepLinkActivity.java

      Code Block
      languagejava
      titleDeepLink Activity Sample
      linenumberstrue
      //This sample extends AppoxeeBaseActivity, for onStart() & onStop() integration and analytics
      public class DeepLinkActivity extends AppoxeeBaseActivity {
      
       @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            Intent intent = getIntent();
            if (intent == null || intent.getData() == null) {
                    finish();
            }
      
            openDeepLink(intent.getData());
      
            // Finish this activity
            finish();
         }
         
         public void openDeepLink(Uri deepLink) {
          String path = deepLink.getPath();
          Utils.Debug("Base path: " + path);
          //Implement your Code here
          path = path.replace("/", "");
      
      
          Intent intent = new Intent();
          intent.setClassName(this, path);
          this.startActivity(intent);      
         } .....
      
      
      

NEXT STEP: Step 4 of the Appoxee Android SDK IntegrationYou are now done integrating the Appoxee SDK! Congrats!

1. If you wish to use the SDK Sync API's - press here

2. If you wish to use the SDK Async API's - press here 

3. If you wish to use the Custom Push Notification Builder - press here

As mentioned earlier, our Test Application contains a full code sample. it can be downloaded from here.