parse 推送_使用Parse的Android推送通知

parse 推送

Android推送通知是一项用于直接向Android智能手机发送消息的服务。 使用此服务,开发人员可以在数据可用后立即将其发送到Android应用程序 ,这样,Android应用程序就不必向服务器发出请求即可知道是否有新信息可用。

使用Android推送服务,应用程序可以节省智能手机的电量并减少网络流量:用户体验也得到了改善。

有几种不同的方法可用于实现Android推送通知 ,标准方法是使用GCM(Google云消息传递),但还有一些非常有趣的替代方法,例如Parse.com ,更易于使用。

解析设置项目

首先是创建一个Parse帐户并配置一个新应用。 这很容易。 完成所有工作后,就该在Android Studio中创建一个新项目,并修改build.grade以包含解析库了:

dependencies {
    ...
    compile 'com.parse.bolts:bolts-android:1.2.1'
    compile 'com.parse:parse-android:1.10.1'
}

现在,您可以按照Parse.com提供教程进行操作 。 在我们的例子中,我们创建了一个ParseTutorialApplication来扩展Application并将其用于配置Parse连接:

public class ParseTutorialApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        System.out.println("Application");
        Parse.initialize(this, "your key", "your key");
        ParseInstallation.getCurrentInstallation().saveInBackground();
    }
}

现在,您将使用库提供的默认接收器,在下一段中,您将看到如何自定义它。

如果项目配置正确,则可以尝试使用Web界面发送推送通知:

Schermata 2015-09-08 alle 22.20.20

在您的Android模拟器中,您应该收到以下通知:

设备-2015-09-01-225504

请确保模拟器包含Google API。

解析自定义接收器:JSON数据

现在是时候定制接收器了,这样我们就可以支持定制消息,而不仅仅是文本消息。 自定义接收方,可以实现应用逻辑,例如解析传入消息和显示自定义消息等。 回顾Manifest.xml,作为广播接收器,它使用了标准接收器com.parse.ParsePushBroadcastReceiver ,现在要自定义其行为,我们可以将其子类化:

public class JSONCustomReceiver extends ParsePushBroadcastReceiver {
    @Override
    protected void onPushReceive(Context context, Intent intent) {
        .....
    }
}

并覆盖onPushReceiver以便在消息可用时实现应用程序逻辑。 让我们假设消息是这样的JSON格式:

{"message":"hello phone"}

onPushReceiver ,应用程序解析消息:

private String getData(String jsonData) {
        // Parse JSON Data
        try {
            System.out.println("JSON Data ["+jsonData+"]");
            JSONObject obj = new JSONObject(jsonData);

            return obj.getString("message");
        }
        catch(JSONException jse) {
            jse.printStackTrace();
        }

        return "";
}

一旦消息内容可用并从JSON消息中提取,应用程序就会使用NotificationCompatNotificationManager将其通知给用户。

// Create custom notification
NotificationCompat.Builder  builder = new NotificationCompat.Builder(context)
  .setSmallIcon(R.drawable.ic_not_alert)
  .setContentText(data)
  .setContentTitle("Notification from Parse")
  .setContentIntent(pendingIntent);

Notification notification = builder.build();
NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);

其中, pendingIntent是在用户触摸推送通知时启动“活动”的Intent的实例:

// Add custom intent
Intent cIntent = new Intent(context, MainActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, 
                              cIntent, PendingIntent.FLAG_UPDATE_CURRENT);

最后,应用程序通知消息:

nm.notify(1410, notification);

最终结果如下图所示:

设备-2015-09-06-222013

注意,我们也自定义了通知图标。

在本文的结尾,您知道如何使用Parse.com发送android推送消息,在接下来的文章中,您将学习如何使用推送通知来发送由Arduino等智能控制器生成的消息,敬请期待!

翻译自: https://www.javacodegeeks.com/2015/09/android-push-notification-using-parse.html

parse 推送

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值