首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >StackMob Java客户端

StackMob Java客户端
EN

Stack Overflow用户
提问于 2012-05-09 23:50:30
回答 1查看 324关注 0票数 1

我目前正在使用stackmob来发送android和iOS的推送通知。我正在使用他们的java客户端发送推送通知。

我给出的是正确的API_KEY和API_SECRET。deviceToken也是正确的,但它有时会给我一个401错误,有时会给我一个200状态码,但我不能收到任何推送通知。这是我的示例代码。

公共类TestSample {

代码语言:javascript
复制
public static String API_KEY = "Some key";

public static String API_SECRET = "Some key";

public static String USER_OBJECT_NAME = "user";
public static int API_VERSION = 0;

public static void main(String[] args) {

       new TestSample();
}

public TestSample()
{       
    String deviceToken="Token";
    init();
    StackMob stackmob=getStackMobInstance();

    stackmob.registerForPushWithUser("rathi", deviceToken, new StackMobRawCallback() {

        @Override
        public void done(HttpVerb arg0, String arg1,
                List<Entry<String, String>> arg2, String arg3, Integer arg4,
                List<Entry<String, String>> arg5, byte[] arg6) {

             System.out.println("HEree1");
        }
    });


    StackMobPushToken x=new StackMobPushToken(registrationID, TokenType.iOS);

    final Map<String, String> payload = new HashMap<String, String>();
    ArrayList<StackMobPushToken>tokens=new ArrayList<StackMobPushToken>(); 
    tokens.add(x);

      payload.put("badge", "1");
      payload.put("sound", "customsound.wav");
      payload.put("alert", "Hello from Stackmob!");
      payload.put("other", "stuff");

    stackmob.pushToTokens(payload, tokens, new StackMobRawCallback() {

        @Override
        public void done(HttpVerb arg0, String arg1,
                List<Entry<String, String>> arg2, String arg3, Integer arg4,
                List<Entry<String, String>> arg5, byte[] arg6) {
             System.out.println("HEree");

        }
    });
}


public  void init() {
    StackMob.setStackMob(new StackMob(API_KEY, API_SECRET, USER_OBJECT_NAME, API_VERSION));
    //StackMob.getStackMob().setSession(new StackMobAndroidSession(c, StackMob.getStackMob().getSession()));
    StackMob.getStackMob().setSession(new StackMobSession(StackMob.getStackMob().getSession()));

    StackMob.setUserAgentName("iOS");
    StackMob.setLogger(new StackMobLogger());
    StackMob.getLogger().setLogging(true);
    StackMobRequest.setCookieStore(new StackMobCookieStore());

}

public static StackMob getStackMobInstance() {
    return StackMob.getStackMob();
}

}

EN

回答 1

Stack Overflow用户

发布于 2012-06-19 01:29:49

下面是一些评论:

  • ,这段代码到底应该做什么?首先,您使用伪造的设备令牌"Token"注册用户"rathi"。然后,向似乎没有在任何地方定义的令牌registrationID发送推送。您是否期望在java客户端中显示推送通知?整个推送通知概念都绑定到phones
  • 如果registrationID指的是之前在电话上注册的令牌,那么您使用它进行的呼叫应该是有效的。通常,我希望像您这样的客户端会调用pushToUsers()broadcastPushNotification(),而不是直接处理令牌。StackMob应用程序接口旨在抽象
  • 的那些实现细节如果你仍然有问题,你能发布你得到的控制台输出吗?我看到你已经打开了日志记录。更新到最新的软件开发工具包也总是不错的。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10519575

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档