0

私はXamarin AndroidでAzure Notification Hubを使用しています。通常のシナリオで正常に動作し、登録済みのタグでプッシュ通知を受け取ることができますが、タグの更新やハブの再登録によって重複登録が作成されます。また、登録後に削除されたタグも通知を受けます。以下はRegistration Token(registrationId)GCMによって発行されたIDにクライアントアプリケーションを使用し、GCMから登録解除することなく、GCMから再登録する場合それは同じであってもよいし、同じAzure Notification Hub with Xamarin Androidでの重複登録

try 
{ 
    Hub.UnregisterAll(registrationId); 
} 
catch (Exception ex) 
{ 

} 

var tags = getting active tags 
try 
{ 
    var hubregistration = Hub.Register(registrationId, tags); 
} 
catch (Exception ex) 
{ 

} 

答えて

0

私の知る限りのサンプルスニペットです。あなたのコードに基づいて、登録モデルを使用しています。 Hub.UnregisterAll(registrationId)は、あなたの紺碧の通知ハブから同じ登録トークン(pnsHandle)で登録の登録を解除しようとします。

UnregisterAllに電話すると例外がキャプチャされることをお勧めします。また、あなたがこの問題を狭めるために、次のようにあなたのハブ内のすべての登録を表示および管理、その後、あなたの通知ハブを選択し、Visual Studioのからサーバーエクスプローラを活用できます。

注:あなたがしてチェックできます同一のPNS識別子(Registration Token)、同じクライアントアプリケーションの異なるタグ/ Azure登録ID、または異なるPNS識別子(Registration Token)を取得できるかどうかを調べてみてください。

あなたが同じクライアントアプリの異なるPNS識別子(Registration Token)を見つけた場合、私はあなたのクライアントアプリが前回Registration Tokenを保存し、最新のRegistration Tokenと比較する必要があると仮定し、UnregisterAll古いRegistration Token最初に一致しない場合は、登録新しいRegistration Token通知ハブを使用してください。

さらに、インストールモデルによって、登録が重複することを回避できます。詳細は、Registration managementを参照してください。

関連する問題