Google FCM推送服务在eclipse上跑起来!!

       由于公司现在有需求去集成GCM推送服务,当我集成了一半的时候,google开了个大会,然后就上了个听说很厉害(sha bi)的FCM来替代GCM推送服务,然后老大要求改FCM,我就泪奔了。。。坑爹一,搜遍全网参考资料只有API文档。。。坑爹二,人家用的gradle集成,你在eclipse上接入不了。本着用新不用旧的原则,我就搞了快一周终于搞定,本着服务大众的心态,本菜鸟将心得一步一步写出来给后面的童鞋,你们别再入坑啦!!我还是很喜欢AS和gradle的。-_-

      你们看,不是我说谎吧,GCM人家虽然会继续维护,但是FCM确实很强大,虽然不太好在eclipse+ant下使用


好啦,回归正题:

      第一步,去申请一个google账号。。这个你们就当废话看吧。

      第二步,你需要去Firebase上申请一个project,firebase集成了很多的功能,比如crash,ad之类的,我这里就只说FCM服务,申请地址在这里,这是一个很屌的地址


      第三步,选择Add..... Android app,然后填入你的应用包名,和你的证书的sha1的值,这个值具体可以去百度,我就不废话了


    接下来呢,会自动下载那个Json文件,那个文件在AS接入的时候直接放入应用下就可以了,但是我们是用eclipse嘛,当然就不行啦。你就放到自己项目的Assets文件夹下。我已经在我的工程中做了Json解析,不用你去填写,很屌是不是,咩哈哈哈!!

    最后,请去oschina 下载我已经集成好的Fcm服务的工程,引入工程后依赖。最后,只需要在你的Application中的onCreate方法中调用FcmPush.init(Context contex)这个方法就行了。具体其他使用过程可以克隆下工程后看一下README文件。

集成完毕后,运行你的项目,在控制台应该可以看到这个Log信息

记录下这个Token,到这里去new一个Message


把刚才那个Token复制到这里,发送就可以接收到推送服务了。


消息发送完之后,随着网络环境,应该挺快就能收到。就像这样。


这是FCM的文档,你们有兴趣可以去看了,要翻墙哒

https://firebase.google.com/docs/notifications/

这是我的git的地址,欢迎大家去clone这个项目使用,也欢迎大家去fork,希望大家帮我修正,我们一起进步。我知道我很水的。。。献丑啦!!

http://git.oschina.net/coolnan/GoogleFCM

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
服务器向 Android 客户端推送数据的一种常用方法是使用 Google Firebase Cloud Messaging(FCM服务FCMGoogle 提供的一项推送服务,可以让开发者向 Android 设备发送推送通知和数据消息。 以下是使用 FCM 向 Android 设备发送推送消息的一般步骤: 1. 创建 Firebase 项目并在 Android 应用中集成 FCM SDK。 2. 在 Firebase 控制台中创建一个新的 Firebase 消息传递服务。 3. 使用 FCM 的 API 向服务器发送推送消息。 4. 在 Android 应用中处理收到的推送消息。 下面是一个简单的示例,展示如何使用 FCM 向 Android 设备发送推送消息。 1. 创建 Firebase 项目并在 Android 应用中集成 FCM SDK。 首先,您需要在 Firebase 控制台中创建一个新的项目,并在 Android 应用中添加 FCM SDK 的依赖项。您可以按照 Firebase 文档中的指示完成这些步骤。 2. 在 Firebase 控制台中创建一个新的 Firebase 消息传递服务。 接下来,您需要在 Firebase 控制台中创建一个新的 Firebase 消息传递服务,并获取一个用于身份验证的服务器密钥。您可以在 Firebase 控制台的“设置”菜单中找到这些信息。 3. 使用 FCM 的 API 向服务器发送推送消息。 使用以下代码,向 FCM 服务器发送一个消息: ```java URL url = new URL("https://fcm.googleapis.com/fcm/send"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestProperty("Authorization", "key=" + SERVER_KEY); conn.setRequestProperty("Content-Type", "application/json"); conn.setRequestMethod("POST"); conn.setDoOutput(true); JSONObject json = new JSONObject(); json.put("to", DEVICE_TOKEN); JSONObject info = new JSONObject(); info.put("title", "FCM Notification Title"); // Notification title info.put("body", "Hello Test notification"); // Notification body info.put("click_action", "OPEN_APP"); json.put("notification", info); OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream()); wr.write(json.toString()); wr.flush(); ``` 在这个示例中,我们首先创建一个 URL 对象,然后使用它创建一个 HttpURLConnection 对象。我们设置请求方法为 POST,然后设置请求头中的身份验证密钥和内容类型。接下来,我们创建一个 JSON 对象,设置推送目标和消息内容。最后,我们使用 OutputStreamWriter 将 JSON 对象写入请求的正文中,并发送请求。 4. 在 Android 应用中处理收到的推送消息。 在 Android 应用中,您需要创建一个 FirebaseMessagingService 类,并在其中重写 onMessageReceived 方法。在这个方法中,您可以处理收到的推送消息,并根据需要显示通知或执行其他操作。 ```java public class MyFirebaseMessagingService extends FirebaseMessagingService { @Override public void onMessageReceived(RemoteMessage remoteMessage) { // 处理收到的推送消息 String title = remoteMessage.getNotification().getTitle(); String body = remoteMessage.getNotification().getBody(); Intent intent = new Intent(this, MainActivity.class); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); NotificationCompat.Builder builder = new NotificationCompat.Builder(this, "default") .setSmallIcon(R.drawable.ic_launcher_foreground) .setContentTitle(title) .setContentText(body) .setPriority(NotificationCompat.PRIORITY_DEFAULT) .setContentIntent(pendingIntent) .setAutoCancel(true); NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this); notificationManager.notify(0, builder.build()); } } ``` 在这个示例中,我们重写了 onMessageReceived 方法,并从 RemoteMessage 对象中获取通知标题和内容。然后,我们创建一个 PendingIntent 对象,并使用 NotificationCompat 构建器创建一个通知对象。最后,我们使用 NotificationManagerCompat 将通知显示在设备上。 请注意,这个示例中的代码仅仅是处理收到的推送消息,并显示一个通知。如果需要执行其他操作,还需要进行额外的处理。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值