2017-05-26 20 views
1

私はアンドロイドアプリとスプリングバックエンドでfirebase通知を使用しています。Firebaseレスポンス - ヌル値応答

すべてうまくいきましたが、テスト用にGoogle Playストアにアンドロイド版をリリースした後、何かが間違っていた可能性があります。今、私はこのレスポンスを持っている:

​​

通知が送信され、すべてが正常に動作しますが、なぜ私は私の春のバックエンドでのnull値を取得していますか?

マイバックエンドのJavaスプリングコード:私はここにnullポインタを取得

@RequestMapping(value = "/send", method = RequestMethod.GET, 
    produces = "application/json") 
    public ResponseEntity<String> send() { 


    JSONObject body = new JSONObject(); 
    try { 

     body.put("to", "/topics/photos"); 
     body.put("priority", "high"); 


     JSONObject notification = new JSONObject(); 
     notification.put("body", "body string here"); 
     notification.put("title", "title string here"); 


     JSONObject data = new JSONObject(); 
     data.put("lat", "value1"); 
     data.put("lng", "value2"); 

     body.put("notification", notification); 

     body.put("data", data); 

    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 

    HttpEntity<String> request = new HttpEntity<>(body.toString()); 

    CompletableFuture<FirebaseResponse> pushNotification = androidPushNotificationsService.send(request); 
    CompletableFuture.allOf(pushNotification).join(); 

    try { 
     FirebaseResponse firebaseResponse = pushNotification.get(); 
     if (firebaseResponse.getSuccess() == 1) { 
      log.info("push notification sent ok!"); 
     } else { 
      log.error("error sending push notifications: " + firebaseResponse.toString()); 
     } 
     return new ResponseEntity<>(firebaseResponse.toString(), HttpStatus.OK); 

    } catch (InterruptedException e) { 
     e.printStackTrace(); 
    } catch (ExecutionException e) { 
     e.printStackTrace(); 
    } 
    return new ResponseEntity<>("the push notification cannot be send.", HttpStatus.BAD_REQUEST); 
} 

、ヌル成功です:

firebaseResponse.getSuccess() 

原因は何ですか?プロジェクトのfirebaseコンソールにトピック「写真」が定義されています。今日まで、すべてがうまくいっていたのですが、何が問題になるのでしょうか?本当に私を奇妙に思う。

答えて

0

複数のデプロイメント環境が設定されている可能性があります。プレイストアでアプリケーションを起動したときに、本番環境とファイアベースに変更しただけで、開発時にデータが追加されました。これは一度私にとって問題だった、私はdevのデータを設定し、私はクライアントに1つのバージョンをリリースしたとき、アプリケーションはデータなし(ステージングは​​空だった)でした。

関連する問題