6

が正しいことを私に許してください。 Androidの用語集です。私はiOSの背景から来ているので、私はAndroidの世界で2つのことを正しく行う方法を学ぼうとしています。 Androidの Androidのメッセージ - 開発と配布の比較

  • ため

    1. コントロール"バッジ"Development"プッシュ通知" Distribution(生産)を介してを送信します。

    幸いにも私はStatus Bar Notificationsthis questionのおかげで使用する#1の答えを見つけました。

    今すぐ#2です。既にGCMの設定があり、登録されているすべての端末に通知を送信できます。ただし、すべてのユーザーの電話に通知を送信できるようにしたい場合や、「開発」デバイスにのみ通知を送信する場合があります。 iOSの場合、これはApp Store/Ad-Hoc環境(Distribution)からダウンロードされたデバイスと、デバイスにソースを準拠させるコンピュータに物理的に接続されたデバイス(Development)によって区別されます。 Androidにこれに似たものはありますか?

  • 答えて

    7

    Google Cloud Messagingの開発と配布には違いはありません。すべてのメッセージは、サーバーから同じGCMエンドポイントに送信されます。 開発デバイスと非開発デバイスを区別したい場合は、サーバーのDBで管理する必要があります(サーバーに格納されている登録IDごとに、開発デバイスかどうかを示すフラグを追加します) 。

    EDIT:

    実はそこに、あなたがすることができる何か他のものだ、私はわからないけれども、それはこのような良いアイデアです。アプリがGCMに登録すると、sender IDGoogle API project ID)が提供されます。開発リリースと本番リリースには2種類の異なるproject IDsを使用できます。登録プロセスによって返されたregistration IDsは、project IDに関連付けられています。サーバーからGCMメッセージを送信するときは、project IDに関連付けられたAPI keyを使用して送信します。開発project IDに関連付けられているAPI keyを使用する場合は、registration IDsのみがproject IDに結び付けられています(つまり、開発ビルドのあるデバイスに由来)。 「生産」のメッセージを送信するとはMismatchSenderIdというエラーになります(プロダクション環境ではサンドボックスデバイスのトークンが無効になり、逆も同様です)。あなたのロジックにGoogleからのエラーに頼っていたくないので、それは良い考えです。クライアントのサブセットにのみメッセージを送信する場合は、このサブセットをDBで管理する必要があります。

    関連する問題