当前位置: 首页 > 知识库问答 >
问题:

Google Cloud消息传递-示例服务器

晋鹤轩
2023-03-14

我需要一个用于谷歌云消息传递的示例应用程序。使用示例服务器来测试我的应用程序,任何人都可以帮助我吗?

我需要一个样本服务器来测试我的代码,我已经写了代码,但我不知道它是否会工作。我不知道服务器端编码,所以任何人都可以在这方面帮助我。这是我的代码

意向服务

package com.example.pushnotificationsample;

import android.content.Context;

public class GCMIntentService extends GCMBaseIntentService {

protected GCMIntentService(String senderId) {
    super(senderId);
    // TODO Auto-generated constructor stub
}

@Override
protected void onError(Context arg0, String arg1) {
    // TODO Auto-generated method stub
}

@Override
protected void onMessage(Context arg0, Intent msgIntent) {
    // TODO Auto-generated method stub
    Log.d("GCM", "RECIEVED A MESSAGE");
  //        String msg=msgIntent.getStringExtra("Message");
    Log.d("GCM", msgIntent.toString());
    // Get the data from intent and send to notificaion bar

}

@Override
protected void onRegistered(Context arg0, String arg1) {
    // TODO Auto-generated method stub
}

@Override
protected void onUnregistered(Context arg0, String arg1) {
    // TODO Auto-generated method stub
}
}

我的主要活动

package com.example.pushnotificationsample;

import android.app.Activity;
import com.google.android.gcm.GCMRegistrar;
import android.os.Bundle;
import android.util.Log;

public class MainActivity  extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    GCMRegistrar.checkDevice(this);
   // GCMRegistrar.checkManifest(this);
    final String regId = GCMRegistrar.getRegistrationId(this);
    if (regId.equals("")) {
      GCMRegistrar.register(this, "555817657362");
      Log.v("Msg", "registered");
    } else {
      Log.v("Msg", "Already registered");
    }
}


}

共有3个答案

弓俊晖
2023-03-14

我们在GitHub上有一个示例客户端:https://github.com/indigorose/airbop-client(基于GCM客户端示例),它与我们基于GCM的服务AirBop:http://www.airbop.com一起工作,您可以免费测试。

唐焕
2023-03-14

“curl”命令行工具可用于向注册 GCM 的设备发送消息。

curl -X POST \
  -H "Authorization: key= <YOUR_AUTHORIZATION_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
  "registration_ids": [
    "<YOUR_DEVICE_TOKEN>"
  ],
  "data": {
    "message": "<YOUR_MESSAGE>"
  }
}' \
  https://android.googleapis.com/gcm/send

请参阅此博客文章以了解更多详细信息。http://www.zinniakhan.com/2014/07/check-google-cloud-messaging-gcm-client.html.

段恩
2023-03-14

您需要通过Android软件开发工具包下载。转到窗口 -

完成后,您可以查看:< code > Android-SDK/extras/Google/GCM/samples

或者你可以试试这个(我自己上传的):gcm

对于服务器端,请检查以下答案:https://stackoverflow.com/a/11253231/554740

 类似资料:
  • 我有相当多的Apache Camel(路由/中介/Orchestation Engine;轻量级ESB)经验,正在绞尽脑汁地试图理解AKKA: 调度程序(,,) 路由器 池 组 事件总线 根据文件: 调度员是: 将路由创建为子参与者,并在路由终止时将其从路由器中删除的路由器的[一种类型]。 组包括: [一种类型的]执行元[其中路由]是在路由器外部创建的,路由器使用执行元选择将消息发送到指定路径,而

  • 我听说亚马逊使用HTTP作为其基于微服务的架构。另一种方法是使用RabbitMQ或Solace Systems这样的消息传递系统。我个人对基于Solace的微服务架构有经验,但从未使用过REST。 知道像Amazon、Netflix、UK Gov等各种大联盟实现使用什么吗? 其他方面是,在微服务中,还需要以下东西(除了其他东西): *模式匹配 *异步消息传递。接收系统可能已关闭 *发布订阅 *缓存

  • 我正在计划开发一个基于微服务的架构应用程序,当我阅读Ronnie Mitra的书《微服务架构》时,我决定使用Kafka进行内部通信;马特·麦克拉蒂;迈克·阿蒙森;伊拉克利·纳达雷什维利说: 让微服务直接与消息代理(如RabbitMQ等)交互很少是个好主意。如果两个微服务通过消息队列通道直接通信,那么它们共享一个数据空间(通道),我们已经详细讨论了两个微服务共享一个数据空间的弊病。相反,我们可以做的

  • 新服务器密钥是否仅限于消息传递? 说明:在firebase项目设置中,我可以获得“旧”和新服务器密钥(云消息选项卡)。旧版本无法通过发送推送通知https://fcm.googleapis.com/fcm/send 因为响应说它是一个遗留服务器密钥。但在这里,它可以被限制在某些谷歌API中https://console.developers.google.com/apis. 谷歌API控制台中没有

  • 我已经从Firebase中导入的Google项目中删除了名为Server key(由Google Service自动创建)的api密钥。 现在,项目设置中的字段服务器密钥-云消息传递为空。我也不能发送通知,我从服务器上得到一个未经授权的401错误。 我能做什么?

  • 我目前正在开发一个Android应用程序,我想包括Firebase云消息传递。我计划让树莓派每5分钟左右检查一个网站,并在发生变化时发送推送通知。在官方留档中,他们说我需要一个应用服务器才能通过Firebase发送消息。 这是否意味着我需要让我的Raspi全天候作为服务器运行,并且需要一个静态的IP/域?还是让我的Raspi通过Api(https://fcm.googleapis.com/fcm/