3

私はアンドロイドクライアントでGCMを使用しています。私のアプリサーバーからAndroidクライアントに通知をプッシュできます。GCM - pubSubscribe not working

私はpubSub.subscribeメソッドを使用し、登録トークンとカスタムトピック名を "/ topics/mytopic"という形式で渡します。

  • 私がしようとするとキャッチ内部メソッドをラップし、それが例外をスローしません: は、ここで私はこれまで行われていますものです。
  • 私はFiddler経由でHTTPをデバッグしましたが、要求を送信していないときはデバッグしました。
  • トークンIDの情報をhttps://iid.googleapis.com/iid/info/IID_TOKENで取得しようとしましたが、クライアントの購読トピックは返されません。ここ

は、Androidの意図サービスのコードを公開:

GcmPubSub pubSub = GcmPubSub.getInstance(this); 
try 
{ 
    pubSub.subscribe(token, "/topics/mytopic",null); 
} catch (IOException e) 
{ 
    e.printStackTrace(); 
} 
+0

利用のPubSub = GcmPubSub.getInstance(getBaseContext())ではなく、「これ」。 – Dexter

+0

@Dexterはそれを試しましたが、まだ動作していません –

答えて

1

私はあなたがトピックにサブスクライブする方法を示しているthis example IntentServiceを見ているかどうかわからないです。それを調べて、あなたがどれだけ遠くにいるかを見てください。あなたがしようとしているもののように聞こえます。トークンを取得することがInstanceIDを使用して経由にする必要があり、トークン発行hereの解決策によると

InstanceID instanceID = InstanceID.getInstance(this); 
String token = instanceID.getToken(SENDER_ID,GoogleCloudMessaging.INSTANCE_ID_SCOPE, null); 

- そう、あなたが問題を取得:特にトークン文字列は、サブスクリプションで使用されているを作成される方法を確認してくださいトピックのサブスクリプションで

+0

私はそれを知っています。私は私の質問でpubSub.subscribeのちょうど私の問題を語った。 –

1

あなたはメインスレッドを使用している、あなたはAsyncTaskまたはIntentService

にご購読コードを追加する別のスレッド てみてくださいを使用する必要があります
+0

それは私のためにそれをキャッチした – Rippo