3

Google Play ストアからリアルタイムの開発者通知を受け取りません。次の手順に従いました。

  1. GOOGLE_APPLICATION_CREDENTIALSを設定する

  2. メッセージのリスナーをセットアップします。メッセージ受信者のコード

    public List<ReceivedMessage> recieveAndroidNotification() throws IOException {
    
        String subscriptionId = "my-project-id";
        String projectId = "my-subscription-id";
        SubscriberStubSettings subscriberStubSettings = SubscriberStubSettings.newBuilder().build();
        try (SubscriberStub subscriber = GrpcSubscriberStub.create(subscriberStubSettings)) {
            // String projectId = "my-project-id";
            // String subscriptionId = "my-subscription-id";
            int numOfMessages = 10; // max number of messages to be pulled
            String subscriptionName = ProjectSubscriptionName.format(projectId, subscriptionId);
            PullRequest pullRequest = PullRequest.newBuilder().setMaxMessages(numOfMessages).setReturnImmediately(false) // return immediately if messages are not available
                    .setSubscription(subscriptionName).build();
    
            // use pullCallable().futureCall to asynchronously perform this operation
            PullResponse pullResponse = subscriber.pullCallable().call(pullRequest);
            List<String> ackIds = new ArrayList<>();
            for (ReceivedMessage message : pullResponse.getReceivedMessagesList()) {
                // handle received message
                // ...
                System.out.println("Message Recived");
                ackIds.add(message.getAckId());
            }
            // acknowledge received messages
            AcknowledgeRequest acknowledgeRequest = AcknowledgeRequest.newBuilder().setSubscription(subscriptionName).addAllAckIds(ackIds)
                    .build();
            // use acknowledgeCallable().futureCall to asynchronously perform this operation
            subscriber.acknowledgeCallable().call(acknowledgeRequest);
            return pullResponse.getReceivedMessagesList();
        }
    }
    
  3. テスト通知を Cloud Pub/Sub トピックに発行して、リアルタイム通知を受け取る前にそのトピックのセットアップと構成を検証します。(通知は来ていません)

  4. コードを手動で実行すると、エラーが送信されます。

    WARN [2018-06-06 06:37:02,479] com.google.auth.oauth2.ComputeEngineCredentials: Google Compute Engine で実行しているかどうかを検出できませんでした。

何か不足していますか?

4

0 に答える 0