basic android push notification

27
ANDROID PUSH NOTIFICATION Presented by CodeMobiles Co.,Ltd. www.codemobiles.com FB Group: CodeMobiles Developers

Upload: chaiyasit-tayabovorn

Post on 03-Jul-2015

514 views

Category:

Technology


2 download

DESCRIPTION

The presentation that was presented in Thailand Android Developer Day 2014 hosted by GDG Thailand.

TRANSCRIPT

Page 1: Basic Android Push Notification

ANDROID PUSH NOTIFICATION

Presented by CodeMobiles Co.,Ltd.

www.codemobiles.comFB Group: CodeMobiles Developers

Page 2: Basic Android Push Notification

WHAT IS PUSH NOTIFICATION?

Page 3: Basic Android Push Notification

USE CASES

NOTIFY INFORMTIONCONTROL APPLICATIONMAKE USERS TO COME BACKETC.

Page 4: Basic Android Push Notification

USE CASES (CONT.)

http://goo.gl/nmlw01

CMThaiDict

http://goo.gl/dG2exY

CMThai Lotto

http://goo.gl/25qFmI

SiamGold

Page 5: Basic Android Push Notification

Push APIs

Page 6: Basic Android Push Notification
Page 7: Basic Android Push Notification
Page 8: Basic Android Push Notification
Page 9: Basic Android Push Notification

WORKSHOPApp : CMPUSH

sourcecode

http://goo.gl/yK4Sq7

http://goo.gl/6gle34videos

Page 10: Basic Android Push Notification

WORKSHOP (STEPS)

1. New Project & Setup UI2. Create Parse Account and setup App ID3. Add Parse SDK4. Setup SDK5. Pray & Run6. Q&A

Page 11: Basic Android Push Notification

https://www.parse.com/products/push

Signup for Parse Account

Page 12: Basic Android Push Notification

https://www.parse.com/products/push

Download SDK

Page 13: Basic Android Push Notification

Add Lib: Parse-xx.jar

Page 14: Basic Android Push Notification

Modify AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />

<!-- IMPORTANT: Change "com.codemobiles.cmapppush" to match your app's package name. --> <permission android:name="com.codemobiles.cmapppush.permission.C2D_MESSAGE" android:protectionLevel="signature" />

<uses-permission android:name="com.codemobiles.cmapppush.permission.C2D_MESSAGE" />

Page 15: Basic Android Push Notification

Modify AndroidManifest.xml (cont.)

<service android:name="com.parse.PushService" /> <receiver android:name="com.parse.ParseBroadcastReceiver" > <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> <action android:name="android.intent.action.USER_PRESENT" /> </intent-filter> </receiver> <receiver android:name="com.parse.GcmBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND" > <intent-filter> <action android:name="com.google.android.c2dm.intent.RECEIVE" /> <action android:name="com.google.android.c2dm.intent.REGISTRATION" />

<!-- IMPORTANT: Change "com.codemobiles.cmapppush" to match your app's package name. --> <category android:name="com.codemobiles.cmapppush" /> </intent-filter> </receiver>

Page 16: Basic Android Push Notification

Create Application.java

public class Application extends android.app.Application {public Application() {}

@Overridepublic void onCreate() {

super.onCreate();

Parse.initialize(getApplicationContext(),"your app id - copy from parse setting","client id - copy from parse setting");

PushService.setDefaultPushCallback(this, MainActivity.class);

}}

Page 17: Basic Android Push Notification

COPY APP ID AND CLIENT KEYPaste into Application.java

Page 18: Basic Android Push Notification

Link Application.java Application in AnroidManifest.xml

<application android:allowBackup="true" android:name=“<your packagename>.Application" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" >

Page 19: Basic Android Push Notification

MainActivity.java

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ParseAnalytics.trackAppOpened(getIntent()); PushService.subscribe(this, "free_version", MainActivity.class); new Thread(new Runnable() {

@Override public void run() { ParseInstallation.getCurrentInstallation().saveInBackground(); } }).start();

….. }

Page 20: Basic Android Push Notification

MainActivity.java

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ParseAnalytics.trackAppOpened(getIntent()); PushService.subscribe(this, "free_version", MainActivity.class); new Thread(new Runnable() {

@Override public void run() { ParseInstallation.getCurrentInstallation().saveInBackground(); } }).start();

….. }

Page 21: Basic Android Push Notification

Set Notification Title

Page 22: Basic Android Push Notification

Run App and Check if there is registered clients

Page 23: Basic Android Push Notification

Send Push Message

Page 24: Basic Android Push Notification

Evaluation

Page 25: Basic Android Push Notification

Follow USYoutube: CMDevFB Group: CodeMobiles DeveloperWWW.: CodeMobiles.comTraining: [email protected] Tel: +(66)87-676-0813-14

FB Group: CodeMobiles Developer

CMDev. Channel

CodeMobiles.com

Page 26: Basic Android Push Notification

Q&AFB Group: CodeMobiles Developer

http://goo.gl/bxWolr

Page 27: Basic Android Push Notification

THANK YOUfor Your Attention