【Android】Parse 开发笔记(4)—— Push Notifications(上)

前言

成立的应用Push服务,能大幅度增进用户活跃度,本博《Parse
Push快速入门指南》仅简单介绍与采取了一晃Parse的推送服务,这里介绍更多之运用方法以及技艺。系列文章分点儿首来介绍Push服务,分别指向所有用户(上)和沟渠定制用户(下)。

 

声明

接转载,但要保留文章原来出处:)

博客园:http://www.cnblogs.com

农民伯伯:
http://over140.cnblogs.com 

 

正文

一、系列

1.1
【Parse】开发笔记(1)——
准备

1.2
【Parse】开发笔记(2)—— 从Mysql导入数据到Parse
Data

1.3
【Parse】开发笔记(3)——
实现查找附近的功效(LBS) 

  

二、准备

2.1 官网的Android
Push Notifications

https://www.parse.com/tutorials/android-push-notifications

2.2  【Android】Parse
Push快速入门指南

http://www.cnblogs.com/over140/archive/2013/03/19/2968560.html  

 

三、 功能

3.1 准备

AndroidManifest.xml

    <uses-permission android:name=”android.permission.INTERNET” />
    <uses-permission android:name=”android.permission.ACCESS_NETWORK_STATE” />
    <uses-permission android:name=”android.permission.RECEIVE_BOOT_COMPLETED” />
    <uses-permission android:name=”android.permission.VIBRATE” />

    <application
        android:name=”com.nmbb.lol.LOLApplication”
        android:allowBackup=”true”
        android:icon=”@drawable/app_icon”
        android:label=”@string/app_name”
        android:theme=”@style/AppTheme” >
        <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=”.receiver.ReceiverPush” >
            <intent-filter>
                <action android:name=”com.nmbb.lol.push” />
            </intent-filter>
        </receiver>
    </application>

 
代码说明:

瞩目,这就是代码有,加入项目开相应的调。 

a)、android.permission.RECEIVE_BOOT_COMPLETED权限非必须,可以把此和ParseBoradcastReceiver的BOOT_COMPLETED一起错过丢,但再开后可能就无法接受推送了,需要开拓一坏当才可。(我就是想这样!能少用一个权力就丢一个)注意消息未会见丢,会于产一致浅联合收。

b)、PushService必须使注册,否则无法采取 

c)、ReceiverPush后面要动,主要用来收纳播放,方便自己处理推送数据。 

 

Application

    @Override
    public void onCreate() {
        super.onCreate();

        Parse.initialize(this, “Application ID”,
                “Client Key”);
        // PushService.subscribe(this, “”, WebActivity.class);
        PushService.setDefaultPushCallback(this, WebActivity.class);
        ParseInstallation.getCurrentInstallation().saveInBackground();
    }

 代码说明:

除了配置AndroidManifest.xml,仅于Application的onCreate中加入这三履行代码即可。

a)、注意最后一实施好像是新近创新加上的,否则无法接收到Push,大意是登记注册的意,可以以Data
Browser中目标Installation中看出。

b)、setDefaultPushCallback第二只参数,表示点击Notifacation时处理的Activity

 

3.2
以通知(Notification)的花样显得推送信息(状态栏显示通知)

进入Parse后台的Push Notifications,点击Send a push 

3.2.1
以信(Message)的款型发送

ACCESS 1

通过查阅发送报告,发现实际为是为JSON数据发送的,不过就包含alert节点。 

 

3.2.2 以JSON形式发送 

ACCESS 2 

title和alert分别对应Android
Notification对象的题和信,不装title就默认显示APP的名称。

说到底点击Send
Notification就得了,顺利的口舌可观看装备上收到Notification。

 

3.2.3ACCESS 处理通报消息

当点击状态栏的通告时,会默认跳转至setDefaultPushCallback指定的Activity中,可以起Intent中解析Push的数额:

 ACCESS 3

直从getIntent().getStringExtra(“com.parse.Data”)即可取到上面的音讯,然后就作业逻辑即可。

 

3.2
自定义为广播的款型后台接受推送信息(状态栏不显通知)

仅仅设因JSON格式发送,并且不带有title和alert节点,即无见面展示Notification了(大家可以反编译看一下StandardPushCallback类),那么什么样接受Push的数量为?

3.2.1
首先注册Boradcast,设置Intent-filter,这里安装的action是com.nmbb.lol.push,代码上面都让来。

3.2.2 json数据:

{“action”:”com.nmbb.lol.push”,”url”:”http://v.youku.com/player/getRealM3U8/vid/XNTU1NjkzMDAw/type/mp4/v.m3u8"}

非得包含action和配合的价,才能够经受到推送广播。接下来就得做乃想做的业务了!这里贴一下Boradcast代码:

public class ReceiverPush extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        if (context != null && intent != null
                && “com.nmbb.lol.push”.equals(intent.getAction())) {
            try {
                JSONObject json = new JSONObject(intent.getExtras().getString(
                        “com.parse.Data”));
                String title = json.optString(“title”);
                String message = json.optString(“message”);
                String action = json.optString(“action”);
                String url = json.optString(“url”);
                
                ToastUtils.showLongToast(message);
                
            } catch (JSONException e) {
                Logger.e(e);
            }
        }
    }

}

 

3.3 其他注意

a).
发送信息时注意右上比的recipients的数额,表示收到推送用户之多少。

b).
注意在Settings中开启Client push

c).
今天尚撞一个特地意外的问题,死在了不至推送,不亮堂是休是跟APP名称设置为华语有提到,删了重建为个英文的同时吓了。 

 

四、文章

Android Push
Notifications In Parse: A deep
overview

 

相关文章