0

ワークライト6.1からモバイルファースト7.1にワークライトプロジェクトをアップグレードしました。以前のプロジェクト(WL6.1)では、pushnotificationは正常に動作しています。プッシュ通知のためにアンドロイドプロジェクトにGoogle Playサービスを追加する意義は何ですか?

mobilefirstの場合、ibmチュートリアルを確認しているときに、Google PlayサービスをAndroidプロジェクトに追加するためのリンクが見つかりました。 pushnotificationについては

http://www.ibm.com/support/knowledgecenter/en/SSHS8R_7.1.0/com.ibm.worklight.dev.doc/devref/t_adding_google_play_services.html

、このステップは必要ですか?リンクごとに、アプリケーションのサイズが大きくなります。 Googleサービスライブラリを守ることの意義は何ですか?私はそれをスキップできますか?

7.1(グールサービスを追加することを除いて)mobilefirstでアンドロイドpushnotificationを設定した後、私は、サーバー側でこのエラーに直面しています

com.ibm.pushworks.server.notification.gcm.GCMMediator addTokenToAndroidKey FPWSE1079W: GCM push token '@@[email protected]@' is not added to GCM notification key. GCM Service invocation failed (reason: Error while invoking request) 
            com.ibm.pushworks.server.exceptions.GCMException: GCM Service invocation failed (reason: Error while invoking request) 
     at com.ibm.pushworks.server.notification.gcm.GCMSender.sendToGCM(GCMSender.java:392) 
     at com.ibm.pushworks.server.notification.gcm.GCMSender.addTokenToAndroidKey(GCMSender.java:364) 
     at com.ibm.pushworks.server.notification.gcm.GCMMediator.addTokenToAndroidKey(GCMMediator.java:206) 
     at com.ibm.pushworks.server.core.PushServiceImpl.getNotificationKey(PushServiceImpl.java:2160) 
     at com.ibm.pushworks.server.core.PushServiceImpl.registerDevice(PushServiceImpl.java:613) 
     at com.worklight.integration.services.impl.DataAccessServiceImpl.updateDeviceToken(DataAccessServiceImpl.java:473) 
     ...... 

    Caused by: org.apache.http.conn.HttpHostConnectException: Connect to android.googleapis.com:443 [android.googleapis.com/216.58.210.202, android.googleapis.com/216.58.210.234] failed: Connection refused: connect 
     at org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:142) 
     at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:319) 
     at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363) 
     at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:219) 
     at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) 
     at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) 
     at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) 
     at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) 
     at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82) 
     at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:106) 
     at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) 
     at com.ibm.pushworks.server.notification.gcm.GCMSender.sendToGCM(GCMSender.java:388) 
     ... 45 more 
    Caused by: java.net.ConnectException: Connection refused: connect 
     at java.net.PlainSocketImpl.socketConnect(Native Method) 
     at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:412) 
     at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:271) 
     at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:258) 
     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:376) 
     at java.net.Socket.connect(Socket.java:546) 
     at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:244) 
     at org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:125) 
     ... 56 more 

これはGoogle PlayのサービスへのGCMポート開放問題や関連することはできますか?

+0

これはネイティブアプリケーションですか、ハイブリッドアプリケーションですか? –

+0

ハイブリッドアプリケーション – John

答えて

1

GoogleではプロジェクトでGCM.jarの使用を非推奨としており、その観点からGoogle Playサービスライブラリを使用する必要があります。

IBM MobileFirstプラットフォームの場合、クラウド同期機能など(Googleによる)を使用する必要がある場合は、Google Playサービスライブラリが必要です。この機能が不要な場合は、ライブラリを追加しないでください。GCM.jarを使用するプッシュ通知用のMobileFirst SDKには組み込みの実装がまだ存在するためです。

注:

  1. MobileFirst財団8.0を起動するには、ライブラリーが必要になりました。
  2. v7.1では、組み込みフォールバックに関係なくライブラリを引き続き使用できますが、AndroidのProGuard機能を使用してクラスのサイズを減らして、デクスエラー(「クラスが多すぎます」)と一般的なサイズに縮小する。

ネットワークエラーとして、ネットワーク設定が不足しているようです(接続が拒否されました)。ドキュメントには、Googleが適切に機能するためにそれらを開いたりアクセスできるようにするために必要なアドレスやポートも記載されています。

関連する問題